gnome-hearts-0.3/0000777000175000017500000000000011042174157010754 500000000000000gnome-hearts-0.3/pixmaps/0000777000175000017500000000000011042174156012434 500000000000000gnome-hearts-0.3/pixmaps/baize.png0000644000175000017500000000072611042105052014142 00000000000000PNG  IHDR22?gAMA1_IDATxˎ0c $3삲ymu$EƘ04h. J)\8}Yk-]F3˲8y۶;0`&Icu.˒q ZTIs:(pq$MSv85h)˒iq %3{OZ<F\Dv]dEv]dEv]dEv]dEv]dEv]dEv]dEv?t*tIENDB`gnome-hearts-0.3/pixmaps/gnome-hearts-small.png0000644000175000017500000000161311042105052016543 00000000000000PNG  IHDRVΎWbKGD pHYs  ~tIMEp5StEXtCommentCreated with The GIMPd%nIDAT8˕k\U?IҌә$ֶA$J`(*]JA\ B]vQB$`u Ai!Mۤffޯɛ"qEp9ps&m0}+&L٧077GTcJ(AwDmfIez:\ZZbdL"PJ'vA . ?.&^ {)n}OHZ?huZCt%.HJ$a=$$~_@Jd~Soޟ' Qytƿ_+"k|E9{ᩣǺ ]f晉Tʬ~ Cz "Y_h<`ZFzc# bYT3gD gnome-hearts-0.3/pixmaps/gnome-hearts.png0000644000175000017500000000517711042105052015446 00000000000000PNG  IHDR00WbKGDC pHYs  ~tIME // IDATxypU?{L&L2I8#JI87ދ ^(UVVm֖ZJ e(,,I !7䞫1G&2:Vm~xO s @pfm&aCU"2\om*> )%R"0MMcOA ?/yԭx߯%4²!|A.|=Ghs)Wti6rQh~'w9իWhPuH';o;DD=EEd j ڞEʹ؎v;!tڦϴ$t*\?ޡ~7r"HЙ@( x<Ẑ7wu0$PHGunk&O/\4^D߰ Ue׮|_y׋ HS8y4'B .ʣ|3<=!=7cjh{5QPPٳgzl$iqanX٠ú3Ͼ4t:y?zW ,-` <ؾ-2Xb+WܹsTMN=pxd#[QY{^ѣnw^H9 f̘'رk*&&%W EA(=`5,],2#A}>L\+"XJ5\hTmDF|cl}?a D 0LOKK >Ӕ@/8BY7dggs4-<"%%%̚uw\fy]%{3# Ӎkd\\܏o_=3y*rגP-u tXH#=<?+V&@J:,9`(Si0l${@jyk5%%x<X,]c/xul㦁^(B`["~x} [> %D4pͧR4#'Aػܮ.gezu%,ZhNQB0q|*-q/E,!ALMbln'؊'Co R 2gW!L}6-ֶ_rb-.B(X2F|frBŏD؁iH BuBu7Jx(=->3)27Ѓ:!1 S3!B^ ]1Z֖gOvzf=@ӎ'3dizX)QTA@Xq [$NW#СiRDbLB~C35'!7X.mϛ *1:%|8.3(O'W' ah:~ 39}Q?V {qJԺevz};pUabtiBX 2xt|y=\(;l;/&_3 嗋#deX4AJ eF۴uM幱퉚_GTƕK Pdtf4Jnj?}nZ D&B lt*,,G)t%9Gd|ߊ?F@WX,1u0tl[-MvR˸ ),,`=X˻W.z+-BqDypc +;Sni S891LR^>V.}qMI#oDqHBkom;. 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 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 $1 != '--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 $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac 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. -*|$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 $1 != '--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, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; 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-end: "$" # End: gnome-hearts-0.3/src/0000777000175000017500000000000011042174157011543 500000000000000gnome-hearts-0.3/src/player-api.h0000644000175000017500000000171711042105054013667 00000000000000/* * Hearts - player-api.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef PLAYER_API_H #define PLAYER_API_H #include void python_start(void); void python_stop(void); PyMODINIT_FUNC initplayer_api(void); #endif /* PLAYER_API_H */ gnome-hearts-0.3/src/preimage.c0000644000175000017500000000401011042105054013375 00000000000000/* * Hearts - preimage.c * Copyright 2006 Sander Marechal * * 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. */ #include "preimage.h" /* Create a new primage */ Preimage* preimage_new(void) { Preimage *preimage; preimage = g_new(Preimage, 1); preimage->width = 0; preimage->height = 0; preimage->pixbuf = NULL; return preimage; } /* Create a new preimage from a file, using a loader */ Preimage* preimage_new_from_file(const gchar *file) { Preimage *preimage; GError *error = NULL; if (file == NULL) return NULL; preimage = preimage_new(); preimage->pixbuf = gdk_pixbuf_new_from_file(file, &error); if (preimage->pixbuf == NULL) { printf("**Error**: %s", error->message); g_assert_not_reached(); } preimage->width = gdk_pixbuf_get_width(preimage->pixbuf); preimage->height = gdk_pixbuf_get_height(preimage->pixbuf); return preimage; } /* Render the preimage at the requested width and height */ GdkPixbuf* preimage_render(Preimage *preimage, gint width, gint height) { GdkPixbuf *pixbuf; g_return_val_if_fail (width > 0 && height > 0, NULL); g_return_val_if_fail (preimage != NULL, NULL); pixbuf = gdk_pixbuf_scale_simple (preimage->pixbuf, width, height, GDK_INTERP_BILINEAR); return pixbuf; } /* Free the preimage */ void preimage_free(Preimage *preimage) { g_object_unref(preimage->pixbuf); g_free(preimage); } gnome-hearts-0.3/src/background.h0000644000175000017500000000225311042105054013737 00000000000000/* * Hearts - background.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef BACKGROUND_H #define BACKGROUND_H #include #include typedef struct _Background { GdkPixbuf *original; GdkPixbuf *scaled; GdkGC *gc; } Background; extern Background bg; void background_load(gchar* file); void background_flush(gboolean force); void background_render(GdkPixmap *target, gint x, gint y, gint width, gint height); void background_free(void); #endif gnome-hearts-0.3/src/preimage.h0000644000175000017500000000226111042105054013410 00000000000000/* * Hearts - preimage.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef PREIMAGE_H #define PREIMAGE_H #include /* The Preimage struct */ typedef struct _Preimage { gint width; gint height; GdkPixbuf *pixbuf; } Preimage; Preimage* preimage_new (void); Preimage* preimage_new_from_file (const gchar *file); GdkPixbuf* preimage_render (Preimage *preimage, gint width, gint height); void preimage_free (Preimage *preimage); #endif gnome-hearts-0.3/src/cards.c0000644000175000017500000004363511042105054012720 00000000000000/* * Hearts - cards.c * Copyright 2006 Sander Marechal * * 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. */ #include #include "cfg.h" #include "cards.h" #include "player.h" /* Return the name of a card */ gchar* card_get_name(Card *card) { gchar *name = NULL; if (card == NULL) return NULL; switch (card->suit) { case CARDS_CLUBS: switch (card->rank) { case CARD_ACE_HIGH: case CARD_ACE: name = _("the ace of clubs"); break; case CARD_TWO: name = _("the two of clubs"); break; case CARD_THREE: name = _("the three of clubs"); break; case CARD_FOUR: name = _("the four of clubs"); break; case CARD_FIVE: name = _("the five of clubs"); break; case CARD_SIX: name = _("the six of clubs"); break; case CARD_SEVEN: name = _("the seven of clubs"); break; case CARD_EIGHT: name = _("the eight of clubs"); break; case CARD_NINE: name = _("the nine of clubs"); break; case CARD_TEN: name = _("the ten of clubs"); break; case CARD_JACK: name = _("the jack of clubs"); break; case CARD_QUEEN: name = _("the queen of clubs"); break; case CARD_KING: name = _("the king of clubs"); break; } return name; case CARDS_DIAMONDS: switch (card->rank) { case CARD_ACE_HIGH: case CARD_ACE: name = _("the ace of diamonds"); break; case CARD_TWO: name = _("the two of diamonds"); break; case CARD_THREE: name = _("the three of diamonds"); break; case CARD_FOUR: name = _("the four of diamonds"); break; case CARD_FIVE: name = _("the five of diamonds"); break; case CARD_SIX: name = _("the six of diamonds"); break; case CARD_SEVEN: name = _("the seven of diamonds"); break; case CARD_EIGHT: name = _("the eight of diamonds"); break; case CARD_NINE: name = _("the nine of diamonds"); break; case CARD_TEN: name = _("the ten of diamonds"); break; case CARD_JACK: name = _("the jack of diamonds"); break; case CARD_QUEEN: name = _("the queen of diamonds"); break; case CARD_KING: name = _("the king of diamonds"); break; } return name; case CARDS_SPADES: switch (card->rank) { case CARD_ACE_HIGH: /* Motörhead! :-) */ case CARD_ACE: name = _("the ace of spades"); break; case CARD_TWO: name = _("the two of spades"); break; case CARD_THREE: name = _("the three of spades"); break; case CARD_FOUR: name = _("the four of spades"); break; case CARD_FIVE: name = _("the five of spades"); break; case CARD_SIX: name = _("the six of spades"); break; case CARD_SEVEN: name = _("the seven of spades"); break; case CARD_EIGHT: name = _("the eight of spades"); break; case CARD_NINE: name = _("the nine of spades"); break; case CARD_TEN: name = _("the ten of spades"); break; case CARD_JACK: name = _("the jack of spades"); break; case CARD_QUEEN: name = _("the queen of spades"); break; case CARD_KING: name = _("the king of spades"); break; } return name; case CARDS_HEARTS: switch (card->rank) { case CARD_ACE_HIGH: case CARD_ACE: name = _("the ace of hearts"); break; case CARD_TWO: name = _("the two of hearts"); break; case CARD_THREE: name = _("the three of hearts"); break; case CARD_FOUR: name = _("the four of hearts"); break; case CARD_FIVE: name = _("the five of hearts"); break; case CARD_SIX: name = _("the six of hearts"); break; case CARD_SEVEN: name = _("the seven of hearts"); break; case CARD_EIGHT: name = _("the eight of hearts"); break; case CARD_NINE: name = _("the nine of hearts"); break; case CARD_TEN: name = _("the ten of hearts"); break; case CARD_JACK: name = _("the jack of hearts"); break; case CARD_QUEEN: name = _("the queen of hearts"); break; case CARD_KING: name = _("the king of hearts"); break; } return name; } g_assert_not_reached(); } /* Get the point value of a linked list of cards */ gint cards_get_points(GList *list) { GList *l; /* Figure out how many point cards are in the list */ gint point_cards = 0; for (l = list; l; l = l->next) { Card* card = l->data; if (card == NULL) continue; if (card->suit == CARDS_HEARTS || (card->suit == CARDS_SPADES && card->rank == CARD_QUEEN)) point_cards ++; } /* Shooting the moon: substract points for hearts and the Queen of spades */ gint modifier = point_cards == 14 ? -1 : 1; /* Shooting the sun: substract double points for hearts and the Queen of spades */ if (g_list_length(list) == 52) modifier = -2; gint score = 0; for (l = list; l; l = l->next) { Card* card = l->data; if (card == NULL) continue; /* Hearts add points */ if (card->suit == CARDS_HEARTS) { if (cfg.ruleset == RULESET_SPOT_HEARTS) /* variant: Spot hearts - card is worth their rank */ score += card->rank * modifier; else score += modifier; } /* The Queen of spades adds a big penalty */ else if (card->suit == CARDS_SPADES && card->rank == CARD_QUEEN) { if (cfg.ruleset == RULESET_SPOT_HEARTS) /* variant: Spot hearts - Queen of spades is 25 points */ score += 25 * modifier; else score += 13 * modifier; } /* variant: Omnibus - Jack of diamonds is -10 points */ else if (cfg.ruleset == RULESET_OMNIBUS && card->suit == CARDS_DIAMONDS && card->rank == CARD_JACK) score -= 10; /* variant: Alternative Omnibus - Ten of diamonds is -10 points */ else if (cfg.ruleset == RULESET_OMNIBUS_ALT && card->suit == CARDS_DIAMONDS && card->rank == CARD_TEN) score -= 10; } return score; } /* create a new deck of cards */ CardsDeck* cards_deck_new (gboolean aces_high, gboolean include_jokers) { CardsDeck *deck; Card *card; Card new_card; gint i; /* create the array */ if (include_jokers) deck = g_array_sized_new(FALSE, TRUE, sizeof(Card), 52); else deck = g_array_sized_new(FALSE, FALSE, sizeof(Card), 54); new_card.suit = 0; new_card.rank = 0; new_card.drawn = FALSE; new_card.selected = FALSE; new_card.active = FALSE; /* initialize the cards */ for (i = 0; i < 52; i++) { g_array_append_val(deck, new_card); card = &g_array_index(deck, Card, i); card->suit = (i / 13); card->rank = (i % 13) + 1; if (aces_high && card->rank == CARD_ACE) card->rank = CARD_ACE_HIGH; } if (include_jokers) { g_array_append_val(deck, new_card); g_array_append_val(deck, new_card); card = &g_array_index(deck, Card, 52); card->rank = CARD_RED_JOKER; card = &g_array_index(deck, Card, 53); card->rank = CARD_BLACK_JOKER; } return deck; } /* Return a list of pointer to a random set of cards from the deck */ GList* cards_deck_draw_random (CardsDeck *deck, gint number, gboolean mark_drawn) { GList *undrawn, *result; Card *card; gint i, j; undrawn = NULL; result = NULL; /* add all the non-drawn cards to a linked list */ for (i = 0; i < deck->len; i++) { card = &g_array_index(deck, Card, i); if (card->drawn == FALSE) undrawn = g_list_prepend(undrawn, card); } /* are there enough cards */ if (g_list_length(undrawn) < number) return NULL; for (i = 0; i < number; i++) { j = g_random_int_range(0, g_list_length(undrawn)); card = (Card*)g_list_nth_data(undrawn, j); result = g_list_prepend(result, card); undrawn = g_list_remove(undrawn, card); /* mark it as drawn */ if (mark_drawn) card->drawn = TRUE; } g_list_free(undrawn); return result; } /* reset the deck */ void cards_deck_reset (CardsDeck *deck) { gint i; Card *card; for (i = 0; i < deck->len; i++) { card = &g_array_index(deck, Card, i); card->drawn = FALSE; card->selected = FALSE; card->active = FALSE; } } /* Mark all cards as unselected */ void cards_deck_deselect (CardsDeck *deck) { gint i; Card *card; for (i = 0; i < deck->len; i++) { card = &g_array_index(deck, Card, i); card->selected = FALSE; } } /* Free a deck */ void cards_deck_free (CardsDeck *deck) { g_array_free(deck, TRUE); } /* create an empty hand */ CardsHand* cards_hand_new (gint direction, gboolean show_faces) { CardsHand* hand; hand = g_new(CardsHand, 1); hand->list = NULL; hand->hist = NULL; hand->direction = direction; hand->show_faces = show_faces; return hand; } /* draw cards from */ void cards_hand_draw (CardsHand *hand, CardsDeck *deck, gint number) { GList *draw; draw = cards_deck_draw_random(deck, number, TRUE); hand->list = g_list_concat(hand->list, draw); cards_hand_sort(hand); hand->hist = g_list_copy(hand->list); } GList* cards_hand_draw_selected(CardsHand *hand) { GList *i, *result; Card *card; result = NULL; /* grab the result */ i = hand->list; while (i != NULL) { card = (Card*)i->data; if (card->selected == TRUE) result = g_list_prepend(result, (gpointer)card); i = g_list_next(i); } /* remove the result from the original */ i = result; while (i != NULL) { card = (Card*)i->data; hand->list = g_list_remove(hand->list, card); i = g_list_next(i); } return result; } void cards_hand_add(CardsHand *hand, GList *list) { hand->list = g_list_concat(hand->list, g_list_copy(list)); cards_hand_sort(hand); } /* callback for the sorting routine */ gint cards_hand_sort_cb(Card *one, Card *two) { gint one_id, two_id; if (one->rank == CARD_RED_JOKER || one->rank == CARD_BLACK_JOKER) return 1; if (two->rank == CARD_RED_JOKER || two->rank == CARD_BLACK_JOKER) return -1; one_id = card_id(one); two_id = card_id(two); /* add 39 so that the order will be clubs, diamond, spades, hearts */ if (one->suit == CARDS_HEARTS) one_id += 39; if (two->suit == CARDS_HEARTS) two_id += 39; if (one->rank % 13 == 1) one_id += 13; if (two->rank % 13 == 1) two_id += 13; if (one_id < two_id) return -1; return 1; } /* sort the hand */ void cards_hand_sort(CardsHand *hand) { if (g_list_length(hand->list) == 0) return; hand->list = g_list_sort(hand->list, (GCompareFunc)cards_hand_sort_cb); } /* returns the x,y,width,height for a hand */ void cards_hand_get_area(CardsHand *hand, GtkWidget *widget, CardsImage *image, gint *x, gint *y, gint *width, gint *height, gboolean with_selected) { gint offset_x = 0; gint offset_y = 0; if (hand->direction == NORTH || hand->direction == SOUTH) { offset_x = image->width / 4; if (with_selected) offset_y = image->height / 4; *width = (g_list_length(hand->list) * offset_x) + (image->width - offset_x); *height = image->height + offset_y; *x = (widget->allocation.width - *width) / 2; if (hand->direction == NORTH) *y = 10; else *y = widget->allocation.height - *height - 10; } else { offset_y = image->height / 4; if (with_selected) offset_x = image->width / 4; *height = (g_list_length(hand->list) * offset_y) + (image->height - offset_y); *width = image->width + offset_x; *y = (widget->allocation.height - *height) / 2; if (hand->direction == WEST) *x = 10; else { *x = widget->allocation.width - *width - 10; } } } /* render the hand */ void cards_hand_render(CardsHand *hand, CardsImage *cards, GdkPixmap *target, GdkGC *target_gc, gint x, gint y) { GList *i; gint id, offset_x, offset_y; Card *card; if (target == NULL || target_gc == NULL) return; offset_x = 0; offset_y = 0; switch (hand->direction) { case NORTH: offset_y = cards->height / 4; break; case EAST: offset_x = cards->width / -4; x -= offset_x; break; case SOUTH: offset_y = cards->height / -4; y -= offset_y; break; case WEST: offset_x = cards->width / 4; break; } /* step through the list */ i = hand->list; while (i != NULL) { card = (Card*)i->data; /* get the image ID */ if (hand->show_faces == FACE_UP) id = card_id(card); else id = CARD_BACK; /* selected cards are pushed up */ if (card->selected == TRUE) cards_image_render_to_pixmap(cards, id, card->active, target, target_gc, x + offset_x, y + offset_y); else cards_image_render_to_pixmap(cards, id, card->active, target, target_gc, x, y); /* position of the next card */ if (hand->direction == NORTH || hand->direction == SOUTH) x += (cards->width / 4); else y += (cards->height / 4); i = g_list_next(i); } } /* the number of cards in the hand */ gint cards_hand_length(CardsHand *hand) { return g_list_length(hand->list); } /* get the nth card from the hand */ Card* cards_hand_get(CardsHand *hand, gint n) { Card *card = NULL; if (n >= 0 && n < g_list_length(hand->list)) card = g_list_nth_data(hand->list, n); return card; } /* return the active card */ Card* cards_hand_get_active(CardsHand *hand) { GList *i; Card *card = NULL, *active = NULL; for (i = hand->list; i; i = i->next) { card = (Card*)i->data; if (card->active) active = card; } return active; } void cards_hand_toggle_select(CardsHand* hand, gint n) { Card *card = cards_hand_get(hand, n); if (card != NULL) card->selected = !card->selected; } /* count how many cards of a certain suit we have */ gint cards_hand_num_suit(CardsHand *hand, gint suit) { GList *i; Card *card; gint result = 0; i = hand->list; while (i != NULL) { card = (Card*)i->data; if (card->suit == suit) result++; i = g_list_next(i); } return result; } /* return the number of selected cards in this hand */ gint cards_hand_num_selected(CardsHand *hand) { GList *l; Card *card; gint num_selected = 0; for (l = hand->list; l; l = l->next) { card = (Card*)l->data; if (card->selected) num_selected++; } return num_selected; } /* reset the hand to the initial state */ void cards_hand_reset(CardsHand *hand) { g_list_free(hand->list); hand->list = g_list_copy(hand->hist); g_assert(g_list_length(hand->list) == 13); } /* Free the cards in a hand */ void cards_hand_free_cards(CardsHand *hand) { if (hand->list != NULL) g_list_free(hand->list); if (hand->hist != NULL) g_list_free(hand->hist); hand->list = NULL; hand->hist = NULL; } /* Free a hand */ void cards_hand_free(CardsHand *hand) { cards_hand_free_cards(hand); g_free(hand); } /* return the winning card in this trick */ gint trick_get_winner(Trick *trick) { gint i, val = 0, result = -1; for (i = 0; i < 4; i++) { /* return an error if not all cards have been played */ g_assert(trick->card[i] != NULL); /* determine the value of the card */ if (trick->card[i]->suit == trick->trump && trick->card[i]->rank > val) { val = trick->card[i]->rank; result = i; } } // Quit if a winner can't be determined g_assert(result >= 0 || result < 4); return result; } /* get the score of a trick */ gint trick_get_score(Trick *trick) { gint i, score = 0; GList *list = NULL; /* cards_get_score wants a linked list, so build it */ for (i = 0; i < 4; i++) { list = g_list_append(list, trick->card[i]); } score = cards_get_points(list); g_list_free(list); return score; } /* return the number of suit cards in the trick */ gint trick_num_suit(Trick *trick, gint suit) { gint i, result = 0; for (i = 0; i < 4; i++) { if (trick->card[i] != NULL && trick->card[i]->suit == suit) result++; } return result; } /* return the number of point cards in the trick (sans bonus cards) */ gint trick_num_point_cards (Trick *trick) { gint i, result = 0; for (i = 0; i < 4; i++) { if (trick->card[i] != NULL) { if (trick->card[i]->suit == CARDS_HEARTS) result++; else if (trick->card[i]->suit == CARDS_SPADES && trick->card[i]->rank == CARD_QUEEN) result++; } } return result; } /* render the trick */ void trick_render(Trick *trick, GtkWidget *widget, CardsImage *image, GdkPixmap *target, GdkGC *target_gc) { gint x, y, width, height, cx, cy, offset, i, player; Card *card; // Nothing played yet, so return if (trick->first_played == -1) return; offset = image->height / 4; width = image->width * 2; height = (image->height * 2) - (offset * 2); x = (widget->allocation.width - width) / 2; y = (widget->allocation.height - height) / 2; cx = cy = 0; for (i = 0; i < 4; i++) { player = (trick->first_played + i) % 4; switch (player) { case NORTH: cx = x + (image->width / 2); cy = y; break; case EAST: cx = x + image->width; cy = y + offset; break; case SOUTH: cx = x + (image->width / 2); cy = y + (offset * 2); break; case WEST: cx = x; cy = y + offset; break; } card = trick->card[player]; if (card == NULL) return; cards_image_render_to_pixmap(image, card_id(card), FALSE, target, target_gc, cx, cy); } } /* reset the trick */ void trick_reset(Trick *trick) { gint i; trick->trump = -1; trick->num_played = 0; trick->first_played = -1; for (i = 0; i < 4; i++) trick->card[i] = NULL; } /* Set the trick global in Python */ void trick_publish(Trick *trick) { PyObject *module, *dict, *object, *result, *card[4]; int i; /* Get a reference to trick.set() */ module = PyImport_AddModule("__main__"); dict = PyModule_GetDict(module); object = PyDict_GetItemString(dict, "trick"); /* Create a tuple of cards */ for (i = 0; i < 4; i++) { if (trick->card[i] == NULL) card[i] = Py_BuildValue(""); else card[i] = Py_BuildValue("(ii)", trick->card[i]->suit, trick->card[i]->rank); } result = PyObject_CallMethod(object, "set", "(OOOO)iii", card[NORTH], card[EAST], card[SOUTH], card[WEST], trick->trump, trick->num_played, trick->first_played); Py_DECREF(result); for (i = 0; i < 4; i++) Py_DECREF(card[i]); } /* return the ID for a card */ gint card_id(Card *card) { /* jokers */ if (card->rank > 51) return card->rank; /* a regular card */ return CARD_ID(card->suit, card->rank); } gnome-hearts-0.3/src/ui.h0000644000175000017500000000350011042105054012231 00000000000000/* * Hearts - ui.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef UI_H #define UI_H #include #include #include #include "cards-image.h" /* A player AI script */ typedef struct _AIScript { gchar *name; gchar *class; } AIScript; /* A card style */ typedef struct _CardStyle { gchar *name; gchar *path; } CardStyle; /* The user interface global */ typedef struct _UserInterface { /* The UI root */ GladeXML *xml; /* The table drawing area */ GdkPixmap *backbuffer; GdkGC * backbuffer_gc; /* mapping names to objects */ GList *ai_scripts; GList *card_styles; /* Card style filter */ GtkFileFilter *filter; /* The score table */ GPtrArray *scores; PangoAttrList *strike; /* The cards image */ CardsImage *cards_image; } UserInterface; extern UserInterface ui; void ui_load(void); void ui_start(void); void ui_set_config(void); void ui_add_ai_script(gchar *name, gchar *class); void ui_add_card_style(gchar *name, gchar *class); void ui_add_score_row(gint north, gint east, gint south, gint west); void ui_draw_playingarea(void); void ui_free(void); #endif gnome-hearts-0.3/src/Makefile.am0000644000175000017500000000117511042105054013505 00000000000000## Process this file with automake to produce Makefile.in gnome_heartsdir = $(datadir)/gnome-hearts gnome_hearts_DATA = gnome-hearts.glade gnome-hearts.cfg AM_CPPFLAGS = $(GNOME_HEARTS_CFLAGS) $(PYTHON_CFLAGS) AM_CFLAGS =\ -Wall\ -g bin_PROGRAMS = gnome-hearts gnome_hearts_SOURCES = \ hearts.c\ hearts.h\ background.c\ background.h\ cards.c\ cards.h\ cards-image.c\ cards-image.h\ cfg.c\ cfg.h\ events.c\ events.h\ gettext.h\ player-api.c\ player-api.h\ player.c\ player.h\ preimage.c\ preimage.h\ ui.c\ ui.h gnome_hearts_LDADD = \ $(GNOME_HEARTS_LIBS) $(PYTHON_LIBS) EXTRA_DIST = $(gnome_hearts_DATA) gnome-hearts-0.3/src/ui.c0000644000175000017500000002662011042105054012234 00000000000000/* * Hearts - ui.c * Copyright 2006 Sander Marechal * * 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "hearts.h" #include #include #include #include #include #include #include "background.h" #include "cards.h" #include "cfg.h" #include "ui.h" UserInterface ui; /* Load the ui global in all it's glory */ void ui_load(void) { /* Load the glade UI file */ glade_gnome_init(); ui.xml = glade_xml_new(PACKAGE_DATA_DIR"/gnome-hearts/gnome-hearts.glade", NULL, NULL); /* Hide the "leave fullscreen" buttons" */ gtk_widget_hide(glade_xml_get_widget(ui.xml, "leave_fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen"), FALSE); gtk_widget_hide(glade_xml_get_widget(ui.xml, "leave_fullscreen_button")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen_button"), FALSE); /* Gray out unused items */ gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "undo_move1"), FALSE); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "redo_move1"), FALSE); /* Turn off double buffering. We do that ourselves */ gtk_widget_set_double_buffered(glade_xml_get_widget(ui.xml, "playingarea"), FALSE); /* Add a filer to the background filechooser */ ui.filter = gtk_file_filter_new(); gtk_file_filter_set_name(ui.filter, _("Images")); gtk_file_filter_add_mime_type(ui.filter, "image/png"); gtk_file_filter_add_mime_type(ui.filter, "image/svg+xml"); gtk_file_filter_add_mime_type(ui.filter, "image/jpeg"); gtk_file_filter_add_mime_type(ui.filter, "image/gif"); gtk_file_chooser_set_filter((GtkFileChooser*) glade_xml_get_widget(ui.xml, "background"), ui.filter); /* Create an array for the scores */ ui.scores = g_ptr_array_new(); ui.strike = pango_attr_list_new(); pango_attr_list_insert(ui.strike, pango_attr_strikethrough_new(TRUE)); } /* Start the user interface */ void ui_start(void) { glade_xml_signal_autoconnect(ui.xml); } /* Set configuration options from the cfg global */ void ui_set_config(void) { gint i = 0; GList *l = NULL; GtkComboBox *north_ai = GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "north_ai")); GtkComboBox *east_ai = GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "east_ai")); GtkComboBox *west_ai = GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "west_ai")); /* Select the right AI's and set their names */ for (l = ui.ai_scripts; l; l = l->next) { AIScript *ai_script = l->data; if (strcmp(cfg.north_ai, ai_script->class) == 0) { gtk_combo_box_set_active(north_ai, i); gtk_label_set_text(GTK_LABEL(glade_xml_get_widget(ui.xml, "north_name")), g_strdup(ai_script->name)); } if (strcmp(cfg.east_ai, ai_script->class) == 0) { gtk_combo_box_set_active(east_ai, i); gtk_label_set_text(GTK_LABEL(glade_xml_get_widget(ui.xml, "east_name")), g_strdup(ai_script->name)); } if (strcmp(cfg.west_ai, ai_script->class) == 0) { gtk_combo_box_set_active(west_ai, i); gtk_label_set_text(GTK_LABEL(glade_xml_get_widget(ui.xml, "west_name")), g_strdup(ai_script->name)); } i++; } /* Set the correct names on the score table UI */ gtk_label_set_text((GtkLabel*) glade_xml_get_widget(ui.xml, "south_name"), g_get_real_name()); /* Make sure that a valid AI is selected */ AIScript *ai_script = ui.ai_scripts->data; if (gtk_combo_box_get_active(north_ai) == -1) { gtk_combo_box_set_active(north_ai, 1); cfg.north_ai = ai_script->class; } if (gtk_combo_box_get_active(east_ai) == -1) { gtk_combo_box_set_active(east_ai, 1); cfg.east_ai = ai_script->class; } if (gtk_combo_box_get_active(west_ai) == -1) { gtk_combo_box_set_active(west_ai, 1); cfg.west_ai = ai_script->class; } /* set the game rules in the preferences dialog */ gtk_combo_box_set_active((GtkComboBox*) glade_xml_get_widget(ui.xml, "ruleset"), cfg.ruleset); gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "clubs_lead"), cfg.clubs_lead); gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "hearts_break"), cfg.hearts_break); gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "no_blood"), cfg.no_blood); gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "queen_breaks_hearts"), cfg.queen_breaks_hearts); gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "show_scores"), cfg.show_scores); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "queen_breaks_hearts"), cfg.hearts_break); /* Set the background image chooser */ gtk_file_chooser_set_filename((GtkFileChooser*) glade_xml_get_widget(ui.xml, "background"), cfg.background_image); /* Set the stretch toggle */ if (cfg.background_tiled) gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "background_tile"), TRUE); else gtk_toggle_button_set_active((GtkToggleButton*) glade_xml_get_widget(ui.xml, "background_stretch"), TRUE); /* Find all the card styles in the gnome-hearts cards directory */ DIR *directory = opendir(PACKAGE_DATA_DIR"/pixmaps/gnome-hearts/cards/"); struct dirent *file; g_assert(directory != NULL); while ((file = readdir(directory))) { if (g_str_has_suffix(file->d_name, ".png") || g_str_has_suffix(file->d_name, ".svg")) ui_add_card_style(g_strdup(file->d_name), g_strconcat(PACKAGE_DATA_DIR"/pixmaps/gnome-hearts/cards/", file->d_name, NULL)); } closedir(directory); /* read cards from the gnome-games card dir */ directory = opendir(PACKAGE_DATA_DIR"/gnome-games-common/cards/"); if (directory != NULL) { while ((file = readdir(directory))) { if (g_str_has_suffix(file->d_name, ".png") || g_str_has_suffix(file->d_name, ".svg")) ui_add_card_style(g_strdup(file->d_name), g_strconcat(PACKAGE_DATA_DIR"/gnome-games-common/cards/", file->d_name, NULL)); } closedir(directory); } /* Loop over all the card styles that were added, find the one in cfg and activate it */ i = 0; for (l = ui.card_styles; l; l = l->next) { CardStyle *card_style = l->data; if (strcmp(cfg.card_style, card_style->name) ==0) { gtk_combo_box_set_active(GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "card_style")), i); ui.cards_image = cards_image_from_file(card_style->path); } i++; } /* Make sure a card style was loaded. If the configured style wasn't found then no style has been loaded at this point. See Debian bugs 396043 and 395551. */ if (!ui.cards_image) { CardStyle *card_style = ui.card_styles->data; ui.cards_image = cards_image_from_file(card_style->path); } } /* Add a new player AI to the UI */ void ui_add_ai_script(gchar *name, gchar *class) { AIScript *ai_script = g_new(AIScript, 1); ai_script->name = name; ai_script->class = class; ui.ai_scripts = g_list_append(ui.ai_scripts, ai_script); gtk_combo_box_append_text(GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "north_ai")), name); gtk_combo_box_append_text(GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "east_ai")), name); gtk_combo_box_append_text(GTK_COMBO_BOX(glade_xml_get_widget(ui.xml, "west_ai")), name); } /* Add a new card style to the UI */ void ui_add_card_style(gchar *name, gchar *path) { CardStyle *style = g_new(CardStyle, 1); style->name = name; style->path = path; ui.card_styles = g_list_append(ui.card_styles, style); gtk_combo_box_append_text((GtkComboBox*) glade_xml_get_widget(ui.xml, "card_style"), name); } /* Add a row to the score table */ void ui_add_score_row(gint north, gint east, gint south, gint west) { gint rows, i; /* Strike through the last four cells */ if (ui.scores->len > 0) { gint i; for (i = ui.scores->len - 4; i < ui.scores->len; i++) { gtk_label_set_attributes(g_ptr_array_index(ui.scores, i), ui.strike); } } /* Create new score labels */ g_ptr_array_add(ui.scores, gtk_label_new(g_strdup_printf("%d", north))); g_ptr_array_add(ui.scores, gtk_label_new(g_strdup_printf("%d", east))); g_ptr_array_add(ui.scores, gtk_label_new(g_strdup_printf("%d", south))); g_ptr_array_add(ui.scores, gtk_label_new(g_strdup_printf("%d", west))); /* resize the score_table widget */ GtkTable *score_table = (GtkTable*) glade_xml_get_widget(ui.xml, "score_table"); g_object_get(score_table, "n-rows", &rows, NULL); gtk_table_resize(score_table, rows + 1, 4); /* Add the labels to the table and center them */ for (i = ui.scores->len - 4; i < ui.scores->len; i++) { gtk_label_set_justify(g_ptr_array_index(ui.scores, i), GTK_JUSTIFY_CENTER); gtk_table_attach((GtkTable*) glade_xml_get_widget(ui.xml, "score_table"), g_ptr_array_index(ui.scores, i), i, i + 1, rows, rows + 1, GTK_EXPAND, GTK_SHRINK, 2, 0); } } /* draw the playingarea */ void ui_draw_playingarea(void) { gint x, y, width, height, n_x, n_y, n_width, n_height, i; GtkWidget *playingarea_widget; playingarea_widget = glade_xml_get_widget(ui.xml, "playingarea"); /* Fill the buffer with the background image */ background_render(ui.backbuffer, 0, 0, playingarea_widget->allocation.width, playingarea_widget->allocation.height); /* render the hands */ for (i = 0; i < 4; i++) { cards_hand_get_area(player[i]->hand, playingarea_widget, ui.cards_image, &x, &y, &width, &height, TRUE); cards_hand_render(player[i]->hand, ui.cards_image, ui.backbuffer, ui.backbuffer_gc, x, y); /* Update the layout to display the score */ if (cfg.show_scores) { gchar *name = g_strdup_printf("%s (%d/%d)", player[i]->name, player[i]->score_round, player[i]->score_total + player[i]->score_round); pango_layout_set_markup(player[i]->layout, name, -1); g_free(name); } pango_layout_get_pixel_size(player[i]->layout, &n_width, &n_height); n_x = 0; n_y = 0; switch(i) { case NORTH: n_x = (playingarea_widget->allocation.width - n_width) / 2; n_y = y + height + 5; break; case EAST: n_x = x - n_width - 15; n_y = (playingarea_widget->allocation.height - n_height) / 2; break; case SOUTH: n_x = (playingarea_widget->allocation.width - n_width) / 2; n_y = y - n_height - 5; break; case WEST: n_x = x + width + 15; n_y = (playingarea_widget->allocation.height - n_height) / 2; break; } gdk_draw_layout(ui.backbuffer, ui.backbuffer_gc, n_x, n_y, player[i]->layout); } /* render the trick */ trick_render(&game_trick, playingarea_widget, ui.cards_image, ui.backbuffer, ui.backbuffer_gc); /* update the screen */ gtk_widget_queue_draw_area(playingarea_widget, 0, 0, playingarea_widget->allocation.width, playingarea_widget->allocation.height); } /* Free the UI */ void ui_free(void) { GList *l; for (l = ui.ai_scripts; l; l = l->next) g_free(l->data); g_list_free(ui.ai_scripts); g_object_unref(ui.backbuffer_gc); g_object_unref(ui.backbuffer); g_object_unref(ui.filter); g_object_unref(ui.xml); pango_attr_list_unref(ui.strike); } gnome-hearts-0.3/src/cards.h0000644000175000017500000000725111042105054012717 00000000000000/* * Hearts - cards.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef CARDS_H #define CARDS_H #include #include #include #include "cards-image.h" enum { NORTH = 0, EAST = 1, SOUTH = 2, WEST = 3, FACE_DOWN = FALSE, FACE_UP = TRUE }; enum { RULESET_OMNIBUS = 0, RULESET_OMNIBUS_ALT = 1, RULESET_SPOT_HEARTS = 2, RULESET_STANDARD = 3 }; /* A single card */ typedef struct _Card { gint suit; gint rank; /* deck variables */ gboolean drawn; /* hand variables */ gboolean selected; gboolean active; } Card; /* A hand of cards */ typedef struct _CardsHand { GList *list; /* the current cards */ GList *hist; /* copy of the original list of 13 cards (for reset purposes) */ gint direction; gboolean show_faces; } CardsHand; /* A full deck of cards */ typedef GArray CardsDeck; /* The trick currently being played */ typedef struct _Trick { gint trump; /* suit of the first card that was played */ gint num_played; /* number of cards played */ gint first_played; /* first card to be played */ Card *card[4]; /* the cards played */ } Trick; /* functions for cards */ gchar* card_get_name(Card *card); gint cards_get_points(GList *list); /* functions for the card deck */ CardsDeck* cards_deck_new (gboolean aces_high, gboolean include_jokers); GList* cards_deck_draw_random (CardsDeck *deck, gint number, gboolean mark_drawn); void cards_deck_reset (CardsDeck *deck); void cards_deck_deselect (CardsDeck *deck); void cards_deck_free (CardsDeck *deck); /* functions for a hand of cards */ CardsHand* cards_hand_new (gint direction, gboolean show_faces); void cards_hand_draw (CardsHand *hand, CardsDeck *deck, gint number); GList* cards_hand_draw_selected (CardsHand *hand); void cards_hand_add (CardsHand *hand, GList *list); gint cards_hand_sort_cb (Card *one, Card *two); void cards_hand_sort (CardsHand *hand); void cards_hand_get_area (CardsHand* hand, GtkWidget *widget, CardsImage *image, gint *x, gint *y, gint *width, gint *height, gboolean with_selected); void cards_hand_render (CardsHand *hand, CardsImage *cards, GdkPixmap *target, GdkGC *target_gc, gint x, gint y); gint cards_hand_length (CardsHand *hand); Card* cards_hand_get (CardsHand *hand, gint n); Card* cards_hand_get_active (CardsHand *hand); void cards_hand_toggle_select (CardsHand *hand, gint n); gint cards_hand_num_suit (CardsHand *hand, gint suit); gint cards_hand_num_selected(CardsHand *hand); void cards_hand_reset (CardsHand *hand); void cards_hand_free_cards (CardsHand *hand); void cards_hand_free (CardsHand *hand); /* functions for a trick of cards */ gint trick_get_winner (Trick *trick); gint trick_get_score (Trick *trick); gint trick_num_suit (Trick *trick, gint suit); gint trick_num_point_cards (Trick *trick); void trick_render (Trick *trick, GtkWidget *widget, CardsImage *image, GdkPixmap *target, GdkGC *target_gc); void trick_reset (Trick *trick); void trick_publish (Trick *trick); gint card_id (Card *card); #endif gnome-hearts-0.3/src/player.h0000644000175000017500000000324511042105054013116 00000000000000/* * Hearts - player.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef GAME_H #define GAME_H #include "cards.h" #include "player-api.h" /* the players */ typedef struct _Player { gint direction; gint score_round; gint score_total; gchar *name; CardsHand *hand; GList *cards_taken; PangoLayout *layout; PyObject *ai; Trick *trick; } Player; /* functions for the player */ Player* player_new (gint direction, gboolean show_faces, gchar *script, Trick *trick, GtkWidget *widget); Card* player_play (Player *player); GList* player_select_cards (Player *player); void player_receive_cards (Player *player, GList *list); void player_trick_end(Player *player); void player_round_end(Player *player); void player_play_card (Player *player, Card *card); void player_mark_selected(Player *player, GList *list); void player_take_trick(Player *player, Trick *trick); void player_publish_hand (Player *player); void player_free (Player *player); #endif gnome-hearts-0.3/src/gnome-hearts.cfg0000644000175000017500000000212011042174102014512 00000000000000# This is the configuration file for GNOME hearts # You can edit it manually or use the preferences # dialog in the game itself. It follows the standard # keyfile format for glib and .desktop files. [hearts] # Configuration file version number version=3 # The scoring rules. Can be set to standard, omnimub, omnibus_alt or spot_hearts ruleset=standard # If the two of clubs leads a round. Set to true or false clubs_lead=true # If hearts must be "broken" before leading in a trick. Set to true or false hearts_break=true # If the gentleman's rule "no blood on the first trick" applies. Set to true or false no_blood=true # Queen of Spades also breaks hearts queen_breaks_hearts=true # Show player scores next to their names show_blood=false # The AI scripts to use. Should be a lua script in the /scripts directory north_ai=PlayerAI_John east_ai=PlayerAI_Ling west_ai=PlayerAI_Peter # The filename of the card style to use. Full path or a filename in the /cards directory card_style=dondorf.svg # The background background_image=/usr/share/pixmaps/gnome-hearts/baize.png background_tiled=true gnome-hearts-0.3/src/hearts.h0000644000175000017500000000404011042105054013102 00000000000000/* * Hearts - hearts.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef HEARTS_H #define HEARTS_H /* Must be inlcuded first */ #include /* headers */ #include #include #include #include #include "cards.h" #include "cfg.h" #include "player.h" #include "player-api.h" #include "ui.h" /* the game states */ enum { GAME_SELECT_CARDS = 0, GAME_PASS_CARDS = 1, GAME_RECIEVE_CARDS = 2, GAME_PLAY = 3, GAME_ROUND_END = 4, GAME_END = 5 }; /* the game's globals */ extern Trick game_trick; extern gint game_state; extern gint game_pass; extern gint game_trick_winner; extern gboolean game_hearts_broken; extern CardsDeck *game_deck; extern GList *game_score_labels; /* the players */ extern Player *player[4]; extern gint user; /* forward declarations */ GdkPixmap* get_pixmap (const char *filename); void game_new (void); void game_new_round (void); void game_restart_round (void); void game_open_round (void); gboolean game_end_test (void); gboolean game_pass_cards (GtkWidget *widget); gint game_select_cards (GtkWidget *widget); void game_score_publish(void); gboolean game_is_valid_card (Card *card, CardsHand *hand, Trick *trick); gchar* game_get_hint(void); void game_set_status(gchar *message); int main (int argc, char *argv[]); #endif gnome-hearts-0.3/src/gnome-hearts.cfg.in0000644000175000017500000000212711042110323015121 00000000000000# This is the configuration file for GNOME hearts # You can edit it manually or use the preferences # dialog in the game itself. It follows the standard # keyfile format for glib and .desktop files. [hearts] # Configuration file version number version=3 # The scoring rules. Can be set to standard, omnimub, omnibus_alt or spot_hearts ruleset=standard # If the two of clubs leads a round. Set to true or false clubs_lead=true # If hearts must be "broken" before leading in a trick. Set to true or false hearts_break=true # If the gentleman's rule "no blood on the first trick" applies. Set to true or false no_blood=true # Queen of Spades also breaks hearts queen_breaks_hearts=true # Show player scores next to their names show_blood=false # The AI scripts to use. Should be a lua script in the /scripts directory north_ai=PlayerAI_John east_ai=PlayerAI_Ling west_ai=PlayerAI_Peter # The filename of the card style to use. Full path or a filename in the /cards directory card_style=dondorf.svg # The background background_image=@CONFIG_DATA_DIR@/pixmaps/gnome-hearts/baize.png background_tiled=true gnome-hearts-0.3/src/cards-image.c0000644000175000017500000001056611042105054013775 00000000000000/* * Hearts - cards-image.c * Copyright 2006 Sander Marechal * * 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. * * Some inspiration from this came from the Aisleriot game written by * Jonathan Blandford and released under the GNU GPL. */ #include "cards-image.h" /* create an empty cards imags */ CardsImage* cards_image_new(void) { CardsImage *cards; cards = g_new(CardsImage, 1); cards->width = 0; cards->height = 0; cards->preimage = preimage_new(); cards->pixbuf = NULL; return cards; } /* create a cards image from a file */ CardsImage* cards_image_from_file(const gchar *file) { CardsImage *cards; cards = g_new(CardsImage, 1); cards->preimage = preimage_new_from_file(file); cards->width = cards->preimage->width / 13; cards->height = cards->preimage->height / 5; cards->ratio = (gdouble)cards->width / (gdouble)cards->height; cards->pixbuf = NULL; cards_image_set_size(cards, cards->width, cards->height); return cards; } /* Render card_id on target pixmap at (x, y) */ void cards_image_render_to_pixmap(CardsImage *cards, gint card_id, gboolean active, GdkPixmap *target, GdkGC *target_gc, gint x, gint y) { gint sx, sy; /* check if we can render */ if (cards->pixbuf == NULL || target == NULL) return; /* calculate card position in the image */ sx = (card_id % 13) * cards->width; sy = (card_id / 13) * cards->height; /* render */ if (active) { GdkPixbuf *active_card; guint px, py, width, height, rowstride; guint16 red, green, blue; guchar *pixels, *p; /* copy the active card to a new pixbuf */ active_card = gdk_pixbuf_new(gdk_pixbuf_get_colorspace(cards->pixbuf), gdk_pixbuf_get_has_alpha(cards->pixbuf), gdk_pixbuf_get_bits_per_sample(cards->pixbuf), cards->width, cards->height); gdk_pixbuf_copy_area(cards->pixbuf, sx, sy, cards->width, cards->height, active_card, 0, 0); /* FIXME: We can do a color button later... if it's usable. */ red = 0; green = 0; blue = 0xAA00 / 0xFF; gdk_pixbuf_saturate_and_pixelate (active_card, active_card, 0, FALSE); pixels = gdk_pixbuf_get_pixels (active_card); width = gdk_pixbuf_get_width (active_card); height = gdk_pixbuf_get_height (active_card); rowstride = gdk_pixbuf_get_rowstride (active_card); for (py = 0; py < cards->height; py++) { for (px = 0; px < cards->width; px++) { p = pixels + py*rowstride + px*4; p[0] += (0xFF - p[0]) * red / 0xFF; p[1] += (0xFF - p[1]) * green / 0xFF; p[2] += (0xFF - p[2]) * blue / 0xFF; } } gdk_pixbuf_render_to_drawable(active_card, target, target_gc, 0, 0, x, y, cards->width, cards->height, GDK_RGB_DITHER_NONE, 0, 0); g_object_unref(active_card); } else { gdk_pixbuf_render_to_drawable(cards->pixbuf, target, target_gc, sx, sy, x, y, cards->width, cards->height, GDK_RGB_DITHER_NONE, 0, 0); } } /* scale the cards to (width, height) */ void cards_image_set_size(CardsImage *cards, gint width, gint height) { /* check there's a preimage loaded */ if (cards->preimage->pixbuf == NULL) return; /* delete the existing pixbuf */ if (cards->pixbuf != NULL) g_object_unref(cards->pixbuf); /* recalculate the width and height with respect to the height/width ratio */ if (((gdouble)width / (gdouble)height) < cards->ratio) { height = (gint)((gdouble)width / cards->ratio); } else { width = (gint)((gdouble)height * cards->ratio); } /* resize the cards */ cards->pixbuf = preimage_render(cards->preimage, width * 13, height * 5); cards->width = width; cards->height = height; } /* Free a cards image */ void cards_image_free(CardsImage *cards) { if (cards == NULL) return; preimage_free(cards->preimage); g_object_unref(cards->pixbuf); g_free(cards); } gnome-hearts-0.3/src/player.c0000644000175000017500000002041611042105054013110 00000000000000/* * Hearts - player.c * Copyright 2006 Sander Marechal * * 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "hearts.h" #include "player.h" /* create a new player */ Player* player_new(gint direction, gboolean show_faces, gchar *script, Trick *trick, GtkWidget *widget) { /* create the player with default values */ Player *player; player = g_new(Player, 1); player->direction = direction; player->score_round = 0; player->score_total = 0; player->trick = trick; player->name = NULL; player->cards_taken = NULL; /* assign a hand of cards */ player->hand = cards_hand_new(direction, show_faces); /* Load the Python AI */ PyObject *module, *dict, *player_args, *result; module = PyImport_AddModule("__main__"); dict = PyModule_GetDict(module); /* Create a new player AI instance by calling the classname in Python */ gchar *class = (script ? script : "StockAI"); player_args = Py_BuildValue("(iOOO)", direction, PyDict_GetItemString(dict, "trick"), PyDict_GetItemString(dict, "score"), PyDict_GetItemString(dict, "rules") ); player->ai = PyObject_Call(PyDict_GetItemString(dict, class), player_args, NULL); Py_DECREF(player_args); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } /* Assign the new player AI instance in Python */ result = PyObject_CallFunction(PyDict_GetItemString(dict, "player_set"), "Oi", player->ai, direction); Py_DECREF(result); /* create a pango layout and set the player name */ player->layout = gtk_widget_create_pango_layout(widget, NULL); if (script) { result = PyObject_CallMethod(player->ai, "get_name", NULL); player->name = strdup(PyString_AsString(result)); } else { player->name = strdup(g_get_real_name()); } gchar *name = g_strconcat("", player->name, "", NULL); pango_layout_set_markup(player->layout, name, -1); g_free(name); return player; } /* Let a player's AI play a card on the trick */ Card* player_play(Player *player) { GList *l; gint suit, rank; PyObject *result; /* If there's no AI loaded, quit */ g_assert(player != NULL && player->ai != NULL); /* Publish globals to the AI */ game_score_publish(); trick_publish(player->trick); player_publish_hand(player); /* Call play_card() */ result = PyObject_CallMethod(player->ai, "play_card", ""); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } PyArg_ParseTuple(result, "ii", &suit, &rank); Py_DECREF(result); /* Find the card in the hand */ Card *card_result = NULL; for (l = player->hand->list; l; l = l->next) { Card *card = (Card*)l->data; if (card->suit == suit && card->rank == rank) card_result = card; } if (!card_result || !game_is_valid_card(card_result, player->hand, player->trick)) { printf("trying to play invalid card %d,%d\n", suit, rank); g_assert_not_reached(); } /* return the actual card */ return card_result; } GList* player_select_cards(Player *player) { gint passing_direction; GList *l, *cards = NULL; PyObject *result; /* if there's no AI loaded, quit */ g_assert(player != NULL && player->ai != NULL); /* Publish globals to the AI */ game_score_publish(); player_publish_hand(player); /* Call play_card() */ passing_direction = (player->direction + game_pass ) % 4; result = PyObject_CallMethod(player->ai, "select_cards", "(i)", passing_direction); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } /* Find the cards in the hand and mark them as selected */ gint i, suit, rank; for (i = 0; i< 3; i++) { for (l = player->hand->list; l; l = l->next) { Card *card = (Card*)l->data; PyObject *list_item = PyList_GetItem(result, i); if (!PyArg_ParseTuple(list_item, "ii", &suit, &rank)) { PyErr_Print(); g_assert_not_reached(); } if (card->suit == suit && card->rank == rank) { cards = g_list_append(cards, card); } } } Py_DECREF(result); g_assert(g_list_length(cards) == 3); return cards; } void player_receive_cards (Player *player, GList *list) { /* Add the cards to the hand */ cards_hand_add(player->hand, list); player_publish_hand(player); /* call receive_cards() on the player */ GList *l; PyObject *result; PyObject *cards = PyList_New(0); for (l = list; l; l = l->next) { Card *card = (Card*)l->data; PyList_Append(cards, Py_BuildValue("(ii)", card->suit, card->rank)); } result = PyObject_CallMethod(player->ai, "receive_cards", "O", cards); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } Py_DECREF(cards); Py_DECREF(result); } /* show the trick to the AI */ void player_trick_end(Player *player) { /* Don't assert here. This is called for human players too */ if (player->ai == NULL) return; /* Publish globals to the AI */ trick_publish(player->trick); game_score_publish(); player_publish_hand(player); /* Call trick_end() */ PyObject *result = PyObject_CallMethod(player->ai, "trick_end", NULL); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } Py_DECREF(result); } /* Call an AI's round_end function */ void player_round_end(Player *player) { /* Don't assert here. This is called for human players too */ if (player->ai == NULL) return; /* Publish globals to the AI */ game_score_publish(); /* Call round_end() */ PyObject *result = PyObject_CallMethod(player->ai, "round_end", NULL); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } Py_DECREF(result); } /* play player's card on trick */ void player_play_card(Player *player, Card *card) { GList *list_item; if (card == NULL) return; player->trick->card[player->hand->direction] = card; player->trick->num_played++; /* if this is the first card played, save the suit and the one who played it */ if (player->trick->first_played == -1) player->trick->first_played = player->hand->direction; if (player->trick->trump == -1) player->trick->trump = card->suit; g_assert(player->trick->first_played >= 0 && player->trick->first_played < 4); /* move the card from the hand to the history stack */ list_item = g_list_find(player->hand->list, card); player->hand->list = g_list_delete_link(player->hand->list, list_item); } /* Mark a list of cards as selected */ void player_mark_selected(Player *player, GList *list) { GList *l; for (l = list; l; l = l->next) { Card *card = (Card*)l->data; card->selected = TRUE; } } /* Add the cards from the trick to the player's list of taken card */ void player_take_trick(Player *player, Trick *trick) { /* You can only take a trick when it's fully played */ if (trick->num_played != 4) return; int i; for (i = 0; i < 4; i++) { player->cards_taken = g_list_append(player->cards_taken, trick->card[i]); } /* Update the score for this round */ player->score_round = cards_get_points(player->cards_taken); } /* Show the hand to the player */ void player_publish_hand (Player *player) { GList *l; PyObject *result; PyObject *hand = PyList_New(0); for (l = player->hand->list; l; l = l->next) { Card *card = (Card*)l->data; PyList_Append(hand, Py_BuildValue("(ii)", card->suit, card->rank)); } result = PyObject_CallMethod(player->ai, "set_hand", "O", hand); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } Py_DECREF(hand); Py_DECREF(result); } /* free a player */ void player_free(Player *player) { if (player == NULL) return; if (player->hand != NULL) cards_hand_free(player->hand); if (player->ai != NULL) { Py_DECREF(player->ai); } if (player->layout != NULL) g_object_unref(player->layout); g_list_free(player->cards_taken); g_free(player); } gnome-hearts-0.3/src/hearts.c0000644000175000017500000003526111042105054013106 00000000000000/* * Hearts - hearts.c * Copyright 2006 Sander Marechal * * 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "hearts.h" #include "background.h" Trick game_trick; gint game_state; gint game_pass; gint game_trick_winner; gboolean game_hearts_broken; CardsDeck *game_deck; GList *game_score_labels; Player *player[4]; /* the players of the game */ gint user; /* which playes is the user */ /* Definition of the commandline options */ static GOptionEntry option_entries[] = { {"show-cards", 0, 0, G_OPTION_ARG_NONE, &cfg.show_cards, N_("Show all the card faces while playing"), NULL}, {NULL} }; /* Load a pixmap */ GdkPixmap* get_pixmap(const char *filename) { GdkPixmap *ret; GdkPixbuf *im; if (filename == NULL) return NULL; im = gdk_pixbuf_new_from_file (filename, NULL); if (im != NULL) { gdk_pixbuf_render_pixmap_and_mask_for_colormap (im, gdk_colormap_get_system(), &ret, NULL, 127); gdk_pixbuf_unref (im); } else { ret = NULL; } return ret; } /* start a new game */ void game_new(void) { gint i; GList *l; GtkTable *score_table; GtkWidget *widget; /* reset the score_table. To do this, we need to remove the child widgets and then resize */ score_table = GTK_TABLE(glade_xml_get_widget(ui.xml, "score_table")); for (l = game_score_labels; l; l = l->next) { GtkLabel *label; label = l->data; gtk_widget_destroy(GTK_WIDGET(label)); } g_list_free(game_score_labels); game_score_labels = NULL; gtk_table_resize(score_table, 2, 4); /* set the score window title */ gtk_window_set_title(GTK_WINDOW(glade_xml_get_widget(ui.xml, "score")), _("Scores")); /* Publish the rulesets to Python. This is done here because game_new() is called when the * rules have changed, and player_new() below initializes the players for the new game. */ config_publish(); /* refresh the AI's */ for (i = 0; i < 4; i++) player_free(player[i]); widget = glade_xml_get_widget(ui.xml, "playingarea"); gint facing = cfg.show_cards ? FACE_UP : FACE_DOWN; player[0] = player_new(NORTH, facing, cfg.north_ai, &game_trick, widget); player[1] = player_new(EAST, facing, cfg.east_ai, &game_trick, widget); player[2] = player_new(SOUTH, FACE_UP, NULL, &game_trick, widget); player[3] = player_new(WEST, facing, cfg.west_ai, &game_trick, widget); game_pass = 0; game_new_round(); } /* start a new round in this game */ void game_new_round(void) { gint i; /* reset the game */ cards_deck_reset(game_deck); trick_reset(&game_trick); trick_publish(&game_trick); game_pass = (game_pass + 1) % 4; game_hearts_broken = FALSE; /* new hands for everyone */ for (i = 0; i < 4; i++) { cards_hand_free_cards(player[i]->hand); cards_hand_draw(player[i]->hand, game_deck, 13); g_list_free(player[i]->cards_taken); player[i]->cards_taken = NULL; player[i]->score_round = 0; } game_score_publish(); /* have the AI's select cards to pass on if we're passing cards this round */ for (i = 0; i < 4; i++) { if (i != user && game_pass > 0) player_mark_selected(player[i], player_select_cards(player[i])); } /* set the game state */ if (game_pass > 0) { game_set_status(_("Select three cards that you wish to pass on.")); game_state = GAME_SELECT_CARDS; } else { game_set_status(_("Click on the card you wish to play.")); game_state = GAME_PLAY; game_open_round(); } } /* restart the current round */ void game_restart_round(void) { gint i; /* reset the game */ trick_reset(&game_trick); trick_publish(&game_trick); game_hearts_broken = FALSE; /* reset the hands for everyone */ for (i = 0; i < 4; i++) { cards_hand_reset(player[i]->hand); g_list_free(player[i]->cards_taken); player[i]->cards_taken = NULL; player[i]->score_round = 0; } game_score_publish(); /* have the AI's select cards to pass on if we're passing cards this round */ for (i = 0; i < 4; i++) { if (i != user && game_pass > 0) player_mark_selected(player[i], player_select_cards(player[i])); } /* set the game state */ if (game_pass > 0) { game_set_status(_("Select three cards that you wish to pass on.")); game_state = GAME_SELECT_CARDS; } else { game_set_status(_("Click on the card you wish to play.")); game_state = GAME_PLAY; game_open_round(); } } /* start the round and play untill the player is due */ void game_open_round (void) { gint i, starter = user; Card *two_of_clubs; /* figure out which playes has to start */ if (cfg.clubs_lead) { two_of_clubs = &g_array_index(game_deck, Card, CARD_ID(CARDS_CLUBS, CARD_TWO)); for (i = 0; i < 4; i++) { if (g_list_find(player[i]->hand->list, two_of_clubs)) starter = i; } } else { starter = (game_pass + 1) % 4; } /* play */ i = starter; while (i != user) { player_play_card(player[i], player_play(player[i])); i = (i + 1) % 4; } } /* test for the end of the round and show this game's score */ gboolean game_end_test(void) { gint rows, i, score_value = 0; GtkWidget *label, *score; GtkTable *score_table; gchar *label_text; GList *l; /* end of round test */ if (g_list_length(player[user]->hand->list) == 0) { /* Signal the players that the round is over */ player_round_end(player[NORTH]); player_round_end(player[EAST]); player_round_end(player[WEST]); /* strike out the previous row */ i = 0; l = game_score_labels; while (l != NULL && i < 4) { GtkLabel *label = l->data; gchar *text = g_strdup_printf("%s", gtk_label_get_label(label)); gtk_label_set_markup(label, text); g_free(text); l = l->next; i++; } /* resize the score_table widget */ score_table = (GtkTable*)glade_xml_get_widget(ui.xml, "score_table"); g_object_get(score_table, "n-rows", &rows, NULL); gtk_table_resize(score_table, rows + 1, 4); /* fill the new row */ for (i = 0; i < 4; i++) { /* update the scores */ player[i]->score_total += player[i]->score_round; player[i]->score_round = 0; label_text = g_strdup_printf("%d", player[i]->score_total); label = gtk_label_new(label_text); game_score_labels = g_list_prepend(game_score_labels, label); g_free(label_text); gtk_label_set_justify((GtkLabel*)label, GTK_JUSTIFY_CENTER); gtk_table_attach(score_table, label, i, i + 1, rows, rows + 1, GTK_EXPAND, GTK_SHRINK, 2, 0); } /* grab the score widget */ score = glade_xml_get_widget(ui.xml, "score"); /* end of game test */ for (i = 0; i < 4; i++) score_value = MAX(score_value, player[i]->score_total); if (score_value >= (cfg.ruleset == RULESET_SPOT_HEARTS ? 500 : 100)) { game_state = GAME_END; gint winner = NORTH; for (i = 0; i < 4; i++) { if (player[i]->score_total < score_value) { score_value = player[i]->score_total; winner = i; } } if (winner == user) gtk_window_set_title((GtkWindow*)score, _("Game over - You have won!")); else gtk_window_set_title((GtkWindow*)score, _("Game over - You have lost")); game_set_status(_("Click somewhere to start a new game.")); } else { game_set_status(_("Click somewhere to continue the game.")); game_state = GAME_ROUND_END; } /* show the score */ gtk_widget_show_all(score); return TRUE; } return FALSE; } /* pass cards to the next player */ gboolean game_pass_cards(GtkWidget *widget) { gint x, y, width, height, mouse_x, mouse_y, p; GList *temp[4]; /* get the area we're supposed to click on */ gtk_widget_get_pointer(widget, &mouse_x, &mouse_y); cards_hand_get_area(player[(user + game_pass) % 4]->hand, widget, ui.cards_image, &x, &y, &width, &height, TRUE); if (mouse_x >= x && mouse_x < x + width && mouse_y >= y && mouse_y < y + height) { /* pass the cards and make a copy in the history for trick reset support */ for (p = 0; p < 4; p++) temp[p] = cards_hand_draw_selected(player[p]->hand); for (p = 0; p < 4; p++) { player_receive_cards(player[(p + game_pass) % 4], temp[p]); g_list_free(temp[p]); } /* redraw */ ui_draw_playingarea(); return TRUE; } return FALSE; } /* (de)select cards in the passing round */ gint game_select_cards(GtkWidget *widget) { GList *i; Card *card, *active; gint x, y, width, height, num_selected = 0; i = player[user]->hand->list; active = NULL; /* loop through the hand to find the active cards and the number of selected cards */ do { card = (Card*)i->data; if (card->active) active = card; if (card->selected) num_selected++; i = g_list_next(i); } while (i != NULL); /* You cannot select the active card if there are already 3 selected cards */ if (active != NULL && (num_selected < 3 || active->selected == TRUE)) { active->selected = !active->selected; /* adjust the number of selected cards */ if (active->selected) num_selected++; else num_selected--; } /* redraw the screen */ cards_hand_get_area(player[user]->hand, widget, ui.cards_image, &x, &y, &width, &height, TRUE); background_render(ui.backbuffer, x, y, width, height); cards_hand_render(player[user]->hand, ui.cards_image, ui.backbuffer, ui.backbuffer_gc, x, y); gtk_widget_queue_draw_area(widget, x, y, width, height); return num_selected; } /* Publish the game's score to Python */ void game_score_publish() { PyObject *module, *dict, *object, *result; /* Get a reference to score.set() */ module = PyImport_AddModule("__main__"); dict = PyModule_GetDict(module); object = PyDict_GetItemString(dict, "score"); PyObject *score_list_round = Py_BuildValue("[iiii]", player[NORTH]->score_round, player[EAST]->score_round, player[SOUTH]->score_round, player[WEST]->score_round); PyObject *score_list_game = Py_BuildValue("[iiii]", player[NORTH]->score_total + player[NORTH]->score_round, player[EAST]->score_total + player[EAST]->score_round, player[SOUTH]->score_total + player[SOUTH]->score_round, player[WEST]->score_total + player[WEST]->score_round); result = PyObject_CallMethod(object, "set", "OO", score_list_round, score_list_game); Py_DECREF(score_list_round); Py_DECREF(score_list_game); Py_DECREF(result); } /* returns wether a card is valid to play from this hand on the stack */ gboolean game_is_valid_card(Card *card, CardsHand *hand, Trick *trick) { /* special case: opening with a two of clubs (variant) */ if (cfg.clubs_lead && g_list_length(hand->list) == 13 && trick->num_played == 0) { if (card->suit == CARDS_CLUBS && card->rank == CARD_TWO) return TRUE; else return FALSE; } /* special case, no blood in the first round, unless we have to */ if (cfg.no_blood && (card->suit == CARDS_HEARTS || (card->suit == CARDS_SPADES && card->rank == CARD_QUEEN)) && g_list_length(hand->list) == 13) { GList *l; gint num_pointcards = 0; for (l = hand->list; l; l = l->next) { Card *lcard = l->data; if (lcard->suit == CARDS_HEARTS || (lcard->suit == CARDS_SPADES && lcard->rank == CARD_QUEEN)) num_pointcards++; } if (num_pointcards < 13) return FALSE; } /* special case: hearts must have been "broken" to be played as trump (variant). If a player has all hearts, then one must be played anyway */ if (cfg.hearts_break && trick->num_played == 0 && game_hearts_broken == FALSE && card->suit == CARDS_HEARTS && cards_hand_num_suit(hand, CARDS_HEARTS) != cards_hand_length(hand) ) return FALSE; /* follow the trump if possible */ if (trick->trump > -1 && card->suit != trick->trump && cards_hand_num_suit(hand, trick->trump) > 0) return FALSE; /* no more reason to disallow a card */ return TRUE; } /* get a hint string */ gchar* game_get_hint(void) { if (game_state == GAME_PLAY) { if (game_trick.num_played == 4) return g_strdup(_("Click somewhere to continue the game.")); Card *card = player_play(player[user]); /* Hint: %s is the name of the card the player should play */ return g_strdup_printf(_("Play %s."), card_get_name(card)); } else if (game_state == GAME_PASS_CARDS) { gchar *name = player[(user + game_pass) % 4]->name; return g_strdup_printf(_("Click on the hand of %s to pass the cards."), name); } else if (game_state == GAME_SELECT_CARDS) { GList *l, *cards = player_select_cards(player[user]); for (l = cards; l; l = l->next) { Card *card = l->data; if (!card->selected) /* Hint: %s is the name of the card the player should pass on */ return g_strdup_printf(_("Pass %s."), card_get_name(card)); } } return g_strdup(_("Sorry, I can't help you.")); } /* Set the text of the status bar */ void game_set_status(gchar *message) { GtkStatusbar *statusbar = GTK_STATUSBAR(glade_xml_get_widget(ui.xml, "statusbar")); gint context_id = gtk_statusbar_get_context_id(statusbar, "hearts user feedback"); gtk_statusbar_pop(statusbar, context_id); gtk_statusbar_push(statusbar, context_id, message); } int main(int argc, char *argv[]) { #ifdef ENABLE_NLS bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); textdomain(PACKAGE); setlocale(LC_ALL, ""); #endif /* Initialize GNOME */ GOptionContext *option_context = g_option_context_new(_("- Play a game of hearts")); g_option_context_add_main_entries(option_context, option_entries, GETTEXT_PACKAGE); gnome_program_init(PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv, GNOME_PARAM_GOPTION_CONTEXT, option_context, GNOME_PARAM_APP_DATADIR, PACKAGE_DATA_DIR, GNOME_PARAM_NONE); /* init the game's global variables */ game_score_labels = NULL; game_state = GAME_SELECT_CARDS; game_pass = 0; game_hearts_broken = FALSE; game_deck = cards_deck_new(TRUE, FALSE); trick_reset(&game_trick); user = SOUTH; /* Start the Glade UI - must be done before starting Python because Python loads AI's in the UI combo boxes */ ui_load(); /* Start the Python interpreter and load the hearts base module and list of AI's */ python_start(); /* Load the configuration */ config_load(); /* Apply the loaded configuration settings */ ui_set_config(); /* Load the background */ background_load(cfg.background_image); /* Start the game */ ui_start(); game_new(); gtk_main(); /* Free the global structures */ background_free(); config_free(); python_stop(); ui_free(); return 0; } gnome-hearts-0.3/src/cfg.c0000644000175000017500000001514611042105054012357 00000000000000/* * Hearts - cfg.c * Copyright 2006 Sander Marechal * * 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. */ #ifdef HAVE_CONFIG_H # include #endif /* Must be inlcuded first */ #include #include #include #include "cards.h" #include "cfg.h" Config cfg; /* * create a new $XDG_CONFIG_HOME/gnome-hearts/gnome-hearts.cfg file * * If an old configuration file exists at $HOME/.gnome-hearts.cfg it will * copy that and then delete it. */ static void config_create(void) { gchar *buffer; gsize size; gchar *old_file = g_build_filename(g_get_home_dir(), "/.gnome-hearts.cfg", NULL); gchar *new_file = g_build_filename(PACKAGE_DATA_DIR, "gnome-hearts", "gnome-hearts.cfg", NULL); if (!g_file_test(cfg.config_path, G_FILE_TEST_EXISTS)) g_mkdir_with_parents(cfg.config_path, 0700); if (g_file_test(old_file, G_FILE_TEST_EXISTS)) { g_file_get_contents(old_file, &buffer, &size, NULL); g_file_set_contents(cfg.config_file, buffer, size, NULL); g_unlink(old_file); } else { g_file_get_contents(new_file, &buffer, &size, NULL); g_file_set_contents(cfg.config_file, buffer, size, NULL); } g_free(old_file); g_free(new_file); g_free(buffer); } /* Load a configuration from a keyfile pointer */ static void config_load_from_keyfile(GKeyFile *file) { gchar *ruleset = g_key_file_get_string(file, "hearts", "ruleset", NULL); if (g_ascii_strcasecmp(ruleset, "standard") == 0) cfg.ruleset = RULESET_STANDARD; if (g_ascii_strcasecmp(ruleset, "omnibus") == 0) cfg.ruleset = RULESET_OMNIBUS; if (g_ascii_strcasecmp(ruleset, "omnibus_alt") == 0) cfg.ruleset = RULESET_OMNIBUS_ALT; if (g_ascii_strcasecmp(ruleset, "spot_hearts") == 0) cfg.ruleset = RULESET_SPOT_HEARTS; g_free(ruleset); cfg.clubs_lead = g_key_file_get_boolean(file, "hearts", "clubs_lead", NULL); cfg.hearts_break = g_key_file_get_boolean(file, "hearts", "hearts_break", NULL); cfg.no_blood = g_key_file_get_boolean(file, "hearts", "no_blood", NULL); cfg.queen_breaks_hearts = g_key_file_get_boolean(file, "hearts", "queen_breaks_hearts", NULL); cfg.show_scores = g_key_file_get_boolean(file, "hearts", "show_scores", NULL); cfg.north_ai = g_key_file_get_string(file, "hearts", "north_ai", NULL); cfg.east_ai = g_key_file_get_string(file, "hearts", "east_ai", NULL); cfg.west_ai = g_key_file_get_string(file, "hearts", "west_ai", NULL); cfg.card_style = g_key_file_get_string(file, "hearts", "card_style", NULL); cfg.background_image = g_key_file_get_string(file, "hearts", "background_image", NULL); cfg.background_tiled = g_key_file_get_boolean(file, "hearts", "background_tiled", NULL); } /* Load the gnome-hearts configuration */ void config_load(void) { GKeyFile *file = g_key_file_new(); cfg.config_path = (g_getenv("XDG_CONFIG_HOME") == NULL ? g_build_filename(g_get_home_dir(), ".config", "gnome-hearts", NULL) : g_strdup(g_getenv("XDG_CONFIG_HOME"))); cfg.config_file = g_build_filename(cfg.config_path, "gnome-hearts.cfg", NULL); if (!g_file_test(cfg.config_file, G_FILE_TEST_EXISTS)) config_create(); g_key_file_load_from_file(file, cfg.config_file, G_KEY_FILE_KEEP_COMMENTS, NULL); /* replace ~/.gnome-hearts.cfg if it's outdated. Increment this everytime the config changes */ gint version = g_key_file_get_integer(file, "hearts", "version", NULL); if (version < 3) { config_create(); g_key_file_load_from_file(file, cfg.config_file, G_KEY_FILE_KEEP_COMMENTS, NULL); } config_load_from_keyfile(file); g_key_file_free(file); /* Update the configuration in Python */ config_publish(); } /* Save the gnome-hearts configuration */ void config_save(void) { gsize size; GKeyFile *file = g_key_file_new(); g_key_file_load_from_file(file, cfg.config_file, G_KEY_FILE_KEEP_COMMENTS, NULL); gchar *ruleset; switch (cfg.ruleset) { case RULESET_OMNIBUS: ruleset = "omnibus"; break; case RULESET_OMNIBUS_ALT: ruleset = "omnibus_alt"; break; case RULESET_SPOT_HEARTS: ruleset = "spot_hearts"; break; case RULESET_STANDARD: default: ruleset = "standard"; break; } g_key_file_set_string(file, "hearts", "ruleset", ruleset); g_key_file_set_boolean(file, "hearts", "clubs_lead", cfg.clubs_lead); g_key_file_set_boolean(file, "hearts", "hearts_break", cfg.hearts_break); g_key_file_set_boolean(file, "hearts", "no_blood", cfg.no_blood); g_key_file_set_boolean(file, "hearts", "queen_breaks_hearts", cfg.queen_breaks_hearts); g_key_file_set_boolean(file, "hearts", "show_scores", cfg.show_scores); g_key_file_set_string(file, "hearts", "north_ai", cfg.north_ai); g_key_file_set_string(file, "hearts", "east_ai", cfg.east_ai); g_key_file_set_string(file, "hearts", "west_ai", cfg.west_ai); g_key_file_set_string(file, "hearts", "card_style", cfg.card_style); g_key_file_set_string(file, "hearts", "background_image", cfg.background_image); g_key_file_set_boolean(file, "hearts", "background_tiled", cfg.background_tiled); gchar *buffer = g_key_file_to_data(file, &size, NULL); g_key_file_free(file); /* write it to the cfg file */ g_file_set_contents(cfg.config_file, buffer, size, NULL); g_free(buffer); } /* Publish the config to Python */ void config_publish(void) { gchar *ruleset; PyObject *module, *dict, *object, *result; /* Get a reference to score.set() */ module = PyImport_AddModule("__main__"); dict = PyModule_GetDict(module); object = PyDict_GetItemString(dict, "rules"); switch (cfg.ruleset) { case RULESET_OMNIBUS: ruleset = "omnibus"; break; case RULESET_OMNIBUS_ALT: ruleset = "omnibus_alt"; break; case RULESET_SPOT_HEARTS: ruleset = "spot_hearts"; break; case RULESET_STANDARD: default: ruleset = "standard"; break; } result = PyObject_CallMethod(object, "set", "siiii", ruleset, cfg.clubs_lead, cfg.hearts_break, cfg.queen_breaks_hearts, cfg.no_blood); Py_DECREF(result); } /* Free the allocated data */ void config_free(void) { g_free(cfg.north_ai); g_free(cfg.east_ai); g_free(cfg.west_ai); g_free(cfg.card_style); g_free(cfg.background_image); g_free(cfg.config_path); g_free(cfg.config_file); } gnome-hearts-0.3/src/Makefile.in0000644000175000017500000004224011042107705013521 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : bin_PROGRAMS = gnome-hearts$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/gnome-hearts.cfg.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = gnome-hearts.cfg am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gnome_heartsdir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_gnome_hearts_OBJECTS = hearts.$(OBJEXT) background.$(OBJEXT) \ cards.$(OBJEXT) cards-image.$(OBJEXT) cfg.$(OBJEXT) \ events.$(OBJEXT) player-api.$(OBJEXT) player.$(OBJEXT) \ preimage.$(OBJEXT) ui.$(OBJEXT) gnome_hearts_OBJECTS = $(am_gnome_hearts_OBJECTS) am__DEPENDENCIES_1 = gnome_hearts_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(gnome_hearts_SOURCES) DIST_SOURCES = $(gnome_hearts_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 = `echo $$p | sed -e 's|^.*/||'`; gnome_heartsDATA_INSTALL = $(INSTALL_DATA) DATA = $(gnome_hearts_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ gnome_heartsdir = $(datadir)/gnome-hearts gnome_hearts_DATA = gnome-hearts.glade gnome-hearts.cfg AM_CPPFLAGS = $(GNOME_HEARTS_CFLAGS) $(PYTHON_CFLAGS) AM_CFLAGS = \ -Wall\ -g gnome_hearts_SOURCES = \ hearts.c\ hearts.h\ background.c\ background.h\ cards.c\ cards.h\ cards-image.c\ cards-image.h\ cfg.c\ cfg.h\ events.c\ events.h\ gettext.h\ player-api.c\ player-api.h\ player.c\ player.h\ preimage.c\ preimage.h\ ui.c\ ui.h gnome_hearts_LDADD = \ $(GNOME_HEARTS_LIBS) $(PYTHON_LIBS) EXTRA_DIST = $(gnome_hearts_DATA) all: 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 \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/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 gnome-hearts.cfg: $(top_builddir)/config.status $(srcdir)/gnome-hearts.cfg.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) gnome-hearts$(EXEEXT): $(gnome_hearts_OBJECTS) $(gnome_hearts_DEPENDENCIES) @rm -f gnome-hearts$(EXEEXT) $(LINK) $(gnome_hearts_OBJECTS) $(gnome_hearts_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/background.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cards-image.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cards.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/events.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hearts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/player-api.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/player.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preimage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @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@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @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) '$<'` install-gnome_heartsDATA: $(gnome_hearts_DATA) @$(NORMAL_INSTALL) test -z "$(gnome_heartsdir)" || $(MKDIR_P) "$(DESTDIR)$(gnome_heartsdir)" @list='$(gnome_hearts_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(gnome_heartsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gnome_heartsdir)/$$f'"; \ $(gnome_heartsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gnome_heartsdir)/$$f"; \ done uninstall-gnome_heartsDATA: @$(NORMAL_UNINSTALL) @list='$(gnome_hearts_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(gnome_heartsdir)/$$f'"; \ rm -f "$(DESTDIR)$(gnome_heartsdir)/$$f"; \ 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; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$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 $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gnome_heartsdir)"; 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) 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-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 info: info-am info-am: install-data-am: install-gnome_heartsDATA install-dvi: install-dvi-am install-exec-am: install-binPROGRAMS install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: 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 uninstall-gnome_heartsDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-gnome_heartsDATA \ 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 \ uninstall-gnome_heartsDATA # 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: gnome-hearts-0.3/src/gettext.h0000644000175000017500000000171511042105054013306 00000000000000/* * Hearts - gettext.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef GETTEXT_H #define GETTEXT_H #include #define _(String) gettext (String) #define gettext_noop(String) String #define N_(String) gettext_noop (String) #endif gnome-hearts-0.3/src/events.h0000644000175000017500000000610611042105054013125 00000000000000/* * Hearts - events.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef EVENTS_H #define EVENTS_H #include "hearts.h" #include "cards.h" /* toolbar/menu events */ void on_new_event (GtkWidget *widget, gpointer data); void on_restart_event (GtkWidget *widget, gpointer data); void on_scores_event (GtkWidget *widget, gpointer data); void on_quit_event (GtkWidget *widget, gpointer data); void on_undo_event (GtkWidget *widget, gpointer data); void on_redo_event (GtkWidget *widget, gpointer data); void on_online_help (GtkWidget *widget, gpointer data); void on_about_event (GtkImageMenuItem *widget, gpointer data); void on_toolbar_toggled (GtkCheckMenuItem *widget, gpointer data); /* playing area events */ gboolean button_press_event (GtkWidget *widget, GdkEventButton *event); gboolean motion_notify_event (GtkWidget *widget, GdkEventMotion *event); gboolean on_expose_event (GtkWidget *widget, GdkEventExpose *event); gboolean on_configure_event (GtkWidget *widget, gpointer data); /* score table signals */ void on_score_ok_clicked (GtkButton *widget, gpointer *data); void on_score_new_clicked (GtkButton *widget, gpointer *data); gboolean hide_score_event (GtkWidget *widget, GdkEvent *event, gpointer data); /* preferences signals */ void on_preferences_event (GtkWidget *widget, gpointer data); void on_ruleset_changed (GtkComboBox *widget, gpointer *data); void on_clubs_lead_changed (GtkToggleButton *widget, gpointer *data); void on_hearts_break_changed (GtkToggleButton *widget, gpointer *data); void on_no_blood_changed (GtkToggleButton *widget, gpointer *data); void on_queen_breaks_hearts_changed (GtkToggleButton *widget, gpointer *data); void on_show_scores_changed (GtkToggleButton *widget, gpointer *data); void on_north_ai_changed (GtkComboBox *widget, gpointer *data); void on_east_ai_changed (GtkComboBox *widget, gpointer *data); void on_west_ai_changed (GtkComboBox *widget, gpointer *data); void on_card_style_changed (GtkComboBox *widget, gpointer *data); void on_prefs_ok_clicked (GtkButton *widget, gpointer *data); gboolean prefs_delete_event (GtkWidget *widget, GdkEvent *event, gpointer data); /* hint signals */ void on_hint_event (GtkWidget *widget, gpointer data); void on_hide_ok_clicked (GtkButton *widget, gpointer *data); gboolean hide_hint_event (GtkWidget *widget, GdkEvent *event, gpointer data); #endif gnome-hearts-0.3/src/events.c0000644000175000017500000004242211042105054013121 00000000000000/* * Hearts - events.c * Copyright 2006 Sander Marechal * * 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "events.h" #include "background.h" /* New game menu item and button */ void on_new_event(GtkWidget *widget, gpointer data) { game_new(); ui_draw_playingarea(); } /* Restart menu item and button */ void on_restart_event(GtkWidget *widget, gpointer data) { game_restart_round(); ui_draw_playingarea(); } /* Show scores menu item */ void on_scores_event(GtkWidget *widget, gpointer data) { GtkWidget *score = glade_xml_get_widget(ui.xml, "score"); gtk_widget_show (score); } /* * menu/toolbar events */ /* Quit menu item */ void on_quit_event(GtkWidget *widget, gpointer data) { gtk_main_quit(); return; } /* Undo menu item and button */ void on_undo_event(GtkWidget *widget, gpointer data) { return; } /* Redo game menu item and button */ void on_redo_event(GtkWidget *widget, gpointer data) { return; } /* Open the help file */ void on_help(GtkWidget *widget, gpointer data) { gnome_help_display("gnome-hearts.xml", NULL, NULL); } /* Open the preferences help file */ void on_preferences_help(GtkWidget *widget, gpointer data) { gnome_help_display("gnome-hearts.xml", "hearts-prefs", NULL); } /* About menu item */ void on_about_event(GtkImageMenuItem *widget, gpointer data) { GtkWidget *about; about = glade_xml_get_widget(ui.xml, "about"); gtk_widget_show (about); return; } /* Fullscreen */ void on_fullscreen_event(GtkWidget *widget, gpointer data) { GtkWidget *window = glade_xml_get_widget(ui.xml, "hearts"); GdkWindowState state = gdk_window_get_state(window->window); if (state & GDK_WINDOW_STATE_FULLSCREEN) { gtk_widget_show(glade_xml_get_widget(ui.xml, "fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "fullscreen"), TRUE); gtk_widget_hide(glade_xml_get_widget(ui.xml, "leave_fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen"), FALSE); gtk_widget_hide(glade_xml_get_widget(ui.xml, "leave_fullscreen_button")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen_button"), FALSE); gtk_window_unfullscreen((GtkWindow*)glade_xml_get_widget(ui.xml, "hearts")); } else { gtk_widget_hide(glade_xml_get_widget(ui.xml, "fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "fullscreen"), FALSE); gtk_widget_show(glade_xml_get_widget(ui.xml, "leave_fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen"), TRUE); gtk_widget_show(glade_xml_get_widget(ui.xml, "leave_fullscreen_button")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen_button"), TRUE); gtk_window_fullscreen((GtkWindow*)glade_xml_get_widget(ui.xml, "hearts")); } } void on_leave_fullscreen_event(GtkWidget *widget, gpointer data) { gtk_widget_show(glade_xml_get_widget(ui.xml, "menubar")); gtk_widget_show(glade_xml_get_widget(ui.xml, "fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "fullscreen"), TRUE); gtk_widget_hide(glade_xml_get_widget(ui.xml, "leave_fullscreen")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen"), FALSE); gtk_widget_hide(glade_xml_get_widget(ui.xml, "leave_fullscreen_button")); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "leave_fullscreen_button"), FALSE); gtk_window_unfullscreen((GtkWindow*)glade_xml_get_widget(ui.xml, "hearts")); } /* Toolbar toggle menu item */ void on_toolbar_toggled(GtkCheckMenuItem *widget, gpointer data) { GtkWidget *toolbar; toolbar = glade_xml_get_widget(ui.xml, "toolbar"); if (gtk_check_menu_item_get_active(widget)) gtk_widget_show_all(toolbar); else gtk_widget_hide_all(toolbar); return; } /* Statusbar toggle menu item */ void on_statusbar_toggled(GtkCheckMenuItem *widget, gpointer data) { GtkWidget *statusbar; statusbar = glade_xml_get_widget(ui.xml, "statusbar"); if (gtk_check_menu_item_get_active(widget)) gtk_widget_show_all(statusbar); else gtk_widget_hide_all(statusbar); return; } /* * playingarea events */ /* deal with mouse clicks */ gboolean button_press_event(GtkWidget *widget, GdkEventButton *event) { Card *card, *active; gint i; if (event->button != 1) return TRUE; card = active = NULL; switch (game_state) { case GAME_PASS_CARDS: if (game_pass > 0 && game_pass_cards(widget)) { game_set_status(_("Click somewhere to continue the game.")); game_state = GAME_RECIEVE_CARDS; break; } /* Don't break here. You can deselect cards instead of passing them as well */ case GAME_SELECT_CARDS: /* if there are 3 cards selected, cards can be passed */ if (game_select_cards(widget) == 3) { gchar *name = player[(user + game_pass) % 4]->name; gchar *message = g_strdup_printf(_("Click on the hand of %s to pass the cards."), name); game_set_status(message); g_free(message); game_state = GAME_PASS_CARDS; } else game_state = GAME_SELECT_CARDS; break; case GAME_RECIEVE_CARDS: /* start the round */ cards_deck_deselect(game_deck); game_set_status(_("Click on the card you wish to play.")); game_state = GAME_PLAY; game_open_round(); /* redraw the screen */ ui_draw_playingarea(); break; case GAME_PLAY: /* see if we're done playing this trick */ if (game_trick.num_played == 4) { /* start the next trick in this game */ trick_reset(&game_trick); /* is this also the end of the round or game? */ if (game_end_test()) return TRUE; /* play cards until it's the user's turn */ i = game_trick_winner; while (i != user) { player_play_card(player[i], player_play(player[i])); i = (i + 1) % 4; } /* redraw the screen */ game_set_status(_("Click on the card you wish to play.")); ui_draw_playingarea(); return TRUE; } /* loop through the hand to find the active card and make sure it's valid. * Apparently it's sometimes possible to play an invalid card. See bug #30. */ card = cards_hand_get_active(player[user]->hand); if (card == NULL || !game_is_valid_card(card, player[user]->hand, &game_trick)) return TRUE; player_play_card(player[user], card); /* play cards until the trick is over */ i = user; while (game_trick.num_played < 4) { i = (i + 1) % 4; player_play_card(player[i], player_play(player[i])); } /* update the game status and score */ if ( cfg.queen_breaks_hearts ) game_hearts_broken = game_hearts_broken || ( trick_num_point_cards( &game_trick ) > 0 ) ; else game_hearts_broken = game_hearts_broken || trick_num_suit(&game_trick, CARDS_HEARTS); game_trick_winner = trick_get_winner(&game_trick); player_take_trick(player[game_trick_winner], &game_trick); /* show the tricks to the AI's */ player_trick_end(player[NORTH]); player_trick_end(player[EAST]); player_trick_end(player[WEST]); /* redraw the screen */ game_set_status(_("Click somewhere to continue the game.")); ui_draw_playingarea(); break; case GAME_ROUND_END: game_new_round(); ui_draw_playingarea(); break; case GAME_END: game_new(); ui_draw_playingarea(); break; default: g_assert_not_reached(); } return TRUE; } /* follow the cursor around, checking for active cards */ gboolean motion_notify_event (GtkWidget *widget, GdkEventMotion *event) { Card *card; gint cx, cy, x, y, width, height, offset_x, offset_y, y_adj; gboolean update = FALSE; /* hinst are used so we don't fall behind the user */ if (event->is_hint) gtk_widget_get_pointer(widget, &cx, &cy); else { cx = event->x; cy = event->y; } /* are we in the south_hand area? */ offset_x = ui.cards_image->width / 4; offset_y = ui.cards_image->height / 4; cards_hand_get_area(player[user]->hand, widget, ui.cards_image, &x, &y, &width, &height, TRUE); if (cx < x || cx >= x + width || cy < y || cy >= y + height) { card = cards_hand_get_active(player[user]->hand); if (card && card->active) { card->active = FALSE; update = TRUE; } } else { /* find the currently active card */ Card *current_active = cards_hand_get_active(player[user]->hand); Card *new_active = NULL; GList *i = NULL; /* loop through the hand and mark the new active card */ for (i = player[user]->hand->list; i; i = i->next) { card = (Card*)i->data; /* calculate the card's onscreen position */ if (card->selected) y_adj = y; else y_adj = y + offset_y; /* is the cursor on the card? */ if (cx >= x && cx < x + ui.cards_image->width && cy >= y_adj && cy < y_adj + ui.cards_image->height) { /* update the card */ if (game_state != GAME_PLAY || game_is_valid_card(card, player[user]->hand, &game_trick)) { card->active = TRUE; new_active = card; } /* mark previous three cards as non-active since this card covers it */ gint count = 0; GList *j = i; while (g_list_previous(j) != NULL && count < 3) { count++; j = g_list_previous(j); card = (Card*)j->data; card->active = FALSE; } } else card->active = FALSE; x += offset_x; } if (current_active != new_active) update = TRUE; } if (update) { x = (widget->allocation.width - width) / 2; cards_hand_render(player[user]->hand, ui.cards_image, ui.backbuffer, ui.backbuffer_gc, x, y); gtk_widget_queue_draw_area(widget, x, y, x + width, y + height); } return TRUE; } /* Called when we need to draw part of the table */ gboolean on_expose_event(GtkWidget *widget, GdkEventExpose *event) { if (ui.backbuffer == NULL) on_configure_event(widget, NULL); /* Draw the exposed part from the background buffer to the screen */ gdk_draw_drawable(widget->window, widget->style->black_gc, ui.backbuffer, event->area.x, event->area.y, event->area.x, event->area.y, event->area.width, event->area.height); return FALSE; } /* Called on e.g. creation and resizes */ gboolean on_configure_event(GtkWidget *widget, gpointer data) { gint width, height; width = widget->allocation.width; height = widget->allocation.height; /* Remove the existing background buffer */ if (ui.backbuffer) g_object_unref(ui.backbuffer); if (ui.backbuffer_gc) g_object_unref(ui.backbuffer_gc); /* Create a new buffer and GC */ ui.backbuffer = gdk_pixmap_new(widget->window, width, height, -1); ui.backbuffer_gc = gdk_gc_new(ui.backbuffer); /* resize the background and cards */ background_flush(FALSE); cards_image_set_size(ui.cards_image, width / 8, height / 5); ui_draw_playingarea(); return TRUE; } /* * score table events */ /* next round */ void on_score_ok_clicked (GtkButton *widget, gpointer *data) { GtkWidget *score; score = glade_xml_get_widget(ui.xml, "score"); gtk_widget_hide_all (score); game_new_round(); ui_draw_playingarea(); return; } /* new game */ void on_score_new_clicked (GtkButton *widget, gpointer *data) { GtkWidget *score; score = glade_xml_get_widget(ui.xml, "score"); gtk_widget_hide_all(score); game_new(); ui_draw_playingarea(); return; } /* * preferences events */ /* Show preferences dialog */ void on_preferences_event(GtkWidget *widget, gpointer data) { gtk_widget_show_all(glade_xml_get_widget(ui.xml, "preferences")); return; } /* update the ruleset */ void on_ruleset_changed (GtkComboBox *widget, gpointer *data) { gint i = gtk_combo_box_get_active(widget); if (i != -1) cfg.ruleset = i; else cfg.ruleset = RULESET_STANDARD; game_new(); } /* update the clubs_lead radio */ void on_clubs_lead_changed (GtkToggleButton *widget, gpointer *data) { cfg.clubs_lead = gtk_toggle_button_get_active(widget); game_new(); } /* update the hearts_broken radio */ void on_hearts_break_changed (GtkToggleButton *widget, gpointer *data) { cfg.hearts_break = gtk_toggle_button_get_active(widget); gtk_widget_set_sensitive(glade_xml_get_widget(ui.xml, "queen_breaks_hearts"), cfg.hearts_break); // Also update queen_breaks_hearts if hearts_broken is disabled if (!cfg.hearts_break) { gtk_toggle_button_set_active(glade_xml_get_widget(ui.xml, "queen_breaks_hearts"), FALSE); cfg.queen_breaks_hearts = FALSE; } game_new(); } /* update the no_blood radio */ void on_no_blood_changed (GtkToggleButton *widget, gpointer *data) { cfg.no_blood = gtk_toggle_button_get_active(widget); game_new(); } /* update the queen_breaks_hearts config value */ void on_queen_breaks_hearts_changed (GtkToggleButton *widget, gpointer *data) { cfg.queen_breaks_hearts = gtk_toggle_button_get_active(widget); game_new(); } void on_show_scores_changed (GtkToggleButton *widget, gpointer *data) { int i; cfg.show_scores = gtk_toggle_button_get_active(widget); if (!cfg.show_scores) { for (i = 0; i < 4; i++) { gchar *name = g_strconcat("", player[i]->name, "", NULL); pango_layout_set_markup(player[i]->layout, name, -1); g_free(name); } } ui_draw_playingarea(); } /* load new north_ai */ void on_north_ai_changed (GtkComboBox *widget, gpointer *data) { GList *l; gchar* text = gtk_combo_box_get_active_text(widget); gtk_label_set_text(GTK_LABEL(glade_xml_get_widget(ui.xml, "north_name")), text); // Find the class for (l = ui.ai_scripts; l; l = l->next) { AIScript *ai_script = l->data; if (strcmp(text, ai_script->name) == 0) cfg.north_ai = g_strdup(ai_script->class); } g_free(text); game_new(); } /* load new east_ai */ void on_east_ai_changed (GtkComboBox *widget, gpointer *data) { GList *l; gchar* text = gtk_combo_box_get_active_text(widget); gtk_label_set_text(GTK_LABEL(glade_xml_get_widget(ui.xml, "east_name")), text); // Find the class for (l = ui.ai_scripts; l; l = l->next) { AIScript *ai_script = l->data; if (strcmp(text, ai_script->name) == 0) cfg.east_ai = g_strdup(ai_script->class); } g_free(text); game_new(); } /* load new west_ai */ void on_west_ai_changed (GtkComboBox *widget, gpointer *data) { GList *l; gchar* text = gtk_combo_box_get_active_text(widget); gtk_label_set_text(GTK_LABEL(glade_xml_get_widget(ui.xml, "west_name")), text); // Find the class for (l = ui.ai_scripts; l; l = l->next) { AIScript *ai_script = l->data; if (strcmp(text, ai_script->name) == 0) cfg.west_ai = g_strdup(ai_script->class); } g_free(text); game_new(); } /* load a new background image */ void on_background_changed (GtkFileChooser *widget, gpointer *data) { if (widget == NULL) return; gchar *path = gtk_file_chooser_get_filename(widget); if (path == NULL) return; background_load(path); GtkWidget *playingarea_widget = glade_xml_get_widget(ui.xml, "playingarea"); on_configure_event(playingarea_widget, NULL); cfg.background_image = g_strdup(path); g_free(path); } void on_background_tile_toggled (GtkToggleButton *widget, gpointer *data) { cfg.background_tiled = gtk_toggle_button_get_active(widget); GtkWidget *playingarea_widget = glade_xml_get_widget(ui.xml, "playingarea"); on_configure_event(playingarea_widget, NULL); } /* load a new cards_image */ void on_card_style_changed (GtkComboBox *widget, gpointer *data) { gchar *path = NULL; gchar *card = gtk_combo_box_get_active_text(widget); GList *l = NULL; for (l = ui.card_styles; l; l = l->next) { CardStyle *card_style = l->data; if (strcmp(card_style->name, card) == 0) { path = g_strdup(card_style->path); break; } } cards_image_free(ui.cards_image); ui.cards_image = cards_image_from_file(path); GtkWidget *playingarea_widget = glade_xml_get_widget(ui.xml, "playingarea"); on_configure_event(playingarea_widget, NULL); cfg.card_style = g_strdup(card); g_free(card); } /* hide the preferences */ void on_prefs_ok_clicked (GtkButton *widget, gpointer *data) { config_save(); /* hide the preferences dialog */ gtk_widget_hide_all(glade_xml_get_widget(ui.xml, "preferences")); /* display the new game started by changed prefs */ ui_draw_playingarea(); } /* hide the preferences */ gboolean prefs_delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) { on_prefs_ok_clicked(NULL, NULL); return TRUE; } /** * hint events */ /* Hint menu item and button */ void on_hint_event(GtkWidget *widget, gpointer data) { gchar *hint = game_get_hint(); GtkLabel *hint_text = (GtkLabel*)glade_xml_get_widget(ui.xml, "hint_text"); gtk_label_set_text(hint_text, hint); gtk_widget_show_all(glade_xml_get_widget(ui.xml, "hint")); g_free(hint); return; } void on_hide_ok_clicked (GtkButton *widget, gpointer *data) { gtk_widget_hide_all(glade_xml_get_widget(ui.xml, "hint")); return; } /* hide the hint dialog */ gboolean hide_hint_event (GtkWidget *widget, GdkEvent *event, gpointer data) { gtk_widget_hide_all(glade_xml_get_widget(ui.xml, "hint")); return TRUE; } gnome-hearts-0.3/src/player-api.c0000644000175000017500000000551711042105054013664 00000000000000/* * Hearts - player-api.c * Copyright 2006 Sander Marechal * * 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. */ #ifdef HAVE_CONFIG_H # include #endif #include #include "hearts.h" #include "cfg.h" #include "cards.h" #include "ui.h" #include "player-api.h" /* Start python and load hearts.py */ void python_start(void) { Py_Initialize(); initplayer_api(); PyObject *module = PyImport_AddModule("__main__"); PyObject *dict = PyModule_GetDict(module); FILE* file = fopen(PYTHON_DIR"/gnome-hearts/hearts.py", "r"); g_assert(file); PyRun_File(file, "hearts.py", Py_file_input, dict, dict); if (PyErr_Occurred()) { PyErr_Print(); g_assert_not_reached(); } fclose(file); } /* Stop python */ void python_stop(void) { Py_Finalize(); } /* Python function that returns the value of the trick */ static PyObject* python_trick_get_score(PyObject *self, PyObject *args) { return Py_BuildValue("i", trick_get_score(&game_trick)); } /* Python function that returns if a card is valid or not */ static PyObject* python_is_valid(PyObject *self, PyObject *args) { gint suit, rank, p; Card *card; /* Get the card and the player direction */ if (!PyArg_ParseTuple(args, "(ii)i", &suit, &rank, &p)) return NULL; /* find the card and return it's status */ card = &g_array_index(game_deck, Card, CARD_ID(suit, rank)); return Py_BuildValue("i", (int)game_is_valid_card(card, player[p]->hand, &game_trick)); } /* register a class as an AI */ static PyObject *python_register_ai(PyObject *self, PyObject *args) { gchar *name, *class; PyArg_ParseTuple(args, "ss", &name, &class); ui_add_ai_script(name, class); // Return None Py_INCREF(Py_None); return Py_None; } static PyMethodDef player_api_methods[] = { {"trick_get_score", python_trick_get_score, METH_VARARGS, "Return the total vaule of the cards on the trick."}, {"is_valid", python_is_valid, METH_VARARGS, "Check if a card is valid to play."}, {"register_ai", python_register_ai, METH_VARARGS, "Register a player AI script in C."}, {NULL, NULL, 0, NULL} /* sentinel */ }; /* Initialize the module */ PyMODINIT_FUNC initplayer_api(void) { Py_InitModule("player_api", player_api_methods); } gnome-hearts-0.3/src/gnome-hearts.glade0000644000175000017500000014510211042105054015037 00000000000000 750 550 True Hearts GTK_WIN_POS_CENTER gnome-hearts-small.png True True True _Game True True gtk-new True True True _Restart True True gtk-refresh 1 True _Scores True True gtk-add 1 True gtk-preferences True True True True gtk-quit True True True _View True True _Fullscreen True True gtk-fullscreen 1 True _Leave fullscreen True True gtk-leave-fullscreen 1 True _Toolbar True True True _Statusbar True True True _Control True True _Undo move True True gtk-undo 1 True _Redo move True True gtk-redo 1 True True _Hint True True gtk-dialog-info 1 True _Help True True gtk-help True True True True gtk-about True True False False True GTK_TOOLBAR_BOTH True gtk-new False True Restart True gtk-refresh False True Preferences True gtk-index False True True False False True False gtk-undo False True False gtk-redo False True Hint True gtk-dialog-info False True gtk-leave-fullscreen False False False 1 600 400 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK 2 True False False 3 GDK_WINDOW_TYPE_HINT_NORMAL Gnome Hearts 0.3 Copyright 2006-2008, Stichting Lone Wolves A hearts game for GNOME by Sander Marechal http://www.gnome-hearts.org Hearts for GNOME Sander Marechal translator-credits gnome-hearts.png False GTK_PACK_END 5 Preferences False gnome-hearts-small.png GDK_WINDOW_TYPE_HINT_DIALOG False True 2 True True 5 True 12 6 True 5 Choose a ruleset for the game and set some gentleman's rules False False True 12 True 0 _Ruleset: True ruleset False True Omnibus Omnibus Alternative Spot Hearts Standard 1 False False 1 True True _Two of clubs leads the round True 0 True False False 2 True True _Point cards may not be played on the first trick True 0 True False False 3 True True Hearts must be "_broken" before leading the trick True 0 True False False 4 True 18 True True _Queen of Spades breaks hearts True 0 True False False 5 True True _Show the player scores next to their name True 0 True False False 6 True Game tab False True 12 6 True 0 Select which players you wish to play against, or choose <random> to have the computer pick one for you. True False False True 3 2 12 6 True 1 2 1 2 GTK_FILL GTK_FILL 5 True 1 2 GTK_FILL True 1 2 2 3 GTK_FILL GTK_FILL True 0 _North: True north_ai GTK_FILL True 0 _West: True west_ai 2 3 GTK_FILL True 0 _East: True east_ai 1 2 GTK_FILL False 1 1 True Players tab 1 False True 12 6 True 0 Choose a _background image: True background False False True Select a background image False False 1 True 18 True True _Tile image True 0 True False False True True _Stretch image True 0 True background_tile False False 1 False False 2 True 0 Choose the style of the cards you wish to play with False False 3 True 12 True Car_d style: True card_style False False True 1 False 4 2 False True Style tab 2 False 1 True GTK_BUTTONBOX_END True True True gtk-help True -11 True True True gtk-close True 0 1 False GTK_PACK_END 5 GTK_WIN_POS_CENTER_ON_PARENT 200 gnome-hearts-small.png GDK_WINDOW_TYPE_HINT_DIALOG False True 2 True 10 2 4 12 6 True True 4 1 2 GTK_FILL GTK_FILL True GTK_JUSTIFY_CENTER True GTK_JUSTIFY_CENTER 1 2 True GTK_JUSTIFY_CENTER 2 3 True GTK_JUSTIFY_CENTER 3 4 1 True GTK_BUTTONBOX_END True True True gtk-close True -7 False GTK_PACK_END 5 Hint GTK_WIN_POS_CENTER_ON_PARENT gnome-hearts-small.png GDK_WINDOW_TYPE_HINT_DIALOG False True 2 True 5 6 True False False False False 1 True GTK_BUTTONBOX_END True True True gtk-close True -7 False GTK_PACK_END gnome-hearts-0.3/src/cfg.h0000644000175000017500000000273411042105054012363 00000000000000/* * Hearts - cfg.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef CFG_H #define CFG_H #include /* The Config object holds all of the game's configuration settings */ typedef struct _Config { /* General configuration options. */ gchar *config_path; gchar *config_file; gint ruleset; gboolean clubs_lead; gboolean hearts_break; gboolean no_blood; gboolean queen_breaks_hearts; gboolean show_scores; gchar *north_ai; gchar *east_ai; gchar *west_ai; gchar *card_style; gchar *background_image; gboolean background_tiled; /* These options are only accessible from the commandline. */ gboolean show_cards; } Config; extern Config cfg; void config_load(void); void config_save(void); void config_publish(void); void config_free(void); #endif gnome-hearts-0.3/src/cards-image.h0000644000175000017500000000431311042105054013773 00000000000000/* * Hearts - cards-image.h * Copyright 2006 Sander Marechal * * 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. */ #ifndef CARDS_IMAGE_H #define CARDS_IMAGE_H #include #include "preimage.h" /* the card types */ enum { CARD_ACE = 1, CARD_TWO = 2, CARD_THREE = 3, CARD_FOUR = 4, CARD_FIVE = 5, CARD_SIX = 6, CARD_SEVEN = 7, CARD_EIGHT = 8, CARD_NINE = 9, CARD_TEN = 10, CARD_JACK = 11, CARD_QUEEN = 12, CARD_KING = 13, CARD_ACE_HIGH = 14, CARDS_CLUBS = 0, CARDS_DIAMONDS = 1, CARDS_HEARTS = 2, CARDS_SPADES = 3, CARD_RED_JOKER = 52, CARD_BLACK_JOKER = 53, CARD_BACK = 54, CARDS_TOTAL = 55 }; /* The card_image struct */ typedef struct _CardsImage { /* The image as loaded from file */ Preimage *preimage; /* The image resized to teh current window size */ GdkPixbuf *pixbuf; /* width, height and ratio of a single card */ gint width; gint height; gdouble ratio; } CardsImage; /* quick function to calculate the card ID */ #define CARD_ID(suit, rank) ((13*(suit)) + ((rank-1)%13)) /* functions for the CardsImage */ CardsImage* cards_image_new(void); CardsImage* cards_image_from_file(const gchar *file); void cards_image_render_to_pixmap(CardsImage *cards, gint card_id, gboolean active, GdkPixmap *target, GdkGC *target_gc, gint x, gint y); void cards_image_set_size(CardsImage *cards, gint width, gint height); void cards_image_free(CardsImage *cards); #endif gnome-hearts-0.3/src/background.c0000644000175000017500000000611211042105054013730 00000000000000/* * Hearts - background.c * Copyright 2006 Sander Marechal * * 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. */ #include #include #include #include "background.h" #include "cfg.h" #include "ui.h" Background bg; /* Load background from path */ void background_load(gchar* file) { GError *error = NULL; bg.original = gdk_pixbuf_new_from_file(file, &error); if (bg.original == NULL) { printf("**Error**: %s", error->message); g_assert_not_reached(); } background_flush(TRUE); } /* Flush the background, applying stretch/tile and size settings */ void background_flush(gboolean force) { /* Force new background creation */ if (force) { if (bg.gc) { g_object_unref(bg.gc); bg.gc = NULL; } if (bg.scaled) { g_object_unref(bg.scaled); bg.scaled = NULL; } } /* Create a gc to paint a tiled background */ if (cfg.background_tiled) { if (bg.gc) return; if (bg.scaled) { g_object_unref(bg.scaled); bg.scaled = NULL; } GdkPixmap *tile; GtkWidget *playingarea_widget = glade_xml_get_widget (ui.xml, "playingarea"); gdk_pixbuf_render_pixmap_and_mask_for_colormap (bg.original, gdk_colormap_get_system(), &tile, NULL, 127); bg.gc = gdk_gc_new(playingarea_widget->window); gdk_gc_set_tile(bg.gc, tile); gdk_gc_set_fill(bg.gc, GDK_TILED); g_object_unref(tile); return; } /* Draw a scaled background */ if (bg.gc) { g_object_unref(bg.gc); bg.gc = NULL; } /* rescale the background if necessary */ GtkWidget *widget = glade_xml_get_widget(ui.xml, "playingarea"); if (bg.scaled == NULL || widget->allocation.width != gdk_pixbuf_get_width(bg.scaled) || widget->allocation.height != gdk_pixbuf_get_height(bg.scaled)) { if (bg.scaled) g_object_unref(bg.scaled); bg.scaled = gdk_pixbuf_scale_simple(bg.original, widget->allocation.width, widget->allocation.height, GDK_INTERP_BILINEAR); } } /* Render part of the background to a GdkPixmap */ void background_render(GdkPixmap *target, gint x, gint y, gint width, gint height) { if (bg.scaled) { gdk_draw_pixbuf(target, bg.gc, bg.scaled, x, y, x, y, width, height, GDK_RGB_DITHER_NONE, 0, 0); return; } gdk_draw_rectangle(target, bg.gc, TRUE, x, y, width, height); } /* free the background */ void background_free(void) { if (bg.original) g_object_unref(bg.original); if (bg.scaled) g_object_unref(bg.scaled); if (bg.gc) g_object_unref(bg.gc); } gnome-hearts-0.3/mkinstalldirs0000755000175000017500000000370411042174056013500 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" 1>&2 exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # End: # mkinstalldirs ends here gnome-hearts-0.3/config.h.in0000644000175000017500000000405311042107703012706 00000000000000/* config.h.in. Generated from configure.in by autoheader. */ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* Package name for gettext */ #undef GETTEXT_PACKAGE /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Data directory */ #undef PACKAGE_DATA_DIR /* Package local directory */ #undef PACKAGE_LOCALE_DIR /* 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 version of this package. */ #undef PACKAGE_VERSION /* Python directory */ #undef PYTHON_DIR /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION gnome-hearts-0.3/config.sub0000644000175000017500000010115311042107675012652 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # 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. # Please send patches to . Submit a context # diff and a properly formatted 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. # 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 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* | \ 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) os= basic_machine=$1 ;; -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 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | 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 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # 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-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | 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-* \ | sh-* | sh[1234]-* | sh[24]a-* | 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-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; # 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 ;; 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 ;; c90) basic_machine=c90-cray os=-unicos ;; 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 ;; 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 ;; 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 ;; 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 ;; 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[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. -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* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -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* \ | -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*) # 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 ;; -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 ;; -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: gnome-hearts-0.3/scripts/0000777000175000017500000000000011042174156012442 500000000000000gnome-hearts-0.3/scripts/stock_ai.py0000755000175000017500000001261211042105053014517 00000000000000# Hearts - stock_ai.py # Copyright 2006 Sander Marechal # # 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. # This is a simple stock AI used for the standard players and the "hint" feature. It's not too # smart overall, but it works. from definitions import * from player import Player from player_api import * class StockAI(Player): """This is the default AI for gnome-hearts""" def s_points_and_high_spades(self, a, b): """ Similar to the standard s_points sorting function, but this counts the King and Ace of Spades as point cards as well, making sure the player tries to get rid of them. """ if a == (spades, queen): return 1 if b == (spades, queen): return -1 if a == (spades, ace_high): return 1 if b == (spades, ace_high): return -1 if a == (spades, king): return 1 if b == (spades, king): return -1 if a[0] == hearts and b[0] != hearts: return 1 if b[0] == hearts and a[0] != hearts: return -1 return a[1] - b[1] def s_spades_priority(self, a, b): """ spade priority = J,10,9,8,7,6,5,4,3,2,A,K,Q followed by the other suits """ if a[0] == spades and b[0] != spades: return 1 if b[0] == spades and a[0] != spades: return -1 if a[1] >= queen and b[1] < queen: return 1 if b[1] >= queen and a[1] < queen: return -1 return b[1] - a[1] def select_cards(self, direction): """Return a list of three cards hat will be passed to an opponent""" result = [] def select(card): result.append(card) self.hand.remove(card) # First pass on the high spades if (spades, queen) in self.hand: select((spades, queen)) if (spades, king) in self.hand: select((spades, king)) if (spades, ace_high) in self.hand: select((spades, ace_high)) # Pass off the other cards while len(result) < 3: clubs_list = filter(f_clubs, self.hand) diamonds_list = filter(f_diamonds, self.hand) hearts_list = filter(f_hearts, self.hand) # If we can clear a suit with one card then do so, else pick a hearts or a high card if len(clubs_list) == 1: select(clubs_list[0]) elif len(diamonds_list) == 1: select(diamonds_list[0]) elif len(hearts_list): hearts_list.sort(s_rank, reverse=True) select(hearts_list[0]) else: self.hand.sort(s_rank, reverse=True) select(self.hand[0]) return result def play_card(self): """Play a card""" valid_cards = filter(self.f_valid, self.hand) # Open with the lowest valid card if self.trick.num_played == 0: valid_cards.sort(s_rank) #prevent scenario where, for example, player has QoS and KoS left - it will play QoS w/o the below check if valid_cards[0] == (spades, queen) and len(valid_cards) > 1: return valid_cards[1] return valid_cards[0] # Someone has already played. If the score is zero, it's not a point card if trick_get_score() == 0: # If we have a trump suit, take it with the highest card if have_suit(self.hand, self.trick.trump): valid_cards.sort(s_rank, reverse=True) # Spades are special because of the Queen if (self.trick.trump == spades): # Try dumping the Queen on someone else if (spades, king) in self.trick.card and (spades, queen) in valid_cards: return (spades, queen) if (spades, ace_high) in self.trick.card and (spades, queen) in valid_cards: return (spades, queen) if self.trick.num_played == 3: # We're the last one playing and the queen isn't on the trick. # Take it with the Ace, King or anything below the Queen if valid_cards[0] == (spades, queen) and len(valid_cards) > 1: return valid_cards[1] return valid_cards[0] # Other people still have to play. Try not to play the Queen or anything above # because we may end up taking the points valid_cards.sort(self.s_spades_priority) return valid_cards[0] # Trump is diamonds or clubs. Play highest cards return valid_cards[0] # We don't have a trump. Dump a point card valid_cards.sort(self.s_points_and_high_spades, reverse=True) return valid_cards[0] # There are point cards on the trick if have_suit(self.hand, self.trick.trump): # Play the highest card that doesn't take the trick high_card = self.trick.get_highest_card() valid_cards.sort(s_rank, reverse=True) for card in valid_cards: if card[0] != high_card[0] or card[1] < high_card[1]: return card # We are forced to take the trick. Play highest card if we're the last player if self.trick.num_played == 3: if valid_cards[0] == (spades, queen) and len(valid_cards) > 1: return valid_cards[1] else: return valid_cards[0] # Play low. Someone may beat us yet valid_cards.sort(s_rank) return valid_cards[0] else: # We don't have a trump. Dump a point card valid_cards.sort(self.s_points_and_high_spades, reverse=True) return valid_cards[0] gnome-hearts-0.3/scripts/players/0000777000175000017500000000000011042174157014122 500000000000000gnome-hearts-0.3/scripts/players/john.py0000644000175000017500000000165411042105053015341 00000000000000# Hearts - john.py # Copyright 2006 Sander Marechal # # 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. from stock_ai import * class PlayerAI_John(StockAI): def __init__(self, direction, trick, score, rules): Player.__init__(self, direction, trick, score, rules) self.name = "John" gnome-hearts-0.3/scripts/players/mike.py0000644000175000017500000000165411042105053015330 00000000000000# Hearts - john.py # Copyright 2006 Sander Marechal # # 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. from stock_ai import * class PlayerAI_Mike(StockAI): def __init__(self, direction, trick, score, rules): Player.__init__(self, direction, trick, score, rules) self.name = "Mike" gnome-hearts-0.3/scripts/players/peter.py0000644000175000017500000015357011042105053015527 00000000000000# Hearts - peter.py Version 1.0 # Copyright 2008 Charles A. Crayne # # 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. from definitions import * from player import Player from player_api import * from random import choice # Global Definitions left, across, right, keep = 0, 1, 2, 3 # pass directions def f_low(card): return type(card) == tuple and card[1] < six def f_high(card): return type(card) == tuple and card[1] > ten def f_mid(card): return type(card) == tuple and five < card[1] < jack def f_below_queen(card): return type(card) == tuple and card[1] < queen def f_top_two(card): return type(card) == tuple and card[1] > queen def f_top_three(card): return type(card) == tuple and card[1] > jack def f_not_spade(card): return type(card) == tuple and card[0] != spades def f_minor(card): return type(card) == tuple and card[0] < hearts def deal(): list =[] for suit in range(clubs, spades+1): for rank in range(two, ace_high+1): list.append( (suit, rank) ) return list def list_suit(list, suit): """ Return a list of all cards in the given list which are of the given suit """ suit_list = [] for card in list: if card != None and card[0] == suit: suit_list.append(card) return suit_list def diff(list1, list2): """Return a list of those cards in list1 which are not in list1""" diff_list = [] for card in list2: if card not in list1: diff_list.append(card) return diff_list # Class Definitions class PlayerAI_Peter(Player): def __init__(self, direction, trick, score, rules): Player.__init__(self, direction, trick, score, rules) self.name = "Peter" self.hearts_played = False self.queen_played = False self.shooting = False self.hearts_split = False self.can_shoot = True self.pass_dir = left self.deck = [] self.out_spades = [] self.out_hearts = [] self.out_diamonds = [] self.out_clubs = [] self.suit_counts = [] self.void_counts = [] self.pass_cards = [] self.received_cards = [] self.trick_num = 1 self.bonus_card = [None] def entry(self, suit_list): """ Returns true if suit_list contains Highest unplayed card in the suit or the second highest unplayed card and at least one lower card or the third highest unplayed card and at least two lower cards . . . """ if len(suit_list): suit_list.sort(s_rank, reverse=True) if self.num_above(suit_list[0]) < len(suit_list): return True return False def num_out(self, suit): """ Returns the number of cards in the suit which are still in the deck """ deck_list = list_suit(self.deck, suit) return len(deck_list) def num_below(self, card): """ Returns number of outstanding cards in this suit which can duck this card """ count = 0 deck_list = list_suit(self.deck, card[0]) if not len(deck_list): return 0 deck_list.sort(s_rank) for dcard in deck_list: if card[1] > dcard[1]: count = count + 1 return count def num_above(self, card): """ Returns number of outstanding cards in this suit which can beat this card """ count = 0 deck_list = list_suit(self.deck, card[0]) if not len(deck_list): return 0 deck_list.sort(s_rank) for dcard in deck_list: if card[1] < dcard[1]: count = count + 1 return count def is_runnable(self, suit): """ Returns true if, for each high card in decending sequence, and assuming that the highest outstanding card will fall on each trick, and that the outstanding cards are not all in the same hand, unless there is evidence to the contrary, every card in the suit will take a trick, and the suit is long enough to produce a reasonable number of discards """ suit_list = list_suit(self.hand, suit) suit_length = len(suit_list) if not suit_length: return False if not self.num_discards(suit): return False deck_list = list_suit(self.deck, suit) deck_length = len(deck_list) if not deck_length: return True deck_list.sort(s_rank, reverse=True) suit_list.sort(s_rank, reverse=True) for index in range(suit_length): if index >= deck_length: return True if suit_list[index][1] < deck_list[index][1]: return False if self.num_players_have(suit): deck_length = deck_length -1 return True def is_duckable(self, suit): """ Returns true if, for each high card in decending sequence, and assuming that the other players will try to duck the trick, there is a reasonable chance that every card in the suit will take a trick. """ deck_list = list_suit(self.deck, suit) deck_length = len(deck_list) if not deck_length: return True suit_list = list_suit(self.hand, suit) suit_length = len(suit_list) if not suit_length: return False suit_list.sort(s_rank, reverse=True) deck_list.sort(s_rank, reverse=True) num_played = self.num_players_have(suit) deck_index = 0 for card in suit_list: if deck_index >= deck_length: return False while card[1] < deck_list[deck_index][1]: deck_index = deck_index + 1 if deck_index >= deck_length: return False if deck_length - deck_index < 5: return False deck_index = deck_index + num_played if deck_index > deck_length: return False return True def players_void(self, suit): """Return a list of players who are void in the given suit""" list = [] for entry in self.void_counts: if entry[0] == suit and entry[1] != self.direction: list.append(entry[1]) return list def num_players_have(self, suit): """Return the number of players who are not void in the given suit""" return 3 - len(self.players_void(suit)) def num_discards(self, suit): """ Returns the minimum number of discards the suit will draw if run. """ suit_length = len(list_suit(self.hand, suit)) deck_length = len(list_suit(self.deck, suit)) follow = min(self.num_players_have(suit) * suit_length, deck_length) return suit_length * 3 - follow def list_safe(self,suit): """ Returns a list of all cards in the given suit which are lower then the corresponding card of that suit in the deck """ safe_list = [] deck_list = list_suit(self.deck, suit) if not len(deck_list): return safe_list deck_list.sort(s_rank) hand_list = list_suit(self.hand, suit) hand_list.sort(s_rank) index = 0 for card in hand_list: if card[1] < deck_list[index][1]: safe_list.append(card) index = index +1 if index >= len(deck_list): break return safe_list def num_top_two_spades(self, list): """ Returns number of spades above queen in list """ spades_list = filter(f_spades, list) top_list = filter(f_top_two, spades_list) return len(top_list) def num_top_three_spades(self, list): """ Returns number of spades above jack in list """ spades_list = filter(f_spades, list) top_list = filter(f_top_three, spades_list) return len(top_list) # Select Cards Definitions def select_cards(self, direction): """ Return a list of three cards that will be passed to the opponent specified by direction """ def select(card): self.pass_cards.append(card) self.hand.remove(card) def pass_to_shoot(): """ Returns true if the hand contains Above average high card points Entries in all non-void suits """ points = 0 for card in self.hand: if card[1] == ace: points = points + 4 if card[1] == king: points = points + 3 if card[1] == queen: points = points + 2 if card[1] == jack: points = points + 1 if points < 13: return False if not self.entry(clubs_list): return False if not self.entry(diamonds_list): return False if not self.entry(hearts_list): return False if not self.entry(spades_list): return False return True def safe_spades(): """ Returns true if the hand contains At least five spades At least three spades below the queen """ if len(spades_list) > 4: return True list = filter(f_below_queen, spades_list) if len(list) > 2: return True return False # Select Cards Code # Remember pass direction self.pass_dir = (direction - self.direction + 3) % 4 # Set bonus card for Omnibus ruleset if self.rules.ruleset == 'omnibus': self.bonus_card = (diamonds, jack) elif self.rules.ruleset == 'omnibus_alt': self.bonus_card = (diamonds, ten) else: self.bonus_card = None # Create deck of unseen cards self.deck = deal() for card in self.hand: self.deck.remove(card) self.pass_cards = [] goal = 0 # no goal set # Analyze hand clubs_list = filter(f_clubs, self.hand) low_clubs = filter(f_low, clubs_list) mid_clubs = filter(f_mid, clubs_list) high_clubs = filter(f_high, clubs_list) diamonds_list = filter(f_diamonds, self.hand) low_diamonds = filter(f_low, diamonds_list) mid_diamonds = filter(f_mid, diamonds_list) high_diamonds = filter(f_high, diamonds_list) hearts_list = filter(f_hearts, self.hand) low_hearts = filter(f_low, hearts_list) mid_hearts = filter(f_mid, hearts_list) high_hearts = filter(f_high, hearts_list) spades_list = filter(f_spades, self.hand) low_spades = filter(f_low, spades_list) mid_spades = filter(f_mid, spades_list) high_spades = filter(f_high, spades_list) low_count = [len(low_clubs), len(low_diamonds), len(low_hearts), len(low_spades)] mid_count = [len(mid_clubs), len(mid_diamonds), len(mid_hearts), len(mid_spades)] high_count = [len(high_clubs), len(high_diamonds), len(high_hearts), len(high_spades)] if pass_to_shoot(): while len(self.pass_cards) < 3: clubs_list = filter(f_clubs, self.hand) diamonds_list = filter(f_diamonds, self.hand) spades_list = filter(f_spades, self.hand) hearts_list = filter(f_hearts, self.hand) # Pass unduckable hearts hearts_list.sort(s_rank) if not self.is_duckable(hearts): select(hearts_list[0]) # Pass spades below the Queen if len(spades_list) and spades_list[0][1] < queen: select(spades_list[0]) # Pass deuce of clubs (if must be led) elif (clubs, two) in self.hand and len(clubs_list) < 5 \ and self.rules.clubs_lead: select((clubs, two)) # Pass lowest cards in hand else: self.hand.sort(s_rank) select(self.hand[0]) return self.pass_cards # Only pass spades as a last resort if not safe_spades(): if (spades, queen) in self.hand: select((spades, queen)) if (spades, ace_high) in self.hand: select((spades, ace_high)) if (spades, king) in self.hand: select((spades, king)) else: if len(clubs_list) < 4: for i in range(len(clubs_list)): select(clubs_list[i]) elif len(diamonds_list) < 4: for i in range(len(diamonds_list)): select(diamonds_list[i]) else: if (spades, ace_high) in self.hand: select((spades, ace_high)) if (spades, king) in self.hand: select((spades, king)) # Pass off the other cards while len(self.pass_cards) < 3: clubs_list = filter(f_clubs, self.hand) diamonds_list = filter(f_diamonds, self.hand) hearts_list = filter(f_hearts, self.hand) hearts_list.sort(s_rank, reverse=True) safe_hearts = self.list_safe(hearts) # If we can clear a minor suit do so, # unless Omnibus ruleset and we have the bonus card # else pick an unsafe heart or the highest minor # If spots ruleset, pass unsafe hearts first if self.rules.ruleset == 'spot_hearts': if len(hearts_list) and hearts_list[0] not in safe_hearts \ and hearts_list[0][1] > 6: select(hearts_list[0]) continue if len(clubs_list) and len(clubs_list) <= 3 - len(self.pass_cards): clubs_list.sort(s_rank, reverse=True) select(clubs_list[0]) elif len(diamonds_list) and len(diamonds_list) <= 3 - len(self.pass_cards) \ and (self.bonus_card == None or self.bonus_card not in self.hand): diamonds_list.sort(s_rank, reverse=True) select(diamonds_list[0]) elif len(hearts_list) and hearts_list[0] not in safe_hearts \ and hearts_list[0][1] > 6: select(hearts_list[0]) else: list = filter(f_minor, self.hand) list.sort(s_rank, reverse=True) if len(list): select(list[0]) else: self.hand.sort(s_rank, reverse=True) select(self.hand[0]) return self.pass_cards # Receive Cards Code def receive_cards(self, cards): """ Receives a list of cards passed """ self.received_cards = cards # Play Card Definitions def play_card(self): """Play a card""" def deck_is_risky(): """ Return true if more than half of the total points are still in the deck. """ if self.rules.ruleset == 'spot_hearts': risk = 65 else: risk = 13 if list_cost(self.deck) >= risk: return True return False def list_1below(list): """ Returns list of cards which only one outstanding card can duck """ below_list = [] for card in list: if self.num_below(card) == 1 and self.num_above(card): below_list.append(card) return below_list def is_winner(card): """ Returns true if card will win trick """ deck_list = list_suit(self.deck, card[0]) if not len(deck_list): return True deck_list.sort(s_rank, reverse=True) if card[1] > deck_list[0][1]: return True return False def is_exit(card): """ Returns true if card will lose trick """ deck_list = list_suit(self.deck, card[0]) if not len(deck_list): return False deck_list.sort(s_rank) if card[1] < deck_list[0][1]: return True return False def list_exit(suit): """ Returns a list of all cards in the given suit which are lower then the lowest card of that suit in the deck """ exit_list = [] deck_list = list_suit(self.deck, suit) if not len(deck_list): return exit_list deck_list.sort(s_rank) hand_list = list_suit(self.hand, suit) hand_list.sort(s_rank) for card in hand_list: if card[1] < deck_list[0][1]: exit_list.append(card) return exit_list def suits_void(player): """Return a list of suits in which a given player is void""" list = [] for entry in self.void_counts: if entry[1] == player: list.append(entry[0]) return list def yet_to_play(): """Return a list of players who have not played to the trick""" list = [] for player in range(4): if self.trick.card[player] == None and player != self.direction: list.append(player) return list def list_high(suit): """ Return list of cards in the hand which are higher than two-thirds of the cards of the given suit in the deck """ hand_list = list_suit(self.hand, suit) if not len(hand_list): return hand_list deck_list = list_suit(self.deck, suit) if not len(deck_list): return hand_list deck_list.sort(s_rank, reverse = True) if len(deck_list) > 2: index = len(deck_list)/3 else: index = len(deck_list) - 1 limit = deck_list[index][1] return_list = [] for card in hand_list: if card[1] > limit: return_list.append(card) return return_list def list_low(suit): """ Return list of cards in the hand which are lower than two-thirds of the cards of the given suit in the deck """ return_list = [] hand_list = list_suit(self.hand, suit) if not len(hand_list): return return_list deck_list = list_suit(self.deck, suit) if not len(deck_list): return return_list deck_list.sort(s_rank) if len(deck_list) > 2: index = len(deck_list)/3 else: index = len(deck_list) - 1 limit = deck_list[index][1] for card in hand_list: if card[1] < limit: return_list.append(card) return return_list def sole_shooter(): """ If only one player has taken points, and that player is not ouself, return a one element list with the player number, and the number of points taken. """ score_list = [] for index in range(4): if self.score.round[index]: score_list.append((index, self.score.round[index])) if len(score_list) == 1 and score_list[0][0] != self.direction: return score_list return [] def trick_leader(): """ Return the direction of the opponent who played the highest card in the current trick """ for index in range(4): if self.trick.card[index] == self.trick.get_highest_card(): return index return None def can_shooter_win(): """ Return true if sole shooter is the trick leader, or has not played and and there are outstanding cards above the current highest card. """ shooter = sole_shooter() if not len(shooter): return False if shooter[0][0] == trick_leader(): return True if has_played(shooter[0][0]): return False if self.num_above(self.trick.get_highest_card()): return True return False def has_played(player): """ Returns true if player has already played to the current trick. """ return self.trick.card[player] != None def last_to_play(): """ Returns true if in 4th position, or all remaining players have are known to be void in the suit led. """ if self.trick.num_played == 3: return True yet_list = yet_to_play() play_list = self.players_void(self.trick.trump) for player in yet_list: if player not in play_list: return False return True def list_cost(list): """ Returns the total point value of cards in the specified list """ cost = 0 for card in list: if card != None: if self.rules.ruleset == 'spot_hearts': if card == (spades, queen): cost = cost + 25 if card[0] == hearts: cost = cost + card[1] else: if card == (spades, queen): cost = cost + 13 if card[0] == hearts: cost = cost + 1 return cost def suit_score(suit): """ Returns a score indicating the risk that the highest card in the given suit will be forced to take an unwanted trick. """ suit_score = 0 if have_suit(self.hand, suit) and have_suit(self.deck, suit): suit_list = list_suit(self.hand, suit) suit_list.sort(s_rank, reverse=True) suit_score = self.num_below(suit_list[0]) \ - 2 * len(suit_list) + 1 return suit_score def try_to_shoot(): """ Returns a non-zero indicating the reason why it is reasonable to try to shoot, else returns zero Have already taken half of the total points (2) Have the unprotected Queen and no short minor suits (3) If in the lead, and have an exit problem (7) Have a hand with all of the following: (4,5,6) Duckable hearts, or none at all At least one runnable suit If not in the lead, entries in non-void minor suits """ clubs_list = list_suit(self.hand, clubs) diamonds_list = list_suit(self.hand, diamonds) hearts_list = list_suit(self.hand, hearts) spades_list = list_suit(self.hand, spades) runnable_suits = 0 discards = 0 for suit in range(4): if self.is_runnable(suit): runnable_suits = runnable_suits + 1 discards = discards + self.num_discards(suit) if not runnable_suits: return 0 if self.rules.ruleset != 'spot_hearts' and self.score.round[self.direction] >= 13: return 2 if self.rules.ruleset == 'spot_hearts' and self.score.round[self.direction] >= 64: return 2 if (spades, queen) in spades_list and len(spades_list) < 4 \ and len(clubs_list) > 2 and len(diamonds_list) > 2: return 3 if not self.trick.num_played and exit_problem(): return 7 if len(hearts_list): if not self.is_duckable(hearts) and not self.is_runnable(hearts): return 0 if self.trick.num_played: if len(clubs_list) and not self.entry(clubs_list): return 0 if len (diamonds_list) and not self.entry(diamonds_list): return 0 return 4 def open_trick(): """Open a trick""" # Special rule for breaking hearts by leading hearts # If I have only hearts, and it is still possible to shoot, # and I have the top heart, then play it. Otherwise, play # the lowest heart. if len(self.hand) == len(filter(f_hearts, self.hand)): self.hand.sort(s_rank, reverse=True) card = self.hand[0] if is_winner(card) and self.can_shoot and self.is_runnable(hearts): return self.hand[0] self.hand.sort(s_rank) return self.hand[0] # Special rule for leading the queen of spades if (spades, queen) in self.hand and len(self.out_spades): deck_list = filter(f_spades, self.deck) if len(deck_list) == self.num_above((spades,queen)): return (spades, queen) # Special rule for leading the bonus card if self.bonus_card != None and self.bonus_card in self.hand \ and not self.num_above(self.bonus_card): return self.bonus_card # If queen of spades is still in the deck, try to flush it if have_suit(self.hand, spades) and (spades, queen) in self.deck: spades_list = filter(f_spades, self.hand) flush_list = filter(f_below_queen, spades_list) if len(flush_list): high_list = filter(f_top_two, spades_list) player_num = self.num_players_have(spades) out_num = len(self.out_spades) if not len(high_list) or out_num == 1 \ or (len(flush_list) >= (out_num/player_num) \ and len(flush_list) > 1): flush_list.sort(s_rank, reverse=True) return flush_list[0] # look for safe lead in a minor suit in which the holder of the # queen might be void. # Establish safe spades if self.queen_played: if have_suit(self.hand, spades) and have_suit(self.deck, spades): spades_list = list_high(spades) spades_list.sort(s_rank, reverse=True) if len(spades_list): return spades_list[0] # Establish safe minor suits risky_suit = None club_score = suit_score(clubs) diamond_score = suit_score(diamonds) if club_score > 0 and club_score > diamond_score: risky_suit = clubs elif diamond_score > 0: risky_suit = diamonds if risky_suit != None: risky_list = list_suit(self.hand, risky_suit) risky_list.sort(s_rank, reverse=True) # If the deck is not risky, # and I do not have an exit problem, # lead most unprotected minor card if not deck_is_risky() \ or (not spade_problem and self.num_out(risky_suit) > 4 \ and self.num_players_have(risky_suit) == 3): return risky_list[0] # Spread some hearts around if self.hearts_played and have_suit(self.hand, hearts) and len(self.out_hearts): hearts_list = filter(f_hearts, self.hand) hearts_list.sort(s_rank) if hearts_list[0] < self.out_hearts[0]: return hearts_list[0] # Get out of lead without too much risk # See if there are any exit cards exit_suits = [] for suit in range(4): list = list_exit(suit) if len(list): if suit == hearts and not self.hearts_played: continue if suit == spades and not safe_spade_lead(): continue exit_suits.append(suit) # See if there are any "one below" cards below_suits = [] below_list = list_1below(self.hand) for suit in range(4): list = list_suit(below_list, suit) if len(list): if suit == hearts and not self.hearts_played: continue if suit == spades and not safe_spade_lead(): continue below_suits.append(suit) # See if there are any safe cards safe_suits = [] for suit in range(4): list = self.list_safe(suit) if len(list): if suit == hearts and not self.hearts_played: continue if suit == spades and not safe_spade_lead(): continue safe_suits.append(suit) if (spades, queen) in self.deck: if len(exit_suits): # Play an exit card exit_suits.sort(s_random) for suit in exit_suits: if suit == spades and not safe_spade_lead(): continue list = list_suit(self.hand, suit) return list[0] if len(below_suits): # Play a below card below_suits.sort(s_random) for suit in below_suits: if suit == spades and not safe_spade_lead(): continue list = list_suit(self.hand, suit) return list[0] if len(safe_suits): # Play a safe card safe_suits.sort(s_random) for suit in safe_suits: if suit == spades and not safe_spade_lead(): continue list = list_suit(self.hand, suit) return list[0] # Play the card which can be beat by the most # cards in the deck most_above = 0 best_card = None for suit in range(4): list = list_suit(self.hand, suit) if len(list): if suit == hearts and not self.hearts_played: continue if suit == spades and not safe_spade_lead(): continue card = list[0] if self.bonus_card != None and self.bonus_card in list \ and len(list) > 1: list.remove(self.bonus_card) above = self.num_above(card) if above > most_above: most_above = above best_card = card if best_card != None: return best_card # The queen is not in the deck, so lead a relatively high card # Play the highest card which can be beat by at least # four cards in the deck high_rank = 0 best_card = None for suit in range(4): list = list_suit(self.hand, suit) if self.bonus_card != None and self.bonus_card in list \ and len(list) > 1: list.remove(self.bonus_card) if len(list): if suit == hearts and not self.hearts_played: continue low_list = list_low(suit) for card in list: if card in low_list: continue above = self.num_above(card) if above > 3 and card[1] > high_rank: high_rank = card[1] best_card = card if best_card != None: return best_card # Play a card which can be beat if have_suit(self.hand, diamonds) and len(self.out_diamonds): diamonds_list = filter(f_diamonds, self.hand) if self.bonus_card != None and self.bonus_card in list \ and len(list) > 1: list.remove(self.bonus_card) diamonds_list.sort(s_rank) if diamonds_list[0] < self.out_diamonds[-1]: return diamonds_list[0] if have_suit(self.hand, clubs) and len(self.out_clubs): clubs_list = filter(f_clubs, self.hand) clubs_list.sort(s_rank,) if clubs_list[0] < self.out_clubs[-1]: return clubs_list[0] if self.hearts_played and have_suit(self.hand, hearts) and len(self.out_hearts): hearts_list = filter(f_hearts, self.hand) hearts_list.sort(s_rank) if hearts_list[0] < self.out_hearts[-1]: return hearts_list[0] if have_suit(self.hand, spades) and len(self.out_spades): spades_list = filter(f_spades, self.hand) spades_list.sort(s_rank) card = spades_list[0] if card < self.out_spades[-1] and card != (spades, queen) \ and card != (spades, king): return spades_list[0] if have_suit(self.hand, hearts): minor_list = filter(f_minor, self.hand) if len(minor_list): return minor_list[0] if (spades, queen) in self.hand: spades_list = filter(f_spades, self.hand) spades_list.remove((spades, queen)) if len(spades_list): return spades_list[0] # Abandon hope valid_cards = filter(self.f_valid, self.hand) return choice(valid_cards) def follow_suit(): # If we get this far, then suit_list will have at least two entries """Play a card following the trick's trump""" suit_list = list_suit(self.hand, self.trick.trump) suit_list.sort(s_rank) highest_card = self.trick.get_highest_card() trick_list = list_suit(self.trick.card, self.trick.trump) deck_list = list_suit(self.deck, self.trick.trump) deck_list.sort(s_rank) # If I must win this trick, do so with highest card, # with the following exceptions: # Queen of Spades - play next lowest (all rulesets) # Take with bonus card (Omnibus rulesets) # Take with lowest heart (Spot ruleset) if suit_list[0][1] > deck_list[-1][1] \ or (last_to_play() and suit_list[0][1] > highest_card[1]): if (spades, queen) in suit_list: suit_list.remove((spades, queen)) if self.bonus_card != None and self.bonus_card in suit_list: return self.bonus_card if self.rules.ruleset == 'spot_hearts' and self.trick.trump == hearts: return suit_list[0] return suit_list[-1] # Play spades if self.trick.trump == spades: spades_list = filter(f_spades, self.hand) # I have the queen if (spades, queen) in spades_list: # See if I can dump the queen if (spades, king) in self.trick.card \ or (spades, ace_high) in self.trick.card: return (spades, queen) # Try playing something else but the queen spades_list.sort(s_rank) if spades_list[0] == (spades, queen): # return the highest card. # Could be the queen if that's all we have. return spades_list.pop() low_list = [card for card in spades_list if card[1] < queen] low_list.sort(s_rank, reverse=True) return low_list[0] # Queen has been played if not (spades, queen) in self.deck: spades_list.sort(s_rank, reverse=True) return spades_list[0] # I don't have the queen if (spades, king) in self.hand or (spades, ace_high) in self.hand: spades_list.sort(s_rank, reverse=True) if self.trick.num_played == 3 and not (spades, queen) in self.trick.card: return spades_list[0] if already_played(): return spades_list[0] spades_list.sort(s_rank) if spades_list[0][1] >= king: # Forced to play high spades return spades_list.pop() low_list = [card for card in spades_list if card[1] < king] low_list.sort(s_rank, reverse=True) return low_list[0] spades_list.sort(s_rank, reverse=True) return spades_list[0] # Play hearts if self.trick.trump == hearts: hearts_list = filter(f_hearts, self.hand) hearts_list.sort(s_rank) highest_card = self.trick.get_highest_card() if hearts_list[0][1] > highest_card[1]: if self.trick.num_played == 3 \ or not self.num_above(hearts_list[0]): # I'm going to get it anyway, so play the highest return hearts_list[-1] return hearts_list[0] # If someone is trying to shoot, put a spoke in their wheels shooter = sole_shooter() if len(shooter) and trick_leader() == shooter[0][0]: if self.rules.ruleset == 'spot_hearts' and shooter[0][1] > 64 \ or self.rules.ruleset != 'spot_hearts' and shooter[0][1] > 13: if hearts_list[-1][1] > highest_card[1]: return hearts_list[-1] return hearts_list[-2] # Play highest heart that doesn't win card = duck_high(highest_card) if card != None: return card # Play lowest card hearts_list.sort(s_rank) return hearts_list[0] # Play clubs or diamonds # Special rule for 1st trick - always safe to take if self.trick_num == 1 and have_suit(self.hand, self.trick.trump) \ and self.rules.no_blood: suit_list.sort(s_rank, reverse=True) return suit_list[0] # Special rule for Omnibus ruleset if self.bonus_card != None and self.bonus_card in suit_list \ and not self.num_above(self.bonus_card): return self.bonus_card # If I can duck this suit forever, do so if len(trick_list) == len(deck_list) \ or len(self.list_safe(self.trick.trump)) == len(suit_list): low_list = [card for card in suit_list if card[1] < highest_card[1]] if len(low_list): low_list.sort(s_rank, reverse=True) return low_list[0] # If I'm the last in the trick, take with high card, # or with bonus card if playing Omnibus ruleset if self.trick.num_played == 3 and not list_cost(self.trick.card) > 10: suit_list.sort(s_rank, reverse=True) if self.bonus_card != None and self.bonus_card in suit_list: if self.bonus_card[1] > highest_card[1]: return self.bonus_card elif len(suit_list) > 1: suit_list.remove(self.bonus_card) return suit_list[0] # Play high card if queen of spades not in deck # But don't play bonus card if Omnibus ruleset, # unless it will win the trick if self.suit_counts[self.trick.trump] > 4 \ and (not (spades, queen) in self.deck or already_played()): suit_list.sort(s_rank, reverse=True) if self.bonus_card != None and self.bonus_card in suit_list: if not self.num_above(self.bonus_card): return self.bonus_card elif len(suit_list) > 1: suit_list.remove(self.bonus_card) return suit_list[0] # Play the highest card that doesn't win the trick card = duck_high(highest_card) if card != None: return card # Play lowest card if self.bonus_card != None and self.bonus_card in suit_list \ and len(suit_list) > 1: suit_list.remove(self.bonus_card) suit_list.sort(s_rank) return suit_list[0] def dont_follow_suit(): """Play a card when I have no trump cards""" valid_cards = filter(self.f_valid, self.hand) # If the queen is in my hand, and not well # protected, dump it now if (spades, queen) in valid_cards and (spade_problem() or exit_problem): return (spades, queen) # If the queen is in the deck, give priority # to unprotected high cards # Else favor discarding hearts best_score = 0 best_card = None for suit in range(4): list = list_suit(valid_cards, suit) list.sort(s_rank, reverse=True) if len(list): # Favor Queen over any other spades if (spades, queen) in list: card = (spades, queen) else: card = list[0] # If Omnibus ruleset, don't discard bonus_card or # any of its protectors if self.bonus_card != None and card == self.bonus_card: continue score = self.num_below(card) above = self.num_above(card) # Prefer high spades if queen still in deck # unless well protected if suit == spades and (spades, queen) in self.deck \ and card[1] > queen \ and len(list) - self.num_top_two_spades(self.hand) < 4: score = score + 5 # Don't discard cards which can not take a trick if not score: continue # Favor entries and short suits if not above: score = score + 5 if len(list) == 1: score = score + 5 # Greatly prefer high hearts in Spot Hearts ruleset if self.rules.ruleset == 'spot_hearts' and suit == hearts: score = score + card[1] # Prefer hearts if Queen not in deck if suit == hearts and not (spades, queen) in self.deck: score = score + 1 if heart_problem or not self.hearts_played: score = score + 4 # Greatly prefer stopping a shoot shooter = sole_shooter() if len(shooter): if not can_shooter_win(): score = score + 10 else: score = score - 5 # Prefer cards received in the pass if card in self.received_cards: score = score + 1 # Update best values if score > best_score: best_score = score best_card = card # Discard most dangerous card if best_card != None: return choice(list_peers(best_card)) # Even if the Queen is well protected, now is a good time to play it if (spades, queen) in valid_cards: return (spades, queen) # As a last resort, play the highest valid card, # but not the bonus card if self.bonus_card != None and self.bonus_card in valid_cards \ and len(valid_cards) > 1: valid_cards.remove(self.bonus_card) valid_cards.sort(s_rank, reverse=True) highest_card = valid_cards[0] return highest_card def spade_problem(): """ Spades are not a problem if: The queen has been played I have no spades I have none of the top three spades I have more spades than there are low spades outstanding minus the number of other players who have not show out of spades """ if self.queen_played: return False spades_list = filter(f_spades, self.hand) if not len(spades_list): return False if not self.num_top_three_spades(self.hand): return False if len(spades_list) \ > (self.num_below((spades, queen)) - self.num_players_have(spades)): return False return True def safe_spade_lead(): """ It is relatively safe to lead a low spade if: The queen is not in the deck and is not my lowest spade, or I have neither of the top two spades, or I have at least two low spades as protection. """ spades_list = filter(f_spades, self.hand) if not len(spades_list): return False spades_list.sort(s_rank) if spades_list[0][1] == queen: return False if not (spades, queen) in self.deck: return True top2list = filter(f_top_two, spades_list) if not len(top2list): return True if self.num_out(spades) == 1: return True top3list = filter(f_top_three, spades_list) if len(spades_list) > len(top3list) +1: return True return False def heart_problem(): """ Hearts are not a problem if I have no hearts I have more low hearts than high hearts and at least one lowest heart """ hearts_list = filter(f_hearts, self.hand) if not len(hearts_list): return False low_list = filter(f_low, hearts_list) high_list = filter(f_high, hearts_list) if len(high_list) > len(low_list): return True low_list.sort(s_rank) if len(low_list) and len(self.out_hearts) \ and low_list[0][1] > self.out_hearts[0][1]: return True return False def exit_problem(): """ Returns true if there are no exits and no low cards """ win, exit, beat, above, below, high, low = 0, 0, 0, 0, 0, 0, 0 for suit in range(4): high = high + len(list_high(suit)) low = low + len(list_low(suit)) for card in self.hand: above = above + self.num_above(card) below = below + self.num_below(card) if not self.num_above(card): win = win + 1 elif self.num_above(card) and not self.num_below(card): exit = exit + 1 elif self.num_above(card): beat = beat + 1 win, exit, beat, above, below, high, low if not exit and not low: return True return False def already_played(): """Return true if hand with Queen has already played""" if (spades,queen) in self.pass_cards \ and self.pass_dir + self.trick.num_played >= 3 \ and not (spades, queen) in self.trick.card: return True return False # Play card routines for trying to shoot def open_trick_shoot(): valid_cards = filter(self.f_valid, self.hand) runnable_suits = [] win_suits = [] entry_suits = [] noentry_suits = [] void_suits = [] low_suit = None low_length = 0 high_suit = None high_length = 0 discards = 0 high_out = 0 points = len(filter(f_point_cards, self.deck)) # If hearts are ready to run, do so suit_list = list_suit(valid_cards, hearts) if len(suit_list): if self.is_runnable(hearts): return_card = low_win(hearts) if return_card != None: return return_card if self.is_duckable(hearts): suit_list.sort(s_rank, reverse=True) return suit_list[0] # Categorize suits as runnable, win, noentry, or void for suit in range(4): if suit == hearts: continue suit_list = list_suit(valid_cards, suit) length = len(suit_list); if length: suit_list.sort(s_rank, reverse=True) if self.is_runnable(suit): runnable_suits.append((suit, length)) discards = discards + self.num_discards(suit) elif is_winner(suit_list[0]): win_suits.append((suit, length)) high_out = high_out + self.num_above(suit_list[0]) elif self.entry(suit_list): entry_suits.append((suit, length)) high_out = high_out + self.num_above(suit_list[0]) else: noentry_suits.append((suit, length)) if length > low_length: low_suit = suit low_length = length if not self.num_above(suit_list[0]): if length > high_length: high_suit = suit high_length = length else: points += self.num_above(suit_list[0]) else: void_suits.append((suit, length)) # If we can generate enought discards, play high from runnable suit if len(runnable_suits): if discards >= points: # Run longest suit first, and minors before majors runnable_suits.sort(s_rank, reverse=True) runnable_suits.sort(s_suit) suit_list = list_suit(valid_cards, runnable_suits[0][0]) suit_list.sort(s_rank, reverse=True) return_card = low_win(runnable_suits[0][0]) if return_card != None: return return_card # Play low card from suit with entry, but no winner if len(entry_suits): # Try to set up our longest suit first entry_suits.sort(s_rank, reverse=True) for entry in entry_suits: suit = entry[0] if not self.num_players_have(suit) == 3: continue if not len(list_suit(self.deck, suit)) > 3: continue suit_list = list_suit(valid_cards, suit) suit_list.sort(s_rank) if suit_list[0] != (spades, queen): return suit_list[0] # Play low card from suit with no entry if len(noentry_suits): # Try to void our shortest suit first noentry_suits.sort(s_rank) for entry in noentry_suits: suit = entry[0] if not self.num_players_have(suit) == 3: continue if not len(list_suit(self.deck, suit)) > 3: continue suit_list = list_suit(valid_cards, suit) suit_list.sort(s_rank) if suit_list[0] == (spades, queen): continue return suit_list[0] # Play high from runnable suit regardless of number of discards if len(runnable_suits): # Run longest suit first runnable_suits.sort(s_rank, reverse=True) for entry in runnable_suits: suit_list = list_suit(valid_cards, runnable_suits[0][0]) if suit == spades and len(runnable_suits) > 1: continue suit_list.sort(s_rank, reverse=True) return_card = low_win(runnable_suits[0][0]) if return_card != None: return return_card # Play winner from longest valid suit which has one if high_suit != None: suit_list = list_suit(valid_cards, high_suit) suit_list.sort(s_rank, reverse=True) return choice(list_peers(suit_list[0])) # Play winning heart, if possible if self.hearts_played: suit_list = list_suit(valid_cards, hearts) if len(suit_list): suit_list.sort(s_rank, reverse=True) if not self.num_above(suit_list[0]): return low_win(hearts) # Play low card from longest suit elif low_suit != None and self.num_players_have(low_suit) == 3: suit_list = list_suit(valid_cards, low_suit) suit_list.sort(s_rank) return suit_list[0] # Play lowest valid card valid_cards.sort(s_rank) return valid_cards[0] def follow_suit_shoot(): if shoot_code == 7 and (spades, queen) in self.hand: # See if I can dump the queen if (spades, king) in self.trick.card \ or (spades, ace_high) in self.trick.card: return (spades, queen) valid_cards = filter(self.f_valid, self.hand) valid_cards.sort(s_rank) high_card = self.trick.get_highest_card() must_take, try_take = False, False point_cards = filter(f_point_cards,self.trick.card) play_card = None # Special case for 1st trick, always safe to duck trick if self.trick_num == 1 and self.rules.no_blood: return valid_cards[0] # Check to see if any point cards have already fallen if len(point_cards): must_take = True # Check to see if we are ready to run suits if self.hearts_played and self.is_runnable(hearts): try_take = True if not try_take: num_runnable = 0 discards = 0 points = len(filter(f_point_cards, self.deck)) for suit in range(4): if suit == hearts: continue suit_list = list_suit(valid_cards, suit) length = len(suit_list); if length: suit_list.sort(s_rank, reverse=True) if self.is_runnable(suit): num_runnable = num_runnable + 1 discards = discards + self.num_discards(suit) if discards >= points and num_runnable: try_take = True # We want this trick if must_take or try_take: # If in favorable position, play lowest card which will take trick if last_to_play() or (not must_take and self.trick.num_played == 2): for card in valid_cards: if card[1] > high_card[1]: if card == (spades, queen) \ and ((spades, king) in self.hand \ or (spades, ace_high) in self.hand): continue return card # Try to win the trick from unfavorable position play_card = low_win(high_card) if play_card != None: return play_card if not must_take: # Try to take trick with highest card if valid_cards[-1][1] > high_card[1]: return valid_cards[-1] # Can't win, so abandon shoot. elif (spades, queen) in valid_cards: return (spades, queen) # Play highest card else: return valid_cards[-1] # We don't want this trick if (spades, queen) in valid_cards and len(valid_cards) > 1: valid_cards.remove((spades, queen)) return valid_cards[0] def dont_follow_suit_shoot(): # Play lowest non-point card in shortest suit valid_cards = filter(self.f_valid, self.hand) low_suit = None low_length = 14 for suit in range(4): if suit == hearts: continue suit_list = list_suit(valid_cards, suit) length = len(suit_list); if length: if length < low_length: low_suit = suit low_length = length if low_suit != None: suit_list = list_suit(valid_cards, low_suit) suit_list.sort(s_rank) return suit_list[0] # Only hearts left valid_cards.sort(s_rank, reverse=True) return valid_cards[0] def duck_high(card): """ Returns the highest card from the current hand which is less than the specified card, and of the same suit. If Omnibus ruleset, don't return the bonus card. """ suit_list = list_suit(self.hand, card[0]) if not len(suit_list): return None low_list = [item for item in suit_list if item[1] < card[1]] if len(low_list): low_list.sort(s_rank, reverse=True) if self.bonus_card != None and self.bonus_card == low_list[0] \ and len(low_list) > 1: return low_list[1] return low_list[0] return None def low_win(suit): """ Returns the lowest card of the specified suit from the current hand which is higher than the highest outstanding card of that suit, or None """ suit_list = list_suit(self.hand, suit) if not len(suit_list): return None if (spades, queen) in suit_list and len(suit_list) > 1: suit_list.remove((spades, queen)) suit_list.sort(s_rank) deck_list = list_suit(self.deck, suit) if not len(deck_list): return suit_list[0] deck_list.sort(s_rank, reverse=True) low_list = [item for item in suit_list if item[1] > deck_list[0][1]] if not len(low_list): return None low_list.sort(s_rank) return low_list[0] def bracket(card): """ Returns a two element list containing the next highest, and next lowest, deck cards to the specified card. """ deck_list = list_suit(self.deck, card[0]) if not len(deck_list): return [None, None] high = None low = None deck_list.sort(s_rank) for item in deck_list: if item[1] > card[1]: high = item break deck_list.sort(s_rank, reverse=True) for item in deck_list: if item[1] < card[1]: low = item break return [high, low] def list_peers(card): """ Returns a list of cards from the current hand which are of the same effective rank as the the specified card. (The card itself is a member of the list, if it is in the current hand.) """ if card == (spades, queen): return [card] if self.bonus_card != None and card == self.bonus_card: return [card] suit_list = list_suit(self.hand, card[0]) if not len(suit_list): return [] bracket_list = bracket(card) high = 15 low = 0 if bracket_list[0] != None: high = bracket_list[0][1] if bracket_list[1] != None: low = bracket_list[1][1] peer_list = [] for item in suit_list: if item[1] > low and item[1] < high and item != (spades, queen) \ and not (self.bonus_card != None and item == self.bonus_card): peer_list.append(item) return peer_list # Play Card Entry self.trick_num = 14 - len(self.hand) # If first trick of round if self.trick_num == 1: # Set bonus card for Omnibus ruleset if self.rules.ruleset == 'omnibus': self.bonus_card = (diamonds, jack) elif self.rules.ruleset == 'omnibus_alt': self.bonus_card = (diamonds, ten) else: self.bonus_card = None # Reset round variables self.hearts_played = False self.queen_played = False self.shooting = False self.hearts_split = False self.can_shoot = True self.void_counts = [] # Remove my hand from deck self.deck = deal() for card in self.hand: self.deck.remove(card) self.out_clubs = filter(f_clubs, self.deck) self.out_diamonds = filter(f_diamonds, self.deck) self.out_hearts = filter(f_hearts, self.deck) self.out_spades = filter(f_spades, self.deck) self.suit_counts = [len(self.out_clubs), len(self.out_diamonds), \ len(self.out_hearts), len(self.out_spades)] # Check for shooting self.shooting = False shoot_code = try_to_shoot() if shoot_code: self.shooting = True score_list = [] for index in range(4): if self.score.round[index] and index != self.direction: score_list.append(self.score.round[index]) if len(score_list): self.can_shoot = False self.shooting = False if len (score_list) > 1 or self.score.round[self.direction]: self.hearts_split = True # invoke action routine valid_cards = filter(self.f_valid, self.hand) if len(valid_cards) == 1: return valid_cards[0] # Routines for shooting if self.shooting: if self.trick.num_played == 0: return open_trick_shoot() elif have_suit(self.hand, self.trick.trump): return follow_suit_shoot() else: return dont_follow_suit_shoot() # Routines for not shooting if self.trick.num_played == 0: return open_trick() elif have_suit(self.hand, self.trick.trump): return follow_suit() else: return dont_follow_suit() def trick_end(self): """update card lists and status flags""" # remove played cards from global lists for card in self.trick.card: if card in self.deck: self.deck.remove(card) if card in self.pass_cards: self.pass_cards.remove(card) if card in self.received_cards: self.received_cards.remove(card) self.out_clubs = filter(f_clubs, self.deck) self.out_diamonds = filter(f_diamonds, self.deck) self.out_hearts = filter(f_hearts, self.deck) self.out_spades = filter(f_spades, self.deck) # Update global variables self.suit_counts = [len(self.out_clubs), len(self.out_diamonds), \ len(self.out_hearts), len(self.out_spades)] for index in range(4): card = self.trick.card[index] if (self.trick.trump, index) not in self.void_counts: if card[0] != self.trick.trump: self.void_counts.append((self.trick.trump, index),) if have_suit(self.trick.card, hearts): self.hearts_played = True if (spades, queen) in self.trick.card: self.queen_played = True def round_end(self): """Reset pass globals""" self.pass_dir = keep self.received_cards = [] gnome-hearts-0.3/scripts/players/Makefile.am0000644000175000017500000000034711042105053016063 00000000000000## Process this file with automake to produce Makefile.in playerdir = $(PYTHON_DIR)/gnome-hearts/players player_DATA = \ jake.py \ john.py \ mike.py \ pauline.py \ peter.py \ luis.py \ ling.py EXTRA_DIST = $(player_DATA) gnome-hearts-0.3/scripts/players/luis.py0000755000175000017500000002076411042105053015365 00000000000000# Hearts - luis.py # Copyright 2006 Sander Marechal # # 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. # This AI is named after Luis Pedro, the creator of KDE Hearts and is essentially # a port of his AI to Python. from definitions import * from player import Player from player_api import * from random import choice class PlayerAI_Luis(Player): def __init__(self, direction, trick, score, rules): Player.__init__(self, direction, trick, score, rules) self.name = "Luis" self.hearts_played = False self.queen_played = False self.trick_starts = [0, 0, 0, 0] def select_cards(self, direction): """Return a list of three cards hat will be passed to an opponent""" result = [] def select(card): result.append(card) self.hand.remove(card) # First pass on the high spades if (spades, queen) in self.hand: select((spades, queen)) if (spades, king) in self.hand: select((spades, king)) if (spades, ace_high) in self.hand: select((spades, ace_high)) # Pass off the other cards while len(result) < 3: clubs_list = filter(f_clubs, self.hand) diamonds_list = filter(f_diamonds, self.hand) hearts_list = filter(f_hearts, self.hand) # If we can clear a suit with one card then do so, else pick a hearts or a high card if len(clubs_list) == 1: select(clubs_list[0]) elif len(diamonds_list) == 1: select(diamonds_list[0]) elif len(hearts_list): hearts_list.sort(s_rank, reverse=True) select(hearts_list[0]) else: self.hand.sort(s_rank, reverse=True) select(self.hand[0]) return result def open_trick(self): """Open a trick""" # If I have only hearts, play the lowest if len(self.hand) == len(filter(f_hearts, self.hand)): return self.hand[0] # If I have the two of clubs, play it # FIXME: This should honor the clubs_lead = false rule if (clubs, two) in self.hand: return (clubs, two) # If I don't have the queen of spades or higher and the queen hasn't been played, open with high spades if have_suit(self.hand, spades) and not self.queen_played and (not (spades, queen) in self.hand) and (not (spades, king) in self.hand) and (not (spades, ace_high) in self.hand): spades_list = filter(f_spades, self.hand) spades_list.sort(s_rank, reverse=True) return spades_list[0] # Try playing a suit that hasn't been played much if have_suit(self.hand, diamonds) and self.trick_starts[diamonds] < 2: diamonds_list = filter(f_diamonds, self.hand) diamonds_list.sort(s_rank, reverse=True) return diamonds_list[0] if have_suit(self.hand, clubs) and self.trick_starts[clubs] < 2: clubs_list = filter(f_clubs, self.hand) clubs_list.sort(s_rank, reverse=True) return clubs_list[0] # A low hearts to give them trouble # FIXME: Should honor hearts_broken = false if have_suit(self.hand, hearts) and self.hearts_played: hearts_list = filter(f_hearts, self.hand) hearts_list.sort(s_rank) max_hearts = 2 + ((self.trick_starts[hearts] + 1) * 3) if hearts_list[0][1] < max_hearts: return hearts_list[0] # Find a good card based on scores suits_to_try = [] valid_cards = filter(self.f_valid, self.hand) for suit in range(4): if have_suit(valid_cards, suit) and self.trick_starts[suit] < 4: suits_to_try.append(suit) suits_to_try.sort(s_random) best_score, best_card, list = 0, None, [] for suit in suits_to_try: if suit == clubs: list = filter(f_clubs, valid_cards) if suit == diamonds: list = filter(f_diamonds, valid_cards) if suit == spades: list = filter(f_spades, valid_cards) if suit == hearts: list = filter(f_hearts, valid_cards) list.sort(s_rank) score = 2 + ((self.trick_starts[suit] + 1) * 3) - list[0][1] if score > best_score: best_card = list[0] if best_card != None: return best_card # Give up. Play random return choice(valid_cards) def follow_suit(self): """Play a card following the trick's trump""" # Play spades if self.trick.trump == spades: spades_list = filter(f_spades, self.hand) # Uh oh, I have the queen if (spades, queen) in spades_list: # See if I can dump the queen if (spades, king) in self.trick.card or (spades, ace_high) in self.trick.card: return (spades, queen) # Try playing something else but the queen spades_list.sort(s_rank) if spades_list[0] == (spades, queen): # return the highest card. Could be the queen if that's all we have. # Fixes bug #24 return spades_list.pop() low_list = [card for card in spades_list if card[1] < queen] low_list.sort(s_rank, reverse=True) return low_list[0] # I don't have the queen if (spades, king) in self.hand or (spades, ace_high) in self.hand: if self.trick.num_played == 3 and not (spades, queen) in self.trick.card: spades_list.sort(s_rank, reverse=True) return spades_list[0] spades_list.sort(s_rank) if spades_list[0][1] >= king: # Forced to play high spades return spades_list.pop() low_list = [card for card in spades_list if card[1] < king] low_list.sort(s_rank, reverse=True) return low_list[0] spades_list.sort(s_rank, reverse=True) return spades_list[0] # Play hearts if self.trick.trump == hearts: hearts_list = filter(f_hearts, self.hand) hearts_list.sort(s_rank) highest_card = self.trick.get_highest_card() if hearts_list[0][1] > highest_card[1]: if self.trick.num_played == 3 or (self.trick.num_played == 2 and hearts_list[0][1] > highest_card[1] + 3): # I'm going to get it anyway, so play the highest return hearts_list.pop() return hearts_list[0] # Play highest hearts that doesn't win low_list = [card for card in hearts_list if card[1] < highest_card[1]] if len(low_list): low_list.sort(s_rank, reverse=True) return low_list[0] # Play lowest card hearts_list.sort(s_rank) return hearts_list[0] # Play clubs or diamonds suit_list = [] if self.trick.trump == clubs: suit_list = filter(f_clubs, self.hand) else: suit_list = filter(f_diamonds, self.hand) # Play high card if I don't take the queen of hearts if self.trick_starts[self.trick.trump] < 2 and not (spades, queen) in self.trick.card: suit_list.sort(s_rank, reverse=True) return suit_list[0] # If I'm the last in the trick, take with high card if self.trick.num_played == 3 and not (spades, queen) in self.trick.card: suit_list.sort(s_rank, reverse=True) return suit_list[0] # Play the highest card that doesn't win the trick highest_card = self.trick.get_highest_card() low_list = [card for card in suit_list if card[1] < highest_card[1]] if len(low_list): low_list.sort(s_rank) return low_list[0] # Play lowest card suit_list.sort(s_rank) return suit_list[0] def dont_follow_suit(self): """Play a card when I have no trump cards""" valid_cards = filter(self.f_valid, self.hand) if (spades, queen) in valid_cards: return (spades, queen) if (spades, king) in valid_cards: return (spades, king) if (spades, ace_high) in valid_cards: return (spades, ace_high) valid_cards.sort(s_rank, reverse=True) highest_card = valid_cards[0] if highest_card[1] < 8 and have_suit(valid_cards, hearts): hearts_list = filter(f_hearts, valid_cards) hearts_list.sort(s_rank, reverse=True) return hearts_list[0] return highest_card def play_card(self): """Play a card""" if self.trick.num_played == 0: return self.open_trick() elif have_suit(self.hand, self.trick.trump): return self.follow_suit() else: return self.dont_follow_suit() def trick_end(self): """remember the trick starts""" self.trick_starts[self.trick.trump] = self.trick_starts[self.trick.trump] + 1 # Update local variables if have_suit(self.trick.card, hearts): self.hearts_broken = True if (spades, queen) in self.trick.card: self.queen_played = True def round_end(self): """Reset some variables""" self.hearts_played = False self.trick_starts = [0, 0, 0, 0] gnome-hearts-0.3/scripts/players/jake.py0000755000175000017500000004522711042105053015324 00000000000000# Hearts - jake.py # Copyright 2008 Jesse F. Hughens and Sander Marechal # # 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. # This is a reasonably good player written by Jesse Hughes, adapted # from the stock_ai included in gnome_hearts 0.1.3. This player has # perfect recall of what has been played (which isn't exactly fair), but # he's not the cleverest lad around. After all, he was written by a # piss-poor hearts player. # Jake is originally designed and written by Jesse Hughes in Lua for the # 0.1.3 branch of gnome-hearts. It was ported to Python by Sander Marechal from definitions import * from player import Player from player_api import * from random import choice class PlayerAI_Jake(Player): def __init__(self, direction, trick, score, rules): Player.__init__(self, direction, trick, score, rules) self.name = "Jake" # Alternative names: "Jesse" and "Quincy" # The following array keeps track of bad suits: a suit that some # other player doesn't have. These suits can be dangerous to take. # list of tuples (suit, player) self.player_out_suits = [] self.seen_cards = [] def select_card(self, card, result): """ remove card from hand and add it to result """ if card in self.hand: result.append(card) self.hand.remove(card) def card_string(self, card): suit, rank = None, None if card[0] == clubs: suit = "clubs" elif card[0] == diamonds: suit = "diamonds" elif card[0] == hearts: suit = "hearts" elif card[0] == spades: suit = "spades" if card[1] == ace or card[1] == ace_high: rank = "ace" elif card[1] == king: rank = "king" elif card[1] == queen: rank = "queen" elif card[1] == jack: rank = "jack" else: rank = card[1] if suit == None or rank == None: return "??" return "%s of %s" % (suit, rank) def print_card_list(self, list): for card in list: print self.card_string(card) def record_played_cards(self): """ Add all the cards played thus far to the list seen_cards """ # record my own cards! if len(self.seen_cards) == 0: self.seen_cards.extend(self.hand) for card in self.trick.card: if card != None and card not in self.seen_cards: self.seen_cards.append(card) def is_giveaway_card(self, card): """ returns true if the only unseen cards of same suit beat this card """ if len([x for x in self.seen_cards if x[1] == card[1]]) == 13: return False for i in range(2, card[1]): if (card[1], i) not in self.seen_cards: return False return True def is_scoring_suit(self, suit): """ returns true if the suit still has some scoring cards unseen, i.e., if the suit is either hearts or spades with an unplayed Queen. """ if suit == hearts: return True if suit == spades and ((spades, queen) not in self.seen_cards or (spades, queen) in self.hand): return True return False def num_unseen(self, suit): """ returns number of cards not accounted for """ unseen = 13 - len([x for x in self.seen_cards if x[0] == suit]) # print "%d unseen for suit %s" % (unseen, suit) return unseen def num_players_out(self, suit): """ returns number of players out of a suit (some player doesn't have it) Note: includes the player himself in this count, but that should be harmless. """ return len([x for x in self.player_out_suits if x[0] == suit]) def get_dull_suit_cards(self, list, include_bonus = True): """ return all clubs and diamonds """ return [x for x in list if x[0] == clubs or x[0] == diamonds] def dump_cards_from_list(self, list, result): """ list is a subset of our hand that we'd like to get rid of. Put the highest cards from list into the result and remove them from list and hand. """ list.sort(s_rank, reverse=True) while len(result) < 3 and len(list) > 0: self.select_card(list.pop(0), result) def select_cards(self, direction): """ This function is called when you have to select three cards to pass to the next player. Return a list of three cards. - If I have ace or king of spades, get rid of it. - If I have fewer than four spades, get rid of the queen. - If my lowest heart is greater than 6, get rid of every heart over 10. - If I have fewer than three diamonds, get rid of as many as possible. - If I have fewer than four clubs, get rid of as many as possible. - Get rid of the highest diamonds/clubs. """ # self.print_card_list(self.hand) result = [] clubs_list = filter(f_clubs, self.hand) diamonds_list = filter(f_diamonds, self.hand) hearts_list = filter(f_hearts, self.hand) spades_list = filter(f_spades, self.hand) # first pass on the high spades if (spades, ace_high) in spades_list: self.select_card((spades, ace_high), result) if (spades, king) in spades_list: self.select_card((spades, king), result) if (spades, queen) in spades_list and len(spades_list) < 4: self.select_card((spades, queen), result) # if our lowest heart is above six, get rid of all heart face cards. if len(hearts_list) > 0: hearts_list.sort(s_rank) if hearts_list[0][1] > 6: faces = [x for x in hearts_list if x[1] > 10] while len(result) < 3 and len(faces) > 0: self.select_card(faces.pop(0), result) # Try to clear diamonds and clubs if len(clubs_list) < len(diamonds_list): if len(clubs_list) > 0 and len(clubs_list) < 4: self.dump_cards_from_list(clubs_list, result) if len(diamonds_list) > 0 and len(diamonds_list) < 4: self.dump_cards_from_list(diamonds_list, result) else: if len(diamonds_list) > 0 and len(diamonds_list) < 4: self.dump_cards_from_list(diamonds_list, result) if len(clubs_list) > 0 and len(clubs_list) < 4: self.dump_cards_from_list(clubs_list, result) # dump dull cards self.dump_cards_from_list(self.get_dull_suit_cards(self.hand), result) # I shouldn't need to dump any more hearts or spades, but # it's always possible that I was dealt only these two suits! # PS: I think that the original Lua code had a bug here. It tried to # dump more cards from the dull list self.dump_cards_from_list(hearts_list, result) self.dump_cards_from_list(spades_list, result) # print "Passing:" # self.print_card_list(result) # print "----" return result def s_len(self, a, b): """ Sort a multidimensional array by array length """ return len(a) - len(b) def unseen_above(self, card): """ Return the number of unseen cards that beat this card """ suit_seen = [x for x in self.seen_cards if x[0] == card[0] and x[1] > card[1]] count = 14 - card[1] - len(suit_seen) return count def spades_is_iffy(self): """ Spades are iffy if I have the queen or a card higher than the queen """ iffy_spades = [x for x in self.hand if x[0] == spades and x[1] >= queen] return len(iffy_spades) > 0 def choose_lead_card(self): """ call a card a giveaway card if it is lower than any card in the suit not yaet seen and someone has a card in the suit not yet seen. If we lead with a giveaway card, someone else will take the trick. If I have the ace or king of a non-dangerous suit, then play it. If I do not have anything queen or above of spades and if spades are not bad, then play the highest spade below the queen. Play a giveaway heart. Even if spades are bad, play a low spade provided I have nothing above Jack in my hand. Play a giveaway card in any suit. Choose the suit with the most folks out of it. Pick the card that has the most trump cards above it unseen. (We may as well restrict ourselves to the lowest card of each suit.) """ # If I have an ace or king of a non-dangerous suit and there are # at least 8 unplayed cards of that suit, play it. valid_cards = filter(self.f_valid, self.hand) cards = [[], [], [], []] # print "Player %d picking from" % self.direction # self.print_card_list(valid_cards) for i in range(4): cards[i] = [x for x in valid_cards if x[0] == i] cards.sort(self.s_len, reverse=True) for list in cards: if len(list) == 0: continue list.sort(s_rank, reverse=True) card = list[0] if (card[1] > queen and not self.is_scoring_suit(card[0]) and self.num_players_out(card[0]) == 0 and self.num_unseen(card[0]) > 5): # print "Seems safe to lead with %s" % card return card # If I do not have anything queen or above of spades and if no one # is out of spades, then play the highest spade below the queen. if have_suit(valid_cards, spades) and self.num_players_out(spades) == 0 and (spades, queen) not in self.seen_cards: spades_list = filter(f_spades, valid_cards) spades_list.sort(s_rank,reverse=True) high_spade = spades_list[0] if high_spade[1] < queen: # print "Cough out a high spade: %s" % high_spade return high_spade # Play a giveaway heart hearts_list = filter(f_hearts, valid_cards) if len(hearts_list) > 0: hearts_list.sort(s_rank) low_heart = hearts_list[0] if self.is_giveaway_card(low_heart): # print "Giveaway: %s" % low_heart return low_heart # Even if spades are bad, play a low spade provided I # have nothing above Jack in my hand and the Queen is # still out. if have_suit(valid_cards, spades) and (spades, queen) not in self.seen_cards: spades_list = filter(f_spades, valid_cards) spades_list.sort(s_rank, reverse=True) if spades_list[0][1] < queen: spades_list.sort(s_rank) low_spade = spades_list[0] # print "Cough up a low spade: %s" % low_spade return low_spade # Play a giveaway card in any suit. Choose the suit with the most # folks out of it. for list in cards: if len(list) == 0: continue list.sort(s_rank) if self.is_giveaway_card(list[0]) and (list[0][0] != spades or list[-1][1] < queen): # print "Giveaway card: %s" % list[0] return list[0] # Pick the card that has the most trump cards above it unseen. # (We may as well restrict ourselves to the lowest card of each # suit.) best_suit = [] count = 0 for challenger in cards: if len(challenger) > 0 and (challenger[0][0] != spades or not self.spades_is_iffy()): # If we have the Queen or above in Spades, then it's not the best bet, unless # either there is no best_suit or the best_suit has count of 0 challenger.sort(s_rank) if len(best_suit) == 0: best_suit = challenger count = self.unseen_above(best_suit[0]) # print "Default best card %s count %d" % (self.card_string(best_suit[0]), count) else: c_count = self.unseen_above(challenger[0]) # print "%d unseen cards above %s" % (c_count, self.card_string(challenger[0])) if c_count > count: best_suit = challenger count = c_count if len(best_suit) > 0: # try a non-points spade if count == 0: for challenger in cards: if len(challenger) == 0: continue if challenger[0][0] == spades: pointless = filter(f_pointless_cards, challenger) pointless.sort(s_rank) if len(pointless) > 0 and self.unseen_above(pointless[0]) > 0: # print "Might as well go with a spade: %s" % pointless[0] return pointless[0] # print "Best bet: %s" % best_suit[0] return best_suit[0] else: valid_cards.sort(s_rank) # print "Scraping: %s" % valid_cards[0] return valid_cards[0] def avoid_trick(self, valid_cards, high_card): # lifted from stock_ai. # play the higest card that doesn't take the trick valid_cards.sort(s_rank, reverse=True) for card in valid_cards: if card[0] != high_card[0] or card[1] < high_card[1]: return card # we can't dodge, so take it with the fewest points. # If we're the last player, use a high card. Otherwise use a low # card and hope that someone else gets it. if self.trick.num_played == 3: valid_cards.sort(s_rank, reverse=True) else: valid_cards.sort(s_rank) # Don't give myself the queen of spades if valid_cards[0] == (spades, queen) and len(valid_cards) > 1: return valid_cards[1] return valid_cards[0] def take_trick(self, valid_cards, high_card): # if someone else will take the Queen, play it! # Getting rid of the Queen is important. if (spades, queen) in valid_cards and queen < high_card[1]: return (spades, queen) # Play the highest card that's no a point pointless_cards = filter(f_pointless_cards, valid_cards) if len(pointless_cards): pointless_cards.sort(s_rank, reverse=True) # Try not to trump the queen of spades if high_card[0] == spades and (spades, queen) not in self.seen_cards: for card in pointless_cards: if card[1] < queen: return card return pointless_cards[0] # Have to play a point. Go low valid_cards.sort(s_rank) return valid_cards[0] def dump_cards(self, valid_cards, high_card): # We don't have the suit at all. First, try to dump high spades. if (spades, queen) in valid_cards: return (spades, queen) if (spades, ace_high) in valid_cards and self.is_scoring_suit(spades): return (spades, ace_high) if (spades, king) in valid_cards and self.is_scoring_suit(spades): return (spades, king) # Dump high cards (above queen), any suit. valid_cards.sort(s_rank, reverse=True) if valid_cards[0][1] > jack: return valid_cards[0] # Dump the highest point card we have. point_cards = filter(f_point_cards, valid_cards) if len(point_cards): point_cards.sort(s_rank, reverse=True) return point_cards[0] # Dump any card return valid_cards[0] def choose_final_card(self): """ Called when we are the fourth player on the trick. Have the suit: - If there are no points in the trick, take it with the highest card we have. - If there are points in the trick, play the highest card that won't take it. - If we are forced to take it, take it with the highest card we have. Not have the suit: - Play the Queen of Spades. - Play the King or Ace of Spades - Play the highest Queen or above card we have. - Play the highest heart. - Play the highest card we have. """ valid_cards = filter(self.f_valid, self.hand) high_card = self.trick.get_highest_card() # print "---" # print "Player %d picking final card from" % self.direction # self.print_card_list(valid_cards) if have_suit(valid_cards, high_card[0]): if len(filter(f_point_cards, self.trick.card)) > 0: # print "I should avoid it" return self.avoid_trick(valid_cards, high_card) # print "I should take it" return self.take_trick(valid_cards, high_card) return self.dump_cards(valid_cards, high_card) def is_dangerous_trick(self, high_card): """ return true if one of the remaining players doesn't have the suit of the trick and either (has hearts or queen of spades is not played) """ if self.num_unseen(high_card[0]) + self.trick.num_played < 6: # print "Not enough cards! Dangerous!" return True for index in range(4): card = self.trick.card[index] if (card is None and (self.trick.trump, index) in self.player_out_suits and ((hearts, index) not in self.player_out_suits or ((spades, queen) not in self.seen_cards and (spades,index) not in self.player_out_suits))): # print "Upcoming player is dangerous!" return True return False def choose_mid_card(self): """ Have the suit: - If the suit is not dangerous and has at least 7 cards in other folks hands, play the highest card we have. - Else, play the highest card that won't take the trick. Not have the suit: - Play the Queen of Spades. - Play the highest Queen or above card we have. - Play the highest heart. - If the suit is not dangerous and has at least 7 cards in other folks hands, play the highest card we have. """ valid_cards = filter(self.f_valid, self.hand) high_card = self.trick.get_highest_card() # print "---" # print "Player %d picking middle card from" % self.direction # self.print_card_list(valid_cards) if have_suit(valid_cards, high_card[0]): if len(filter(f_point_cards, self.trick.card)) > 0 or self.is_dangerous_trick(high_card): # print "I should avoid it" return self.avoid_trick(valid_cards, high_card) # print "I should take it" return self.take_trick(valid_cards, high_card) return self.dump_cards(valid_cards, high_card) def play_card(self): """ LEADING: Call a suit bad if I know that one player is out of that suit. Call a suit dangerous if either it contains an unseen scoring card (i.e., spades before the queen has been seen or hearts anytime) or it is bad. If I have the ace or king of a non-dangerous suit, then play it. If I do not have anything queen or above of spades and if spades are not bad, then play the highest spade below the queen. If I have a heart that I know will not take the trick, play it (if possible). (Play the highest heart that won't take the trick). Even if spades are bad, play a low spade provided I have nothing above Jack in my hand. Play the highest diamond/club that will not take the trick. FOLLOWING: Not fourth: Have the suit: If the suit is not dangerous and has at least 7 cards in other folks hands, play the highest card we have. Else, play the highest card that won't take the trick. Not have the suit: Play the Queen of Spades. Play the highest Queen or above card we have. Play the highest heart. Fourth: Have the suit: If there are no points in the trick, take it with the highest card we have. If there are points in the trick, play the highest card that won't take it. If we are forced to take it, take it with the highest card we have. Not have the suit: As above. """ self.record_played_cards() if self.trick.num_played == 0: return self.choose_lead_card() if self.trick.num_played == 3: return self.choose_final_card() return self.choose_mid_card() def trick_end(self): for index in range(4): card = self.trick.card[index] if (self.trick.trump, index) not in self.player_out_suits: if card[0] != self.trick.trump: self.player_out_suits.append((self.trick.trump, index),) self.record_played_cards() def round_end(self): self.player_out_suits = [] self.seen_cards = [] gnome-hearts-0.3/scripts/players/Makefile.in0000644000175000017500000002640611042107705016106 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : subdir = scripts/players 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.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = 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 = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(playerdir)" playerDATA_INSTALL = $(INSTALL_DATA) DATA = $(player_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ playerdir = $(PYTHON_DIR)/gnome-hearts/players player_DATA = \ jake.py \ john.py \ mike.py \ pauline.py \ peter.py \ luis.py \ ling.py EXTRA_DIST = $(player_DATA) 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 \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/players/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu scripts/players/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 install-playerDATA: $(player_DATA) @$(NORMAL_INSTALL) test -z "$(playerdir)" || $(MKDIR_P) "$(DESTDIR)$(playerdir)" @list='$(player_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(playerDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(playerdir)/$$f'"; \ $(playerDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(playerdir)/$$f"; \ done uninstall-playerDATA: @$(NORMAL_UNINSTALL) @list='$(player_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(playerdir)/$$f'"; \ rm -f "$(DESTDIR)$(playerdir)/$$f"; \ done 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$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)$(playerdir)"; 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) 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 info: info-am info-am: install-data-am: install-playerDATA install-dvi: install-dvi-am 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 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-playerDATA .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-playerDATA 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-playerDATA # 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: gnome-hearts-0.3/scripts/players/pauline.py0000644000175000017500000000166211042105053016037 00000000000000# Hearts - john.py # Copyright 2006 Sander Marechal # # 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. from stock_ai import * class PlayerAI_Pauline(StockAI): def __init__(self, direction, trick, score, rules): Player.__init__(self, direction, trick, score, rules) self.name = "Pauline" gnome-hearts-0.3/scripts/players/ling.py0000644000175000017500000007247511042105053015345 00000000000000# Hearts - jake.py # Copyright 2008 Jesse F. Hughens and Sander Marechal # # 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. # This is a reasonably good player written by Jesse Hughes, adapted # from the stock_ai included in gnome_hearts 0.1.3. This player has # perfect recall of what has been played (which isn't exactly fair), but # he's not the cleverest lad around. After all, he was written by a # piss-poor hearts player. # Jake is originally designed and written by Jesse Hughes in Lua for the # 0.1.3 branch of gnome-hearts. It was ported to Python by Sander Marechal from definitions import * from player import Player from player_api import * from random import choice from pprint import pprint class PlayerAI_Ling(Player): def __init__(self, direction, trick, score, rules): # Alternative names: "Mikhi" and "Bruno" Player.__init__(self, direction, trick, score, rules) self.name = "Ling" # The following array keeps track of bad suits: a suit that some # other player doesn't have. These suits can be dangerous to take. # list of tuples (suit, player) self.player_out_suits = [] self.seen_cards = [] def select_card(self, card, result): """ remove card from hand and add it to result """ if card in self.hand: result.append(card) self.hand.remove(card) def card_string(self, card): suit, rank = None, None if card[0] == clubs: suit = "clubs" elif card[0] == diamonds: suit = "diamonds" elif card[0] == hearts: suit = "hearts" elif card[0] == spades: suit = "spades" if card[1] == ace or card[1] == ace_high: rank = "ace" elif card[1] == king: rank = "king" elif card[1] == queen: rank = "queen" elif card[1] == jack: rank = "jack" else: rank = card[1] if suit == None or rank == None: return "??" return "%s of %s" % (rank, suit) def print_card_list(self, list): for card in list: print self.card_string(card) def record_played_cards(self): """ Add all the cards played thus far to the list seen_cards """ # record my own cards! if len(self.seen_cards) == 0: self.seen_cards.extend(self.hand) for card in self.trick.card: if card != None and card not in self.seen_cards: self.seen_cards.append(card) def num_above(self, card, card_list): """ return number of cards in card_list above card (same suit) """ return len([x for x in card_list if x[0] == card[0] and x[1] > card[1]]) def num_below(self, card, card_list): """ return number of cards in card_list below card (same suit) """ return len([x for x in card_list if x[0] == card[0] and x[1] < card[1]]) def is_giveaway_card(self, card): """ returns true if the only unseen cards of same suit beat this card """ return (self.unseen_below(card) == 0 and self.unseen_above(card) > 0) def is_played(self,card): return card not in self.hand and card in self.seen_cards def is_probable_giveaway_card(self, card): """ returns true if the number of unseen cards of same suit below card is fewer than the number of players that presumably have the suit. Of course, we require at least one player above this card! """ if (3 - self.num_players_out(card[0]) > self.unseen_below(card) and self.unseen_above(card) > 0): return True return False def is_scoring_suit(self, suit): """ returns true if the suit still has some scoring cards unseen, i.e., if the suit is either hearts or spades with an unplayed Queen. """ if suit == hearts: return True if suit == spades and not self.is_played((spades, queen)): return True return False def num_unseen(self, suit): """ returns number of cards in suit not accounted for """ return 13 - len([x for x in self.seen_cards if x[0] == suit]) def num_players_out(self, suit): """ returns number of players out of a suit (some player doesn't have it) Note: includes the player himself in this count, but that should be harmless. """ return len([x for x in self.player_out_suits if x[0] == suit]) def moon_shooter(self): """ returns true if the guy who is currently winning the trick has scored more than 14 pts. this hand and no one else has scored a single pt. If so, then we need to change strategy so that he can't shoot the moon. """ scorers=[x for x in range(4) if self.score.round[x] > 0] first_played=self.trick.card[self.trick.first_played] # A list of all the non-zero scorers. If there's only # one, then he might be shooting the moon. if first_played == None: return False if len(scorers) > 1: return False # If he is dropping a high spade as the only scorer, # then he's pretty suspicious! if (first_played[0] == spades and first_played[1] > jack and (not self.is_played((spades,queen)) or (spades,queen) == first_played)): return True if (first_played[0] == hearts and first_played[1] > 10): return True if len(scorers) == 1: scorer=scorers[0] # If the only guy with points isn't currently # taking the trick, then we won't worry. # NOTE: He may not have played yet, but if # not, then he is not in control, so we won't # worry. if self.trick.card[scorer] == self.trick.get_highest_card(): # Let's assume moon_shooter if he has more # than 14 points so far or if he has more than # 6 points and the queen hasn't shown up yet. # He's taken the queen and at least two other hearts. if self.score.round[scorer] > 14: return True # He's taken more than six hearts if (self.score.round[scorer] > 6 and (not self.is_played((spades, queen)) or (spades,queen) in self.trick.card)): return True # If he's led with the highest unseen # card of a suit that someone is out # of. This leads to some false # positives (Luis is stoopid!), so # let's restrict it to the case in # which he's already taken at least # two points. his_card=self.trick.card[scorer] if (self.unseen_above(his_card) == 0 and self.num_players_out(his_card[0]) > 0 and self.score.round[scorer] > 1): # If we can take the trick, # then he wouldn't know that, # so let's not count it as a # moon shooter in that case. if (self.num_players_out(his_card[0]) == 1 and len([x for x in filter(self.f_valid, self.hand) if x[0] == his_card[0]]) > 0): return False return True return False return False def moon_defense(self): """ Someone is threatening to shoot the moon. We'll take it if we can and if we aren't currently the high score. Otherwise, we will play the card with the fewest unseen cards less than it (any suit) in hopes that we may take a later trick. """ high_card=self.trick.get_highest_card() valid_cards = filter(self.f_valid, self.hand) # Check to see if we are the highest score. If so, to # heck with it. Let someone else make the sacrifice. if (self.score.game[self.direction] != max(self.score.game) or (self.score.game[self.direction] < min(self.score.game) + 10 and self.score.game[self.direction] < 85) or self.score.game[self.direction] < 26): if valid_cards[0][0] == high_card[0]: winning = [x for x in valid_cards if x[1] > high_card[1]] if len(winning) > 0: # We can take the trick. If it is # dangerous, we should take it with # the lowest card that will do. # Otherwise, might as well take it # with the highest card that will do. if not self.is_dangerous_trick(high_card): winning.sort(s_rank, reverse=True) return self.choose_equiv(winning[0],winning) # winning contains a list of cards # that could take the trick. winning.sort(s_rank) # Play the lowest card that will take # the trick. return self.choose_equiv(winning[0],winning) # We can't take the trick. Let's look at the lowest # card in each suit. We'd like to get rid of the # card with the fewest unseen cards *below* it, so # that we keep our high cards in our hand. We might # still need to take a trick. # Exception: If I have a single card from this suit # which has no unseen cards above it, then I can # throw out cards below that card. After all, if he # ever plays that suit, I'll take it. low_cards=[] for fil in [f_diamonds, f_clubs, f_hearts, f_spades]: this_suit = filter(fil, valid_cards) if len(this_suit) > 0: # If one of our cards from # this suit has no unseen # cards above it, then get # rid of something equivalent # to the second highest card # of this suit. if (len(this_suit) > 1 and self.unseen_above(max(this_suit)) == 0): this_suit.sort(s_rank,reverse=True) return self.choose_equiv(this_suit[1],this_suit) low_cards.append(min(this_suit)) best = low_cards.pop() while len(low_cards) > 0: candidate = low_cards.pop() if self.unseen_below(best) > self.unseen_below(candidate): best = candidate return self.choose_equiv(best,valid_cards) return None def get_dull_suit_cards(self, list, include_bonus = True): """ return all clubs and diamonds """ return [x for x in list if x[0] == clubs or x[0] == diamonds] def dump_cards_from_list(self, list, result): """ list is a subset of our hand that we'd like to get rid of. Put the highest cards from list into the result and remove them from list and hand. """ list.sort(s_rank, reverse=True) while len(result) < 3 and len(list) > 0: self.select_card(list.pop(0), result) def select_cards(self, direction): """ This function is called when you have to select three cards to pass to the next player. Return a list of three cards. - If I have ace or king of spades, get rid of it. - If I have fewer than four spades, get rid of the queen. - If my lowest heart is greater than 6, get rid of every heart over 10. - If I have fewer than three diamonds, get rid of as many as possible. - If I have fewer than four clubs, get rid of as many as possible. - Get rid of the highest diamonds/clubs. """ result = [] clubs_list = filter(f_clubs, self.hand) diamonds_list = filter(f_diamonds, self.hand) hearts_list = filter(f_hearts, self.hand) spades_list = filter(f_spades, self.hand) # first pass on the high spades if (spades, ace_high) in spades_list: self.select_card((spades, ace_high), result) if (spades, king) in spades_list: self.select_card((spades, king), result) if (spades, queen) in spades_list and len(spades_list) < 4: self.select_card((spades, queen), result) # if our lowest heart is above six, get rid of all # heart face cards. if len(hearts_list) > 0: hearts_list.sort(s_rank) if hearts_list[0][1] > 6: faces = [x for x in hearts_list if x[1] > 10] while len(result) < 3 and len(faces) > 0: self.select_card(faces.pop(0), result) # Try to clear diamonds and clubs if len(clubs_list) < len(diamonds_list): if len(clubs_list) > 0 and len(clubs_list) < 4: self.dump_cards_from_list(clubs_list, result) if len(diamonds_list) > 0 and len(diamonds_list) < 4: self.dump_cards_from_list(diamonds_list, result) else: if len(diamonds_list) > 0 and len(diamonds_list) < 4: self.dump_cards_from_list(diamonds_list, result) if len(clubs_list) > 0 and len(clubs_list) < 4: self.dump_cards_from_list(clubs_list, result) # dump dull cards self.dump_cards_from_list(self.get_dull_suit_cards(self.hand), result) # I shouldn't need to dump any more hearts or spades, but # it's always possible that I was dealt only these two suits! # PS: I think that the original Lua code had a bug here. It tried to # dump more cards from the dull list self.dump_cards_from_list(hearts_list, result) self.dump_cards_from_list(spades_list, result) return result def same_suit_from_list(self,card,card_list): return [x for x in card_list if x[0] == card[0]] def s_dump_rank(self,a,b): """ We prefer to dump a if there are fewer cards beneath a such that unseen_above is > 0. """ valid_cards = filter(self.f_valid, self.hand) return (len([x for x in self.same_suit_from_list(b,valid_cards) if self.unseen_above(x) > 0]) - len([x for x in self.same_suit_from_list(a,valid_cards) if self.unseen_above(x) > 0])) def s_len(self, a, b): """ Sort a multidimensional array by array length """ return len(a) - len(b) def s_prob_give_pref(self, a, b): """ Sort a multidimensional array of cards by an ad hoc method. Suits with only one card are lowest. If two suits have more than one card, then we rank the suits as follows: check the number of unseen cards above the *second* member of the suit, the more the better. If spades are iffy, rank them higher than anything else. """ if a[0][0] == spades and self.spades_is_iffy(): return -1 if b[0][0] == spades and self.spades_is_iffy(): return 1 if len(a) == 1: return 1 if len(b) == 1: return -1 return self.unseen_above(a[1]) - self.unseen_above(b[1]) def unseen_below(self,card): """ return the number of unseen cards that are below card. """ suit_seen = [x for x in self.same_suit_from_list(card,self.seen_cards) if x[1] < card[1]] return card[1] - 2 - len(suit_seen) def unseen_above(self, card): """ Return the number of unseen cards that beat this card """ suit_seen = [x for x in self.same_suit_from_list(card,self.seen_cards) if x[1] > card[1]] count = 14 - card[1] - len(suit_seen) return count def spades_is_iffy(self): """ Spades are iffy if I have the queen or a card higher than the queen """ return (not self.is_played(queen) and len([x for x in self.hand if x[0] == spades and x[1] > jack]) > 0) def will_take_trick(self,card): high = self.trick.get_highest_card() return (high != None and high[0] == card[0] and high[1] <= card[1]) def is_equiv(self,a,b): """ Two cards are equivalent if they have the same suit, the same unseen_above (and hence the same unseen_below) and either both of them or neither of them take the current trick. """ return (a[0] == b[0] and self.unseen_above(a) == self.unseen_above(b) and self.will_take_trick(a) == self.will_take_trick(b)) def choose_equiv(self,card,card_list): """ Randomly select a card from list which has the same unseen_above score as card. """ return choice([x for x in card_list if self.is_equiv(x,card)]) def s_unseen_above(self,a, b): return self.unseen_above(a) - self.unseen_above(b) def s_unseen_below(self,a, b): return self.unseen_below(a) - self.unseen_below(b) def choose_lead_card(self): """ call a card a giveaway card if it is lower than any card in the suit not yet seen and someone has a card in the suit not yet seen. If we lead with a giveaway card, someone else will take the trick. If I have the ace or king of a non-dangerous suit, then play it. If I do not have anything queen or above of spades and if spades are not bad, then play the highest spade below the queen. Play a giveaway heart. Even if spades are bad, play a low spade provided I have nothing above Jack in my hand. Play a giveaway card in any suit. Choose the suit with the most folks out of it. Pick the card that has the most trump cards above it unseen. (We may as well restrict ourselves to the lowest card of each suit.) """ # If I have any cards with unseen_above of 0 and a # non-dangerous suit and there are at least 8 unplayed # cards of that suit, play it. # Example: If I have the J and K and the Q and A have # both been played, then both J and K qualify. Play # one of them. valid_cards = filter(self.f_valid, self.hand) cards = [[], [], [], []] # If I have the Queen and there are no unseen spades # beneath it and at least one unseen spade above it, # play it! What a giveaway! if ((spades,queen) in valid_cards and self.unseen_below((spades,queen)) == 0 and self.unseen_above((spades,queen)) > 0): return (spades,queen) for i in range(4): cards[i] = [x for x in valid_cards if x[0] == i] cards = [x for x in cards if len(x) > 0] cards.sort(self.s_len, reverse=True) for list in cards: # Form a list of all those cards with 0 cards # unseen above. Ace is always in this list # (if you have it). King is in the list if # you've seen the Ace, and so on. high_cards = [x for x in list if self.unseen_above(x) == 0] if len(high_cards) == 0: continue # Randomly pick a card. Don't always choose # the highest, since that gives too much # information. card = choice(high_cards) if (not self.is_scoring_suit(card[0]) and self.num_players_out(card[0]) == 0 and self.num_unseen(card[0]) > 5): return card # If I do not have anything queen or above of spades # and if no one is out of spades, then play the # highest spade below the queen. if (have_suit(valid_cards, spades) and self.num_players_out(spades) == 0 and not self.is_played((spades, queen)) and not self.spades_is_iffy()): spades_list = filter(f_spades, valid_cards) spades_list.sort(s_rank,reverse=True) # card is the highes spade below the queen. # Let's form a new list of all those cards # which are "equivalent" to it. # self.print_card_list(spades_list) card=spades_list[0] return self.choose_equiv(card,spades_list) # Play a giveaway heart giveaway_hearts = [x for x in filter(f_hearts, valid_cards) if self.is_giveaway_card(x)] if len(giveaway_hearts) > 0: return choice(giveaway_hearts) # Even if spades are bad, play a low spade provided I # have nothing above Jack in my hand and the Queen is # still out. if (have_suit(valid_cards, spades) and not self.is_played((spades, queen)) and not self.spades_is_iffy()): spades_list = filter(f_spades, valid_cards) spades_list.sort(s_rank) card=spades_list[0] return self.choose_equiv(spades_list[0],spades_list) # Play a giveaway card in any suit. Choose the suit # with the most folks out of it. for list in cards: if len(list) == 0: continue if (cards[0][0] == spades and self.spades_is_iffy()): continue giveaways = [x for x in list if self.is_giveaway_card(x)] if len(giveaways) > 0: return choice(giveaways) # Play a "probable giveaway". This is a card where # the number of cards unseen below it is fewer than # the 4 - number of players out of the suit. Of # course, we still require that there is at least one # unseen card above this card! candidate_suits = [x for x in cards if len(x) > 0 and self.is_probable_giveaway_card(x[0]) and (not x[0][0] == spades or not self.spades_is_iffy())] # If we have a probable giveaway that is the only card # in that suit, play it first. # Otherwise, rank preference according to the number # of cards unseen above the *second* card of the suit. candidate_suits.sort(self.s_prob_give_pref) if len(candidate_suits) > 0: return self.choose_equiv(candidate_suits[0][0], candidate_suits[0]) # Pick the card that has the most trump cards above it # unseen. (We may as well restrict ourselves to the # lowest card of each suit.) best_suit = [] count = 0 for challenger in cards: if (len(challenger) > 0 and (challenger[0][0] != spades or not self.spades_is_iffy())): # If we have the Queen or above in # Spades, then it's not the best bet, # unless either there is no best_suit # or the best_suit has count of 0 challenger.sort(s_rank) if len(best_suit) == 0: best_suit = challenger count = self.unseen_above(best_suit[0]) else: c_count = self.unseen_above(challenger[0]) if c_count > count: best_suit = challenger count = c_count if len(best_suit) > 0: # try a non-points spade if count == 0: for challenger in cards: if len(challenger) == 0: continue if challenger[0][0] == spades: pointless = filter(f_pointless_cards, challenger) pointless.sort(s_rank) if (len(pointless) > 0 and self.unseen_above(pointless[0]) > 0): return self.choose_equiv(pointless[0],pointless) return self.choose_equiv(best_suit[0],best_suit) else: cards.sort(self.s_prob_give_pref) return self.choose_equiv(cards[0][0], cards[0]) def avoid_trick(self, valid_cards, high_card): """ I don't want to take the trick! """ ## If we can avoid taking the trick, do so ## with the highest card possible (up to ## equivalence) below = [x for x in valid_cards if x[1] < high_card[1]] if len(below) > 0: below.sort(s_rank,reverse=True) return self.choose_equiv(below[0],below) # we can't dodge, so take it with the fewest points. # If we're the last player, use a high card. # Otherwise use a low card and hope that someone else # gets it. # remove the queen of spades, since we don't want to # play her unless we have to. if len(valid_cards) > 1: valid_cards=[x for x in valid_cards if x != (spades,queen)] if self.trick.num_played == 3: valid_cards.sort(s_rank, reverse=True) else: valid_cards.sort(s_rank) return self.choose_equiv(valid_cards[0],valid_cards) def take_trick(self, valid_cards, high_card): # if someone else will take the Queen, play it! # Getting rid of the Queen is important. if (spades, queen) in valid_cards and queen < high_card[1]: return (spades, queen) # Play the highest card that's not a point pointless_cards = filter(f_pointless_cards, valid_cards) if len(pointless_cards): pointless_cards.sort(s_rank, reverse=True) # Try not to trump the queen of spades if (high_card[0] == spades and not self.is_played((spades, queen))): safe_cards=[x for x in pointless_cards if x[1] < queen] if len(safe_cards): return self.choose_equiv(safe_cards[0],safe_cards) # Can't avoid playing a dangerous spade. return self.choose_equiv(pointless_cards[0],pointless_cards) # Have to play a point. Go low valid_cards.sort(s_rank) return self.choose_equiv(valid_cards[0],valid_cards) def dump_cards(self, valid_cards, high_card): # We don't have the suit at all. First, try to dump # high spades. if (spades, queen) in valid_cards: return (spades, queen) if ((spades, ace_high) in valid_cards and self.is_scoring_suit(spades)): return (spades, ace_high) if ((spades, king) in valid_cards and self.is_scoring_suit(spades)): return (spades, king) # Dump any card which is the last card of the suit, # has some unseen card below it and has no unseen # cards above it. lone_cards = [x for x in valid_cards if len(self.same_suit_from_list(x, valid_cards)) == 1 and self.unseen_below(x) > 0 and self.unseen_above(x) == 0] if len(lone_cards) > 0: return choice(lone_cards) # Dump any card which is the last card of the suit and # has some unseen card below it. lone_cards = [x for x in valid_cards if len(self.same_suit_from_list(x, valid_cards)) == 1 and self.unseen_below(x) > 0] if len(lone_cards) > 0: return choice(lone_cards) # Dump any card with no cards unseen above it. # If there are candidates from several suits, then # choose the suit with the fewest safety cards (cards # with unseen_above > 0). high_cards = [x for x in valid_cards if self.unseen_above(x) == 0 and self.unseen_below(x) > 0] high_cards.sort(self.s_dump_rank) if len(high_cards) > 0: return self.choose_equiv(high_cards[0],high_cards) # Dump the highest point card we have. point_cards = filter(f_point_cards, valid_cards) if len(point_cards): point_cards.sort(s_rank, reverse=True) return self.choose_equiv(point_cards[0], point_cards) ## Try to dump cards that have some unseen cards below ## them and few unseen cards above them first. candidates=[x for x in valid_cards if self.unseen_below(x) > 0] if len(candidates) > 0: candidates.sort(self.s_unseen_above) return self.choose_equiv(candidates[0],candidates) ## None of my cards have any unseen cards ## below them. I'm not sure, but it seems to ## me that this is a safe situation. Just ## pick one. return choice(valid_cards) def choose_final_card(self): """ Called when we are the fourth player on the trick. Have the suit: - If there are no points in the trick, take it with the highest card we have. - If there are points in the trick, play the highest card that won't take it. - If we are forced to take it, take it with the highest card we have. Not have the suit: - Play the Queen of Spades. - Play the King or Ace of Spades - Play the highest Queen or above card we have. - Play the highest heart. - Play the highest card we have. """ valid_cards = filter(self.f_valid, self.hand) high_card = self.trick.get_highest_card() if have_suit(valid_cards, high_card[0]): if len(filter(f_point_cards, self.trick.card)) > 0: return self.avoid_trick(valid_cards, high_card) return self.take_trick(valid_cards, high_card) return self.dump_cards(valid_cards, high_card) def is_dangerous_trick(self, high_card): """ return true if one of the remaining players doesn't have the suit of the trick and either (has hearts or queen of spades is not played) """ #First trick: no points possible, so not dangerous! if len(self.hand) == 13: return False if len(filter(f_point_cards, self.trick.card)) > 0: return True if self.num_unseen(high_card[0]) + self.trick.num_played < 6: return True for index in range(4): card = self.trick.card[index] if (card is None and (self.trick.trump, index) in self.player_out_suits and ((hearts, index) not in self.player_out_suits or ((spades, queen) not in self.seen_cards and (spades,index) not in self.player_out_suits))): return True return False def choose_mid_card(self): """ Have the suit: - If the suit is not dangerous and has at least 7 cards in other folks hands, play the highest card we have. - Else, play the highest card that won't take the trick. Not have the suit: - Play the Queen of Spades. - Play the highest Queen or above card we have. - Play the highest heart. - If the suit is not dangerous and has at least 7 cards in other folks hands, play the highest card we have. """ valid_cards = filter(self.f_valid, self.hand) high_card = self.trick.get_highest_card() if have_suit(valid_cards, high_card[0]): if (len(filter(f_point_cards, self.trick.card)) > 0 or self.is_dangerous_trick(high_card)): return self.avoid_trick(valid_cards, high_card) return self.take_trick(valid_cards, high_card) return self.dump_cards(valid_cards, high_card) def play_card(self): """ LEADING: Call a suit bad if I know that one player is out of that suit. Call a suit dangerous if either it contains an unseen scoring card (i.e., spades before the queen has been seen or hearts anytime) or it is bad. If I have the ace or king of a non-dangerous suit, then play it. If I do not have anything queen or above of spades and if spades are not bad, then play the highest spade below the queen. If I have a heart that I know will not take the trick, play it (if possible). (Play the highest heart that won't take the trick). Even if spades are bad, play a low spade provided I have nothing above Jack in my hand. Play the highest diamond/club that will not take the trick. FOLLOWING: Not fourth: Have the suit: If the suit is not dangerous and has at least 7 cards in other folks hands, play the highest card we have. Else, play the highest card that won't take the trick. Not have the suit: Play the Queen of Spades. Play the highest Queen or above card we have. Play the highest heart. Fourth: Have the suit: If there are no points in the trick, take it with the highest card we have. If there are points in the trick, play the highest card that won't take it. If we are forced to take it, take it with the highest card we have. Not have the suit: As above. """ self.record_played_cards() # self.print_card_list(filter(self.f_valid, self.hand)) if self.moon_shooter(): ret = self.moon_defense() if ret != None: return ret if self.trick.num_played == 0: return self.choose_lead_card() if self.trick.num_played == 3: return self.choose_final_card() return self.choose_mid_card() def trick_end(self): for index in range(4): card = self.trick.card[index] if (self.trick.trump, index) not in self.player_out_suits: if card[0] != self.trick.trump: self.player_out_suits.append((self.trick.trump, index),) self.record_played_cards() def round_end(self): self.player_out_suits = [] self.seen_cards = [] gnome-hearts-0.3/scripts/hearts.py.in0000755000175000017500000000636411042105053014625 00000000000000# Hearts - hearts.py # Copyright 2006 Sander Marechal # # 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. # This is an attempted translation of hearts.lua # Cards are defined as tuples, so card = (suit, rank) # Multiple cards are passed around as lists of tuples. import os import sys import string sys.path.append("@PYTHON_DIR@/gnome-hearts"); sys.path.append("@PYTHON_DIR@/gnome-hearts/players"); from definitions import * from stock_ai import * # Load all the available player AI's for script in os.listdir(os.path.abspath("@PYTHON_DIR@/gnome-hearts/players")): module_name, ext = os.path.splitext(script) if ext == '.py': module = __import__(module_name) for method in dir(module): if method.startswith('PlayerAI'): # Make the AI class a global globals()[method] = getattr(module, method) # Register the AI in C ai = globals()[method](None, None, None, None) register_ai(ai.name, method) # The Trick class class Trick: """A trick of cards, equal to the C version""" def __init__(self): self.card = [] self.trump = None self.num_played = 0 self.first_played = None def set(self, list, trump, num_played, first_played): self.card = list self.trump = trump self.num_played = num_played self.first_played = first_played def winner(self): """Return who played the highest card on the trick""" if self.num_played > 0: return self.card.index(self.get_highest_card()) return None def get_highest_card(self): """Return the highest trump card in the list""" highest_card = (0, 0) for card in self.card: if card != None and card[0] == self.trump and card[1] > highest_card[1]: highest_card = card return highest_card trick = Trick() # The score class class Score: """This object contains the score of this round and the entire game so far""" def __init__(self): self.round = [0, 0, 0, 0] self.game = [0, 0, 0, 0] def set(self, round, game): self.round = round self.game = game score = Score() # The rules class class Rules: """This object contains all the rules for the game""" def __init__(self): self.ruleset = "standard" self.clubs_lead = True self.hearts_break = True self.queen_breaks_hearts = False self.no_blood = True def set(self, ruleset, clubs_lead, hearts_break, queen_breaks_hearts, no_blood): self.ruleset = ruleset self.clubs_lead = clubs_lead self.hearts_break = hearts_break self.queen_breaks_hearts = queen_breaks_hearts self.no_blood = no_blood rules = Rules() # General setting functions used by C def player_set(object, direction): player[direction] = object # The list of players player = [None, None, None, None] gnome-hearts-0.3/scripts/Makefile.am0000644000175000017500000000033411042105053014400 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = players scriptdir = $(PYTHON_DIR)/gnome-hearts script_DATA = \ player.py \ hearts.py \ stock_ai.py \ definitions.py EXTRA_DIST = $(script_DATA) gnome-hearts-0.3/scripts/hearts.py0000644000175000017500000000635611042174102014217 00000000000000# Hearts - hearts.py # Copyright 2006 Sander Marechal # # 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. # This is an attempted translation of hearts.lua # Cards are defined as tuples, so card = (suit, rank) # Multiple cards are passed around as lists of tuples. import os import sys import string sys.path.append("/usr/share/gnome-hearts"); sys.path.append("/usr/share/gnome-hearts/players"); from definitions import * from stock_ai import * # Load all the available player AI's for script in os.listdir(os.path.abspath("/usr/share/gnome-hearts/players")): module_name, ext = os.path.splitext(script) if ext == '.py': module = __import__(module_name) for method in dir(module): if method.startswith('PlayerAI'): # Make the AI class a global globals()[method] = getattr(module, method) # Register the AI in C ai = globals()[method](None, None, None, None) register_ai(ai.name, method) # The Trick class class Trick: """A trick of cards, equal to the C version""" def __init__(self): self.card = [] self.trump = None self.num_played = 0 self.first_played = None def set(self, list, trump, num_played, first_played): self.card = list self.trump = trump self.num_played = num_played self.first_played = first_played def winner(self): """Return who played the highest card on the trick""" if self.num_played > 0: return self.card.index(self.get_highest_card()) return None def get_highest_card(self): """Return the highest trump card in the list""" highest_card = (0, 0) for card in self.card: if card != None and card[0] == self.trump and card[1] > highest_card[1]: highest_card = card return highest_card trick = Trick() # The score class class Score: """This object contains the score of this round and the entire game so far""" def __init__(self): self.round = [0, 0, 0, 0] self.game = [0, 0, 0, 0] def set(self, round, game): self.round = round self.game = game score = Score() # The rules class class Rules: """This object contains all the rules for the game""" def __init__(self): self.ruleset = "standard" self.clubs_lead = True self.hearts_break = True self.queen_breaks_hearts = False self.no_blood = True def set(self, ruleset, clubs_lead, hearts_break, queen_breaks_hearts, no_blood): self.ruleset = ruleset self.clubs_lead = clubs_lead self.hearts_break = hearts_break self.queen_breaks_hearts = queen_breaks_hearts self.no_blood = no_blood rules = Rules() # General setting functions used by C def player_set(object, direction): player[direction] = object # The list of players player = [None, None, None, None] gnome-hearts-0.3/scripts/Makefile.in0000644000175000017500000004161611042107705014427 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : subdir = scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/hearts.py.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = hearts.py SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(scriptdir)" scriptDATA_INSTALL = $(INSTALL_DATA) DATA = $(script_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = players scriptdir = $(PYTHON_DIR)/gnome-hearts script_DATA = \ player.py \ hearts.py \ stock_ai.py \ definitions.py EXTRA_DIST = $(script_DATA) all: all-recursive .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 \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu scripts/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 hearts.py: $(top_builddir)/config.status $(srcdir)/hearts.py.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-scriptDATA: $(script_DATA) @$(NORMAL_INSTALL) test -z "$(scriptdir)" || $(MKDIR_P) "$(DESTDIR)$(scriptdir)" @list='$(script_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(scriptDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(scriptdir)/$$f'"; \ $(scriptDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(scriptdir)/$$f"; \ done uninstall-scriptDATA: @$(NORMAL_UNINSTALL) @list='$(script_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(scriptdir)/$$f'"; \ rm -f "$(DESTDIR)$(scriptdir)/$$f"; \ done # 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): @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; \ (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): @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; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (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; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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 || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$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; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(scriptdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done 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) 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 Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-scriptDATA install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -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: uninstall-scriptDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ 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-scriptDATA 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 \ uninstall-scriptDATA # 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: gnome-hearts-0.3/scripts/definitions.py0000644000175000017500000000456611042105053015244 00000000000000# Hearts - definitions.py # Copyright 2006 Sander Marechal # # 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. from random import random # The cards, suits and directions clubs, diamonds, hearts, spades = 0, 1, 2, 3 ace, two, three, four, five, six, seven, eight, nine, ten, jack, queen, king, ace_high = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 north, east, south, west = 0, 1, 2, 3 # Some usefull functions def have_suit(list, suit): """Test if the list contains any cards of the suit""" for card in list: if card[0] == suit: return True return False # The functions below can be used for filters. Call them like result = filter(function, list) def f_clubs(card): return type(card) == tuple and card[0] == clubs def f_diamonds(card): return type(card) == tuple and card[0] == diamonds def f_hearts(card): return type(card) == tuple and card[0] == hearts def f_spades(card): return type(card) == tuple and card[0] == spades def f_pointless_cards(card): return type(card) == tuple and card[0] != hearts and card != (spades, queen) # FIXME: Doesn't take into account any rules def f_point_cards(card): return type(card) == tuple and (card[0] == hearts or card == (spades, queen)) # FIXME: Doesn't take into account any rules # The functions below can be used for sorting. Call them like list.sort(function) or list.sort(function, reverse=True) def s_rank(a, b): return (a[1] * 10 + a[0]) - (b[1] * 10 + b[0]) def s_suit(a, b): return (a[0] * 13 + a[1]) - (b[0] * 13 + b[1]) def s_points(a, b): if a == (spades, queen): return 1 if b == (spades, queen): return -1 if a[0] == hearts and b[0] != hearts: return 1 if b[0] == hearts and a[0] != hearts: return -1 return a[1] - b[1] def s_random(a, b): if random() > 0.5: return 1 return -1 gnome-hearts-0.3/scripts/player.py0000644000175000017500000000271411042105053014216 00000000000000# Hearts - player.py # Copyright 2006 Sander Marechal # # 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. from player_api import * class Player: """Base class of a player from which AI's are derived""" def __init__(self, direction, trick, score, rules): self.hand = [] self.direction = direction self.trick = trick self.score = score self.rules = rules self.name = "Base" def set_hand(self, list): """Set the hand of the player""" self.hand = list def get_name(self): """Return the player's name""" return self.name def f_valid(self, card): return is_valid(card, self.direction) def select_cards(self, direction): return None def receive_cards(self, cards): return None; def play_card(self): return None def trick_end(self): return None def round_end(self): return None gnome-hearts-0.3/README0000644000175000017500000000343411042105057011545 00000000000000============================================================================== gnome-hearts ============================================================================== Building and installing from source: If you obtained this package from the subversion repository, you must first boostrap the package by running ./bootstrap. After a succesfull bootstrap you can build and install the package with: ./configure make make install If you use the same --prefix for configure that was used for gnome-games then gnome-hearts will be able to use the installed gnome-games card decks as well as the cards provided in this package. Playing the game: The complete documentation is provided as a DocBook XML file and can be accessed through the GNOME help system. Alternatively you can find the user guide on http://www.jejik.com/gnome-hearts/users/ Contributing: * Bugs and feature requests All bugs, feature requests and the like should go in Bugzilla at http://bugzilla.jejik.com, but before you file a new one, please do a quick search of bugzilla and the mailing list archive to see if your issue has already been reported. * Translating Hearts Hearts is translated through Launchpad.net's Rosetta system. Translations should be added and updated through there, not as diffs for the subversion repository. This makes our life easier because we won't have to resolve conflicts between translations in Subversion and translations in Rosetta. You can find Hearts in Rosetta at: https://translations.launchpad.net/hearts/trunk/ * Submitting patches If you have a patch that you want to contribute then you can send an e-mail to the gnome-hearts mailing list at hearts@lists.jejik.com. You must be subscribed to the mailing list to do so (to prevent spammers abusing our lists). gnome-hearts-0.3/INSTALL0000644000175000017500000002240611042105057011716 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== These are generic installation instructions. 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 only 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. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. 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. 4. Type `make install' to install the programs and any data files and documentation. 5. 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. 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=c89 CFLAGS=-O2 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 must use a version of `make' that supports the `VPATH' variable, such as 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 `..'. If you have to use a `make' that does not support the `VPATH' variable, you have 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. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PREFIX', the package will use PREFIX as the prefix for installing programs and libraries. Documentation and other data files will 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. 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'. Optional Features ================= 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. 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 `--target=TYPE' option 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). Here is a another example: /bin/bash ./configure CONFIG_SHELL=/bin/bash Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent configuration-related scripts to be executed by `/bin/bash'. `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--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. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. gnome-hearts-0.3/COPYING-DOCS0000644000175000017500000004766311042105057012462 00000000000000 GNU Free Documentation License Version 1.2, November 2002 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements". 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. gnome-hearts-0.3/missing0000755000175000017500000002557711042107704012301 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # 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, 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. 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] 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 # 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). 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 $1 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 1 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-end: "$" # End: gnome-hearts-0.3/gnome-hearts.desktop.in0000644000175000017500000000034211042174043015252 00000000000000[Desktop Entry] Version=1.0 Encoding=UTF-8 _Name=Hearts _Comment=Play the popular Hearts card game Exec=gnome-hearts Icon=gnome-hearts.png Terminal=false Type=Application Categories=GNOME;GTK;Game;CardGame; StartupNotify=true gnome-hearts-0.3/COPYING0000644000175000017500000004311011042105057011713 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. 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 convey 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 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 Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This 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 Library General Public License instead of this License. gnome-hearts-0.3/omf.make0000644000175000017500000000377311042105057012313 00000000000000# # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # omf_dest_dir=$(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) gnome-hearts-0.3/Makefile.am0000644000175000017500000000061011042116762012717 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = help man pixmaps po scripts src desktopdir = $(datadir)/applications/ desktop_in_files = gnome-hearts.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ EXTRA_DIST = \ gnome-hearts.desktop.in \ xmldocs.make \ omf.make \ COPYING-DOCS DISTCLEANFILES = \ gnome-hearts.desktop gnome-hearts-0.3/acinclude.m40000644000175000017500000006742411042107666013077 00000000000000# codeset.m4 serial 2 (gettext-0.16) dnl Copyright (C) 2000-2002, 2006 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_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET); return !cs;], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) # gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 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. 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([$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], []) # glibc21.m4 serial 3 dnl Copyright (C) 2000-2002, 2004 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. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) # iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 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 and HP-UX 11.11. 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; } } #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) ]) 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([$]{ac_t:- }[$]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 ]) # lcmessage.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1995-2002, 2004-2005 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. # Check whether LC_MESSAGES is available in . AC_DEFUN([gt_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) if test $gt_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi ]) # progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 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 , 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 ]) ## this one is commonly used with AM_PATH_PYTHONDIR ... dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) dnl Check if a module containing a given symbol is visible to python. AC_DEFUN([AM_CHECK_PYMOD], [AC_REQUIRE([AM_PATH_PYTHON]) py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ ifelse([$2],[], [prog=" import sys try: import $1 except ImportError: sys.exit(1) except: sys.exit(0) sys.exit(0)"], [prog=" import $1 $1.$2"]) if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC then eval "py_cv_mod_$py_mod_var=yes" else eval "py_cv_mod_$py_mod_var=no" fi ]) py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` if test "x$py_val" != xno; then AC_MSG_RESULT(yes) ifelse([$3], [],, [$3 ])dnl else AC_MSG_RESULT(no) ifelse([$4], [],, [$4 ])dnl fi ]) dnl a macro to check for ability to create python extensions dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) dnl function also defines PYTHON_INCLUDES AC_DEFUN([AM_CHECK_PYTHON_HEADERS], [AC_REQUIRE([AM_PATH_PYTHON]) AC_MSG_CHECKING(for headers required to compile python extensions) dnl deduce PYTHON_INCLUDES py_prefix=`$PYTHON -c "import sys; print sys.prefix"` py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" if test "$py_prefix" != "$py_exec_prefix"; then PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" fi AC_SUBST(PYTHON_INCLUDES) dnl check if the headers exist: save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" AC_TRY_CPP([#include ],dnl [AC_MSG_RESULT(found) $1],dnl [AC_MSG_RESULT(not found) $2]) CPPFLAGS="$save_CPPFLAGS" ]) gnome-hearts-0.3/aclocal.m40000644000175000017500000020667211042107702012535 00000000000000# generated automatically by aclocal 1.10.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 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. # 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(AC_AUTOCONF_VERSION, [2.61],, [m4_warning([this file was generated for autoconf 2.61. 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'.])]) # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003,2004 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # Modified to require ngettext # Matthias Clasen 08/06/2004 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# 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. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi 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 ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, [AC_TRY_LINK([ #include ], [return !ngettext ("","", 1)], gt_cv_func_ngettext_libc=yes, gt_cv_func_ngettext_libc=no) ]) if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return !dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)])]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv)], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) MSGFMT_OPTS= AC_MSG_CHECKING([if msgfmt accepts -c]) GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) AC_SUBST(MSGFMT_OPTS) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo 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 and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.in. for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done dnl Make all variables we use known to autoconf. AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) AC_SUBST(DATADIRNAME) AC_SUBST(GMOFILES) AC_SUBST(INSTOBJEXT) AC_SUBST(INTLLIBS) AC_SUBST(PO_IN_DATADIR_TRUE) AC_SUBST(PO_IN_DATADIR_FALSE) AC_SUBST(POFILES) AC_SUBST(POSUB) ]) # AM_GLIB_GNU_GETTEXT # ------------------- # Do checks necessary for use of gettext. If a suitable implementation # of gettext is found in either in libintl or in the C library, # it will set INTLLIBS to the libraries needed for use of gettext # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() # on various variables needed by the Makefile.in.in installed by # glib-gettextize. dnl glib_DEFUN([GLIB_GNU_GETTEXT], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_HEADER_STDC])dnl GLIB_LC_MESSAGES GLIB_WITH_NLS if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else AC_MSG_CHECKING(for catalogs to be installed) NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; 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 NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN([GLIB_DEFINE_LOCALEDIR], [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" glib_save_datarootdir="$datarootdir" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix datarootdir=`eval echo "${datarootdir}"` if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" datarootdir="$glib_save_datarootdir" AC_DEFINE_UNQUOTED($1, "$localedir", [Define the location where the catalogs will be installed]) ]) dnl dnl Now the definitions that aclocal will find dnl ifdef(glib_configure_in,[],[ AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) # # Create a temporary file with TEST-FILE as its contents and pass the # file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with # 0 and perform ACTION-IF-FAIL for any other exit status. AC_DEFUN([GLIB_RUN_PROG], [cat >conftest.foo <<_ACEOF $2 _ACEOF if AC_RUN_LOG([$1 conftest.foo]); then m4_ifval([$3], [$3], [:]) m4_ifvaln([$4], [else $4])dnl echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD fi]) dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 40 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [AC_PREREQ([2.50])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 $< [$]@' AC_SUBST(INTLTOOL_DESKTOP_RULE) AC_SUBST(INTLTOOL_DIRECTORY_RULE) AC_SUBST(INTLTOOL_KEYS_RULE) AC_SUBST(INTLTOOL_PROP_RULE) AC_SUBST(INTLTOOL_OAF_RULE) AC_SUBST(INTLTOOL_PONG_RULE) AC_SUBST(INTLTOOL_SERVER_RULE) AC_SUBST(INTLTOOL_SHEET_RULE) AC_SUBST(INTLTOOL_SOUNDLIST_RULE) AC_SUBST(INTLTOOL_UI_RULE) AC_SUBST(INTLTOOL_XAM_RULE) AC_SUBST(INTLTOOL_KBD_RULE) AC_SUBST(INTLTOOL_XML_RULE) AC_SUBST(INTLTOOL_XML_NOMERGE_RULE) AC_SUBST(INTLTOOL_CAVES_RULE) AC_SUBST(INTLTOOL_SCHEMAS_RULE) AC_SUBST(INTLTOOL_THEME_RULE) AC_SUBST(INTLTOOL_SERVICE_RULE) AC_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) 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; required for intltool]) fi if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then AC_MSG_ERROR([perl 5.x required for intltool]) 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 exetuted at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ 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" ] if test ! -f "$1/Makefile"; then AC_MSG_ERROR([$1/Makefile is not ready.]) fi mv "$1/Makefile" "$1/Makefile.tmp" [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.tmp" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # 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], ...) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # 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])dnl 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. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure 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_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi 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 _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [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 ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [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 .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006, 2007 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.10' 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.10.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 AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(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 # 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 8 # 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 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 # 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 # 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 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 case $depmode in 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 ;; none) break ;; esac # 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. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 # 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 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; 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"]) ]) # Copyright (C) 1996, 1997, 2000, 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. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 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 13 # 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.60])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) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP 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 ]) ]) # 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 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 install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} 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 # 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 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) 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 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 3 # 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 done .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 # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 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 5 # 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 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # 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 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 3 # _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], [AC_FOREACH([_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])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 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. # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # --------------------------------------------------------------------------- # Adds support for distributing Python modules and packages. To # install modules, copy them to $(pythondir), using the python_PYTHON # automake variable. To install a package with the same name as the # automake package, install to $(pkgpythondir), or use the # pkgpython_PYTHON automake variable. # # The variables $(pyexecdir) and $(pkgpyexecdir) are provided as # locations to install python extension modules (shared libraries). # Another macro is required to find the appropriate flags to compile # extension modules. # # If your package is configured with a different prefix to python, # users will have to add the install directory to the PYTHONPATH # environment variable, or create a .pth file (see the python # documentation for details). # # If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will # cause an error if the version of python installed on the system # doesn't meet the requirement. MINIMUM-VERSION should consist of # numbers and dots only. AC_DEFUN([AM_PATH_PYTHON], [ dnl Find a Python interpreter. Python versions prior to 1.5 are not dnl supported because the default installation locations changed from dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages dnl in 1.5. m4_define_default([_AM_PYTHON_INTERPRETER_LIST], [python python2 python2.5 python2.4 python2.3 python2.2 dnl python2.1 python2.0 python1.6 python1.5]) m4_if([$1],[],[ dnl No version check is needed. # Find any Python interpreter. if test -z "$PYTHON"; then AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) fi am_display_PYTHON=python ], [ dnl A version check is needed. if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. AC_MSG_CHECKING([whether $PYTHON version >= $1]) AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], [AC_MSG_RESULT(yes)], [AC_MSG_ERROR(too old)]) am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. AC_CACHE_CHECK([for a Python interpreter with version >= $1], [am_cv_pathless_PYTHON],[ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do test "$am_cv_pathless_PYTHON" = none && break AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) done]) # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) fi am_display_PYTHON=$am_cv_pathless_PYTHON fi ]) if test "$PYTHON" = :; then dnl Run any user-specified action, or abort. m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) else dnl Query Python for its version number. Getting [:3] seems to be dnl the best way to do this; it's what "site.py" does in the standard dnl library. AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) dnl Use the values of $prefix and $exec_prefix for the corresponding dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made dnl distinct variables so they can be overridden if need be. However, dnl general consensus is that you shouldn't need this ability. AC_SUBST([PYTHON_PREFIX], ['${prefix}']) AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) dnl At times (like when building shared libraries) you may want dnl to know which OS platform Python thinks this is. AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`]) AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) dnl Set up 4 directories: dnl pythondir -- where to install python scripts. This is the dnl site-packages directory, not the python standard library dnl directory like in previous automake betas. This behavior dnl is more consistent with lispdir.m4 for example. dnl Query distutils for this directory. distutils does not exist in dnl Python 1.5, so we fall back to the hardcoded directory if it dnl doesn't work. AC_CACHE_CHECK([for $am_display_PYTHON script directory], [am_cv_python_pythondir], [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`]) AC_SUBST([pythondir], [$am_cv_python_pythondir]) dnl pkgpythondir -- $PACKAGE directory under pythondir. Was dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is dnl more consistent with the rest of automake. AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) dnl pyexecdir -- directory for installing python extension modules dnl (shared libraries) dnl Query distutils for this directory. distutils does not exist in dnl Python 1.5, so we fall back to the hardcoded directory if it dnl doesn't work. AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], [am_cv_python_pyexecdir], [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`]) AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) dnl Run any user-specified action. $2 fi ]) # AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) # --------------------------------------------------------------------------- # Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. # Run ACTION-IF-FALSE otherwise. # This test uses sys.hexversion instead of the string equivalent (first # word of sys.version), in order to cope with versions such as 2.2c1. # hexversion has been introduced in Python 1.5.2; it's probably not # worth to support older versions (1.5.1 was released on October 31, 1998). AC_DEFUN([AM_PYTHON_CHECK_VERSION], [prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. minver = map(int, string.split('$2', '.')) + [[0, 0, 0]] minverhex = 0 for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) # 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_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 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. # serial 4 # 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 # 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) 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 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_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_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]) gnome-hearts-0.3/AUTHORS0000644000175000017500000000122111042105057011725 00000000000000Original authors: Sander Marechal Contributors: Alan Horkan Charlotte Moorman Eric Vissers Tom Hargreaves Margarita Manterola Wei Mingzhi Jesse F. Hughes Sven Carlberg Charles Crayne The Rosetta translators on https://launchpad.net Thanks go to: James Westby for helping me create the debian packages Jonathan Blandford for his work on Aisleriot Debian's pkg-gnome team for their support in packaging gnome-hearts-0.3/configure.in0000644000175000017500000000634211042105057013177 00000000000000# Process this file with autoconf to produce a configure script. # Initialize AC_PREREQ([2.53]) AC_INIT([gnome-hearts], [0.3], [http://bugzilla.jejik.com/]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([src/hearts.c]) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE # Scrollkeeper for the documentation SCROLLKEEPER_BUILD_REQUIRED=0.3.5 AC_SUBST(SCROLLKEEPER_BUILD_REQUIRED) # Find a C compiler and some i18n tools AC_PROG_CC AC_LANG_C IT_PROG_INTLTOOL([0.29]) # A little hack for intltool to make po/LINGUAS work with version 0.34 and below if test $INTLTOOL_APPLIED_VERSION_AS_INT -le "34"; then ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS"`" fi # Check for libraries. gmodule is required to make sure --export-dynamic is used and glade works PKG_CHECK_MODULES(GNOME_HEARTS, [libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0]) AC_SUBST(GNOME_HEARTS_CFLAGS) AC_SUBST(GNOME_HEARTS_LIBS) # Check for Python AM_PATH_PYTHON(2.4) # Find Python compiler and linker flags PYTHON_LIBS=[$($PYTHON -c "from distutils import sysconfig print '/'.join(sysconfig.get_config_vars('LIBPL','LDLIBRARY'))+' '+sysconfig.get_config_var('LIBS')+' '+sysconfig.get_config_var('LINKFORSHARED')")] PYTHON_CFLAGS=[$($PYTHON -c "from distutils import sysconfig print sysconfig.get_python_inc()")] PYTHON_CFLAGS="-I$PYTHON_CFLAGS" if test "$PYTHON_LIBS" = ""; then AC_MSG_RESULT(not found) else ENABLED_MODULES="$ENABLED_MODULES -DENABLE_PYTHON_MODULES" fi # Find the Python headers AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)]) # expand the python directory if test "x${prefix}" = "xNONE"; then PYTHON_DIR=$ac_default_prefix"/share" else PYTHON_DIR=$prefix"/share" fi # Set python variables AC_SUBST(PYTHON_CFLAGS) AC_SUBST(PYTHON_LIBS) AC_SUBST(PYTHON_DIR) AC_DEFINE_UNQUOTED(PYTHON_DIR, "$PYTHON_DIR", [Python directory]) # Check for scrollkeeper AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config,no) if test x$SCROLLKEEPER_CONFIG = xno; then AC_MSG_ERROR(Couldn't find scrollkeeper-config. Please install the scrollkeeper package: http://scrollkeeper.sourceforge.net) fi # Set up gettext support GETTEXT_PACKAGE=gnome-hearts AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext]) AM_GLIB_GNU_GETTEXT #define some directories if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${ac_default_prefix}/share/locale", [Package local directory]) else AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${prefix}/share/locale", [Package local directory]) fi if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share", [Data directory]) else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share", [Data directory]) fi if test "x${prefix}" = "xNONE"; then CONFIG_DATA_DIR=${ac_default_prefix}/share else CONFIG_DATA_DIR=${prefix}/share fi AC_SUBST(CONFIG_DATA_DIR) #output all required files AC_OUTPUT([ Makefile help/Makefile help/C/Makefile help/de/Makefile help/en_GB/Makefile help/es/Makefile help/it/Makefile help/nl/Makefile help/pl/Makefile help/pt/Makefile help/tl/Makefile help/zh_CN/Makefile man/Makefile pixmaps/Makefile po/Makefile.in scripts/Makefile scripts/hearts.py scripts/players/Makefile src/Makefile src/gnome-hearts.cfg ]) gnome-hearts-0.3/config.guess0000644000175000017500000012753411042107676013223 00000000000000#! /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 # Free Software Foundation, Inc. timestamp='2008-01-23' # 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 to . Submit a context # diff and a properly formatted 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. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. 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 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 __ELF__ >/dev/null 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 ;; 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:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-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 __LP64__ >/dev/null 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*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) 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 ;; 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 ;; 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 ;; 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:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu 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 ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 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 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-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:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*) 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 i386. echo i386-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; } ;; 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.0*:*) 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 ;; 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 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 ;; 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: gnome-hearts-0.3/po/0000777000175000017500000000000011042174156011371 500000000000000gnome-hearts-0.3/po/pl.po0000644000175000017500000002314711042105057012261 00000000000000# Polish translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2006-07-02 00:49+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Punkty" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Wybierz trzy karty, które chcesz przekazać." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Kliknij kartę, którą chcesz zagrać." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Gra zakończona - wygrałeś!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Gra zakończona - przegrałeś" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Kliknij gdziekolwiek, by zacząć nową grę." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Kliknij gdziekolwiek, by kontynuować." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Zagraj %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Kliknij rękę gracza %s, by przekazać karty." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Przekaż %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Wybacz, nie mogę ci pomóc." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "asa trefl" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "dwójkę trefl" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "trójkę trefl" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "czwórkę trefl" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "piątkę trefl" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "szóstkę trefl" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "siódemkę trefl" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "ósemkę trefl" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "dziewiątkę trefl" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "dziesiątkę trefl" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "waleta trefl" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "damę trefl" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "króla trefl" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "asa karo" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "dwójkę karo" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "trójkę karo" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "czwórkę karo" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "piątkę karo" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "szóstkę karo" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "siódemkę karo" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "ósemkę karo" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "dziewiątkę karo" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "dziesiątkę karo" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "waleta karo" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "damę karo" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "króla karo" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "asa pik" #: ../src/cards.c:78 msgid "the two of spades" msgstr "dwójkę pik" #: ../src/cards.c:79 msgid "the three of spades" msgstr "trójkę pik" #: ../src/cards.c:80 msgid "the four of spades" msgstr "czwórkę pik" #: ../src/cards.c:81 msgid "the five of spades" msgstr "piątkę pik" #: ../src/cards.c:82 msgid "the six of spades" msgstr "szóstkę pik" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "siódemkę pik" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "ósemkę pik" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "dziewiątkę pik" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "dziesiątkę pik" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "waleta pik" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "damę pik" #: ../src/cards.c:89 msgid "the king of spades" msgstr "króla pik" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "asa kier" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "dwójkę kier" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "trójkę kier" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "czwórkę kier" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "piątkę kier" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "szóstkę kier" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "siódemkę kier" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "ósemkę kier" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "dziewiątkę kier" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "dziesiątkę kier" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "waleta kier" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "damę kier" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "króla kier" #: ../src/ui.c:60 msgid "Images" msgstr "Obrazki" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Kierki dla GNOME autorstwa Sander'a Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Wybierz zbiór zasad i ustal umowne zasady" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Gra" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Kierki" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Podpowiedź" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus alternatywny\n" "Wypunktowane kiery\n" "Standardowy" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Gracze" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Preferencje" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Zacznij od początku" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Wybierz obrazek na tło" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Wybierz, z kim chcesz grać, bądź zaznacz , by komputer dobrał gracza " "za ciebie." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Styl" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Kontrola gry" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "Pełny _ekran" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Gra" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Pomoc" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "P_odpowiedź" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "Opuść pełny _ekran" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Powtórz ruch" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Restart" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Punkty" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "Pasek _statusu" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "Pasek _narzędzi" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Cofnij ruch" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Widok" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Michal Mela https://launchpad.net/~maik3l" gnome-hearts-0.3/po/sk.po0000644000175000017500000002240011042105057012252 00000000000000# Slovak translation for hearts # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2008-01-09 23:05+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Skóre" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klikni na kartou s ktorou chceš hrať." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Koniec hry - Vyhral si!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Koniec hry - Prehral si :(" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klikni pre začatie novej hry." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Pre pokračovanie ďalej niekam klikni." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "" #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Prepáč. Neviem ti pomôcť." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "krížové eso" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "krížová dvojka" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "krížová trojka" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "krížová štvorka" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "krížová päťka" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "krížová šestka" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "krížová sedmička" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "krížová osmička" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "krížová deviatka" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "krížová desiatka" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "krížový dolník" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "krížový horník" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "krížový kráľ" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "kárové eso" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "kárová dvojka" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "kárová trojka" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "kárová štvorka" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "kárová päťka" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "kárová šestka" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "kárová sedmička" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "kárová osmička" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "kárová deviatka" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "kárová desiatka" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "kárový dolník" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "kárový horník" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "kárový kráľ" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "pikové eso" #: ../src/cards.c:78 msgid "the two of spades" msgstr "piková dvojka" #: ../src/cards.c:79 msgid "the three of spades" msgstr "piková trojka" #: ../src/cards.c:80 msgid "the four of spades" msgstr "piková štvorka" #: ../src/cards.c:81 msgid "the five of spades" msgstr "piková päťka" #: ../src/cards.c:82 msgid "the six of spades" msgstr "piková šestka" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "piková sedmička" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "piková osmička" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "piková deviatka" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "piková desiatka" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "pikový dolník" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "pikový horník" #: ../src/cards.c:89 msgid "the king of spades" msgstr "pikový kráľ" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "srdcové eso" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "srdcová dvojka" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "srdcová trojka" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "srdcová štvorka" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "srdcová päťka" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "srdcová šestka" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "srdcová sedmička" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "srdcová osmička" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "srdcová deviatka" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "srdcová desiatka" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "srdcový dolník" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "srdcový horník" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "srdcový kráľ" #: ../src/ui.c:60 msgid "Images" msgstr "Obrázky" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Hra Srdcia pre GNOME od Sandera Marechala" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Vyber obrázok na pozadie" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Lako https://launchpad.net/~lmizenko" gnome-hearts-0.3/po/pt.po0000644000175000017500000002422111042105057012263 00000000000000# Portuguese translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-08-31 16:08+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Pontuação" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Seleccione as três cartas que deseja passar" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Clique sobre a carta que deseja jogar" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Fim do jogo - Você ganhou!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Fim do jogo - Você perdeu" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Clique em qualquer lado para iniciar um novo jogo" #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Clique em qualquer lado para continuar o jogo" #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Jogue %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Clique na mão de %s para lhe passar as cartas" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Passe %s" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Desculpe, não posso ajudá-lo." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "o ás de paus" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "o dois de paus" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "o três de paus" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "o quatro de paus" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "o cinco de paus" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "o seis de paus" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "o sete de paus" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "o oito de paus" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "o nove de paus" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "o dez de paus" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "o valete de paus" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "a dama de paus" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "o rei de paus" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "o ás de ouros" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "o dois de ouros" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "o três de ouros" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "o quatro de ouros" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "o cinco de ouros" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "o seis de ouros" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "o sete de ouros" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "o oito de ouros" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "o nove de ouros" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "o dez de ouros" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "o valete de ouros" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "a dama de ouros" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "o rei de ouros" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "o ás de espadas" #: ../src/cards.c:78 msgid "the two of spades" msgstr "o dois de espadas" #: ../src/cards.c:79 msgid "the three of spades" msgstr "o três de espadas" #: ../src/cards.c:80 msgid "the four of spades" msgstr "o quatro de espadas" #: ../src/cards.c:81 msgid "the five of spades" msgstr "o cinco de espadas" #: ../src/cards.c:82 msgid "the six of spades" msgstr "o seis de espadas" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "o sete de espadas" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "o oito de espadas" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "o nove de espadas" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "o dez de espadas" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "o valete de espadas" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "a dama de espadas" #: ../src/cards.c:89 msgid "the king of spades" msgstr "o rei de espadas" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "o ás de copas" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "o dois de copas" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "o três de copas" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "o quatro de copas" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "o cinco de copas" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "o seis de copas" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "o sete de copas" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "o oito de copas" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "o nove de copas" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "o dez de copas" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "o valete de copas" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "a dama de copas" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "o rei de copas" #: ../src/ui.c:60 msgid "Images" msgstr "Imagens" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "O jogo das copas para GNOME por Sander Marechal" #: ../src/gnome-hearts.glade.h:2 #, fuzzy msgid "Car_d style:" msgstr "Estilo _das cartas:" #: ../src/gnome-hearts.glade.h:3 #, fuzzy msgid "Choose a _background image:" msgstr "Escolha uma imagem de _fundo:" #: ../src/gnome-hearts.glade.h:4 #, fuzzy msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Escolha o esquema de regras para o jogo e estabeleça algumas regras de " "cavalheiros" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Escolha o estilo das cartas com as quais pretende jogar" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Jogo" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Copas" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "As copas devem ser \"_quebradas\" antes de iniciarem uma vaza" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Dica" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Jogadores" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Preferências" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Recomeçar" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Seleccione uma imagem de fundo" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Seleccione os jogadores com os quais deseja jogar contra ou escolha " "para que o computador escolha um por si." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Estilo" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Controle" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Este:" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Ecrã Inteiro" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Jogo" #: ../src/gnome-hearts.glade.h:26 #, fuzzy msgid "_Help" msgstr "_Ajuda" #: ../src/gnome-hearts.glade.h:27 #, fuzzy msgid "_Hint" msgstr "_Dica" #: ../src/gnome-hearts.glade.h:28 #, fuzzy msgid "_Leave fullscreen" msgstr "_Abandonar ecrã inteiro" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Norte:" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "Cartas _pontuadas não podem ser jogadas na primeira vaza" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Refazer jogada" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Reiniciar" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Regras:" #: ../src/gnome-hearts.glade.h:35 #, fuzzy msgid "_Scores" msgstr "_Pontuações" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "Barra de _Estado" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "Barra de _Ferramentas" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Desfazer jogada" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Ver" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Nuno Donato https://launchpad.net/~nunodonato\n" " VCarvalho https://launchpad.net/~v-carvalho" gnome-hearts-0.3/po/sv.po0000644000175000017500000002375711042105057012305 00000000000000# Swedish translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-12-19 19:23+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Poäng" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Välj tre kort som du vill skicka vidare." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klicka på det kort du vill spela." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Spelet är slut - Du har vunnit!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Spelet är slut - Du har förlorat" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klicka någonstans för att starta ett nytt spel." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klicka någonstans för att fortsätta spelet." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Spela %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Klicka på handen med %s för att skicka korten." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Skicka %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Tyvärr, jag kan inte hjälpa dig." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "klöver ess" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "klöver två" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "klöver tre" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "klöver fyra" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "klöver fem" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "klöver sex" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "klöver sju" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "klöver åtta" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "klöver nio" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "klöver tio" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "klöver knekt" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "klöver dam" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "klöver kung" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "ruter ess" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "ruter två" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "ruter tre" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "ruter fyra" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "ruter fem" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "ruter sex" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "ruter sju" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "ruter åtta" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "ruter nio" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "ruter tio" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "ruter knekt" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "ruter dam" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "ruter kung" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "spader ess" #: ../src/cards.c:78 msgid "the two of spades" msgstr "spader två" #: ../src/cards.c:79 msgid "the three of spades" msgstr "spader tre" #: ../src/cards.c:80 msgid "the four of spades" msgstr "spader fyra" #: ../src/cards.c:81 msgid "the five of spades" msgstr "spader fem" #: ../src/cards.c:82 msgid "the six of spades" msgstr "spader sex" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "spader sju" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "spader åtta" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "spader nio" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "spader tio" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "spader knekt" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "spader dam" #: ../src/cards.c:89 msgid "the king of spades" msgstr "spader kung" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "hjärter ess" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "hjärter två" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "hjärter tre" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "hjärter fyra" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "hjärter fem" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "hjärter sex" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "hjärter sju" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "hjärter åtta" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "hjärter nio" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "hjärter tio" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "hjärter knekt" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "hjärter dam" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "hjärter kung" #: ../src/ui.c:60 msgid "Images" msgstr "Bilder" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Ett hjärterspel för GNOME av Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Kor_tstil" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Välj en _bakgrundsbild:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Välj en regeluppsättning för spelet och ställ in några gentlemannaregler" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Välj utseende på korten du vill spela med" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Spel" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hjärter" #: ../src/gnome-hearts.glade.h:10 #, fuzzy msgid "Hearts must be \"_broken\" before leading the trick" msgstr "Hjärter måste \"_brytas\" innan första omgången" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Tips" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Spelare" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Inställningar" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Starta om" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Välj en bakgrundsbild" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Välj vilka spelare du vill spela mot, eller välj för att låta " "datorn välja en åt dig." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Stil" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Kontroll" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Öst:" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Helskärm" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Spel" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Hjälp" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Tips" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Lämna helskärm" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Nord:" #: ../src/gnome-hearts.glade.h:30 #, fuzzy msgid "_Point cards may not be played on the first trick" msgstr "_Poängkort kan inte spelas under första omgången" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Gör om drag" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Starta om" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Regeluppsättning:" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Poäng" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statusrad" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "_Sträck bild" #: ../src/gnome-hearts.glade.h:39 #, fuzzy msgid "_Tile image" msgstr "_Mönsterbild" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Verktygsrad" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "_Två klöver börjar omgången" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Ångra drag" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Visa" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_Väst:" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Daniel Nylander https://launchpad.net/~yeager\n" " Jonas Björk https://launchpad.net/~jonasbjork\n" " Mårten Woxberg https://launchpad.net/~maxmc" gnome-hearts-0.3/po/LINGUAS0000644000175000017500000000022411042105057012322 00000000000000# Set of available languages. # please keep this list sorted alphabetically da de el en_GB es eu fi fr hu id it ml nl pl pt pt_BR ru sk sv tl zh_CN gnome-hearts-0.3/po/da.po0000644000175000017500000002277611042105057012241 00000000000000# Danish translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-05-16 20:06+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 #, fuzzy msgid "Scores" msgstr "Point" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Vælg tre kort du ønsker at give videre." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klik på det kort du ønsker at spille." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Spillet er slut - du har vundet!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Spillet er slut - du har tabt" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klik et sted for at påbegynde et nyt spil." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klik et sted for at fortsætte spillet." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Spil %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Giv %s videre." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Beklager, jeg kan ikke hjælpe dig." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "klør es" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "klør to" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "klør tre" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "klør fire" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "klør fem" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "klør seks" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "klør syv" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "klør otte" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "klør ni" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "klør ti" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "klør knægt" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "klør dame" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "klør konge" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "ruder es" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "ruder to" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "ruder tre" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "ruder fire" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "ruder fem" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "ruder seks" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "ruder syv" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "ruder otte" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "ruder ni" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "ruder ti" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "ruder knægt" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "ruder dame" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "ruder konge" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "spar es" #: ../src/cards.c:78 msgid "the two of spades" msgstr "spar to" #: ../src/cards.c:79 msgid "the three of spades" msgstr "spar tre" #: ../src/cards.c:80 msgid "the four of spades" msgstr "spar fire" #: ../src/cards.c:81 msgid "the five of spades" msgstr "spar fem" #: ../src/cards.c:82 msgid "the six of spades" msgstr "spar seks" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "spar syv" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "spar otte" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "spar ni" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "spar ti" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "spar knægt" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "spar dame" #: ../src/cards.c:89 msgid "the king of spades" msgstr "spar konge" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "hjerter es" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "hjerter to" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "hjerter tre" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "hjerter fire" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "hjerter fem" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "hjerter seks" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "hjerter syv" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "hjerter otte" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "hjerter ni" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "hjerter ti" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "hjerter knægt" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "hjerter dame" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "hjerter konge" #: ../src/ui.c:60 msgid "Images" msgstr "Billeder" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Et hjerterfri-spil til GNOME af Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Vælg et regelsæt for spillet og angiv nogle gentleman-regler" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Spil" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hjerterfri" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Tip" #: ../src/gnome-hearts.glade.h:12 #, fuzzy msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Spillere" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Indstillinger" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Start igen" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Vælg et baggrundsbillede" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Vælg de spillere du vil spille mod, eller vælg for at få computeren " "til at vælge en for dig." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Stil" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Kontrol" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Fuld skærm" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Spil" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Hjælp" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Tip" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "For_lad fuldskærmsvisning" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "G_entag træk" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "Sta_rt igen" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Point" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statuslinje" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "Værk_tøjslinje" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Fortryd træk" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Vis" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Christian Flintrup https://launchpad.net/~christianflintrup\n" " Jakob Varmose Bentzen https://launchpad.net/~jakobvbentzen" gnome-hearts-0.3/po/pt_BR.po0000644000175000017500000002366311042105057012657 00000000000000# Portuguese (Brazil) translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-08-03 02:49+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Portuguese (Brazil) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Placares" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Selecione três cartas que você deseja passar." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Clique na carta que você deseja jogar." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Fim de jogo - Você ganhou!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Fim de jogo - Você perdeu" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Clique em algum lugar para iniciar um novo jogo." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Clique em algum lugar para continuar o jogo." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Jogar %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Clique na mão de %s para passar as cartas." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Passar %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Desculpe, não posso ajudá-lo." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "o ás de paus" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "o dois de paus" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "o três de paus" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "o quatro de paus" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "o cinco de paus" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "o seis de paus" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "o sete de paus" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "o oito de paus" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "o nove de paus" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "o dez de paus" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "o valete de paus" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "a dama de paus" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "o rei de paus" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "o ás de ouros" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "o dois de ouros" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "o três de ouros" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "o quatro de ouros" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "o cinco de ouros" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "o seis de ouros" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "o sete de ouros" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "o oito de ouros" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "o nove de ouros" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "o dez de ouros" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "o valete de ouros" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "a dama de ouros" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "o rei de ouros" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "o ás de espadas" #: ../src/cards.c:78 msgid "the two of spades" msgstr "o dois de espadas" #: ../src/cards.c:79 msgid "the three of spades" msgstr "o três de espadas" #: ../src/cards.c:80 msgid "the four of spades" msgstr "o quatro de espadas" #: ../src/cards.c:81 msgid "the five of spades" msgstr "o cinco de espadas" #: ../src/cards.c:82 msgid "the six of spades" msgstr "o seis de espadas" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "o sete de espadas" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "o oito de espadas" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "o nove de espadas" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "o dez de espadas" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "o valete de espadas" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "a dama de espadas" #: ../src/cards.c:89 msgid "the king of spades" msgstr "o rei de espadas" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "o ás de copas" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "o dois de copas" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "o três de copas" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "o quatro de copas" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "o cinco de copas" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "o seis de copas" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "o sete de copas" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "o oito de copas" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "o nove de copas" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "o dez de copas" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "o valete de copas" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "a dama de copas" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "o rei de copas" #: ../src/ui.c:60 msgid "Images" msgstr "Imagens" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Um jogo de Hearts para o GNOME por Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Escolha um conjunto de regras para o jogo e defina algumas regras de " "cavalheiros" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Jogo" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hearts" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Dica" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Jogadores" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Preferências" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Reiniciar" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Selecione uma imagem de segundo plano" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Escolha contra quais jogadores deseja jogar, ou escolha para que o " "computador escolha um para você." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Estilo" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Controle" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_TelaCheia" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Jogo" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Ajuda" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Dica" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Deixar Tela Cheia" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Refazer jogada" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Reiniciar" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Placar" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "Barra de _Estado" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Barra de Ferramentas" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Desfazer movimento" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Visualizar" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Augusta Carla Klug https://launchpad.net/~augusta-klug\n" " Charlotte https://launchpad.net/~lenteuitje\n" " Mauricio Vieira https://launchpad.net/~mbcvieira\n" " Og Maciel https://launchpad.net/~ogmaciel" gnome-hearts-0.3/po/el.po0000644000175000017500000002643611042105057012252 00000000000000# Greek, Modern (1453-) translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-10-31 15:30+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Greek, Modern (1453-) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Βαθμολογία" #: ../src/hearts.c:141 ../src/hearts.c:183 #, fuzzy msgid "Select three cards that you wish to pass on." msgstr "Διάλεξε τρία χαρτιά που θέλεις να μοιράσεις στους άλλους παίκτες" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Διαλέξε το χαρτί που θα παίξεις" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Τέλος Παιχνιδιού - Νίκησες!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Τέλος Παιχνιδιού - Έχασες" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Κάντε κλικ για να ξεκινήσετε ένα νέο παιχνίδι." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Κάντε κλικ για να συνεχίσετε το παιχνίδι." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Παίξε %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Μοίρασε %s" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Συγγνώμη, δε μπορώ να σε βοηθήσω" #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "άσσος σπαθί" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "δύο σπαθί" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "τρία σπαθί" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "τέσσερα σπαθί" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "πέντε σπαθί" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "έξι σπαθί" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "επτά σπαθί" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "οκτώ σπαθί" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "εννέα σπαθί" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "δέκα σπαθί" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "βαλές σπαθί" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "ντάμα σπαθί" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "παπάς σπαθί" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "άσσος καρώ" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "δύο καρώ" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "τρία καρώ" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "τέσσερα καρώ" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "πέντε καρώ" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "έξι καρώ" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "επτά καρώ" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "οκτώ καρώ" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "εννέα καρώ" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "δέκα καρώ" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "βαλές καρώ" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "ντάμα καρώ" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "παπάς καρώ" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "άσσος μπαστούνι" #: ../src/cards.c:78 msgid "the two of spades" msgstr "δύο μπαστούνι" #: ../src/cards.c:79 msgid "the three of spades" msgstr "τρία μπαστούνι" #: ../src/cards.c:80 msgid "the four of spades" msgstr "τέσσερα μπαστούνι" #: ../src/cards.c:81 msgid "the five of spades" msgstr "πέντε μπαστούνι" #: ../src/cards.c:82 msgid "the six of spades" msgstr "έξι μπαστούνι" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "επτά μπαστούνι" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "οκτώ μπαστούνι" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "εννέα μπαστούνι" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "δέκα μπαστούνι" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "βαλές μπαστούνι" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "ντάμα μπαστούνι" #: ../src/cards.c:89 msgid "the king of spades" msgstr "παπάς μπαστούνι" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "άσσος κούπα" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "δύο κούπα" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "τρία κούπα" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "τέσσερα κούπα" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "πέντε κούπα" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "έξι κούπα" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "επτά κούπα" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "οκτώ κούπα" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "εννέα κούπα" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "δέκα κούπα" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "βαλές κούπα" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "ντάμα κούπα" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "παπάς κούπα" #: ../src/ui.c:60 msgid "Images" msgstr "Εικόνες" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Κούπες για GNOME από τον Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Στυλ χαρτιών" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Διάλεξε φόντο" #: ../src/gnome-hearts.glade.h:4 #, fuzzy msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Διάλεξε τους κανόνες του παιχνιδιού και δημιούργησε τους δικούς σου κανόνες " "κυριών" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Διάλεξε το στυλ των χαρτιών με τα οποία επιθυμείς να παίξεις" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Πνευματικά δικαιώματα 2006-2007 Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Παιχνίδι" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Κούπες" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Κόλπο" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Παίκτες" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Προτιμήσεις..." #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Επανεκκίνηση" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Διάλεξε φόντο" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Διάλεξε τους παίκτες που επιθυμείς να παίξουν εναντίον σου ή διάλεξε " "<τυχαία> για να διαλέξει ο υπολογιστής για σένα" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Στυλ" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Έλεγχος" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Ανατολικά" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Πλήρης οθόνη" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Παιχνίδι" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Βοήθεια" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Κόλπο" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Έξοδος από την πλήρη οθόνη" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Βοράς" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "_Μάρκαρε τα χαρτιά που δε μπορούν να παίξουν στην πρώτη γύρα" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Ακύρωση αναίρεσης κίνησης" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Επανεκκίνηση" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Κανόνες" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Βαθμολογίες" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Γραμμή κατάστασης" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Μπάρα εργαλείων" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "_Το δύο σπαθί ξεκινά το γύρο" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Αναίρεση κίνησης" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Προβολή" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_Δύση" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome_Κούπες 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Kostas https://launchpad.net/~kostkon\n" " Panos Mavrogiorgos https://launchpad.net/~pmav99\n" " Stelios Papadopoulos https://launchpad.net/~stilianos-papadopoulos" gnome-hearts-0.3/po/fr.po0000644000175000017500000002510711042105057012253 00000000000000# French translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-10-22 21:22+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Scores" #: ../src/hearts.c:141 ../src/hearts.c:183 #, fuzzy msgid "Select three cards that you wish to pass on." msgstr "Sélectionnez trois cartes à défausser" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Cliquez sur la carte que vous désirez jouer." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Partie terminée - Vous avez gagné !" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Partie terminée - Vous avez perdu" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Cliquez quelque part pour démarrer une nouvelle partie." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Cliquez quelque part pour continuer la partie." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, fuzzy, c-format msgid "Play %s." msgstr "Jouer %s." #: ../src/hearts.c:491 ../src/events.c:192 #, fuzzy, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Cliquez sur la main de %s pour passer les cartes." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Passer %s." #: ../src/hearts.c:507 #, fuzzy msgid "Sorry, I can't help you." msgstr "Désolé, je ne peux vous aider." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "l'as de trèfle" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "le deux de trèfle" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "le trois de trèfle" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "le quatre de trèfle" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "le cinq de trèfle" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "le six de trèfle" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "le sept de trèfle" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "le huit de trèfle" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "le neuf de trèfle" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "le dix de trèfle" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "le valet de trèfle" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "la reine de trèfle" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "le roi de trèfle" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "l'as de carreau" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "le deux de carreau" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "le trois de carreau" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "le quatre de carreau" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "le cinq de carreau" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "le six de carreau" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "le sept de carreau" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "le huit de carreau" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "le neuf de carreau" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "le dix de carreau" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "le valet de carreau" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "la reine de carreau" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "le roi de carreau" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "l'as de pique" #: ../src/cards.c:78 msgid "the two of spades" msgstr "le deux de pique" #: ../src/cards.c:79 msgid "the three of spades" msgstr "le trois de pique" #: ../src/cards.c:80 msgid "the four of spades" msgstr "le quatre de pique" #: ../src/cards.c:81 msgid "the five of spades" msgstr "le cinq de pique" #: ../src/cards.c:82 msgid "the six of spades" msgstr "le six de pique" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "le sept de pique" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "le huit de pique" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "le neuf de pique" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "le dix de pique" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "le valet de pique" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "la reine de pique" #: ../src/cards.c:89 msgid "the king of spades" msgstr "le roi de pique" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "l'as de coeur" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "le deux de coeur" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "le trois de coeur" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "le quatre de coeur" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "le cinq de coeur" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "le six de coeur" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "le sept de coeur" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "le huit de coeur" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "le neuf de coeur" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "le dix de coeur" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "la valet de coeur" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "la reine de coeur" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "le roi de coeur" #: ../src/ui.c:60 msgid "Images" msgstr "Images" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Un jeu de Dame de Pique pour GNOME par Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Style des car_tes:" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Choisissez une image d'_arrière-plan" #: ../src/gnome-hearts.glade.h:4 #, fuzzy msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Choisissez une règle pour le jeu et indiquez quelques règles de savoir-vivre" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Choisissez le style des cartes avec lesquelles vous souhaitez jouer" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 #, fuzzy msgid "Game" msgstr "Jeu" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Dame de Pique" #: ../src/gnome-hearts.glade.h:10 #, fuzzy msgid "Hearts must be \"_broken\" before leading the trick" msgstr "Coeur doit avoir été _joué avant de pouvoir ouvrir avec" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Astuce" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Joueurs" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Préférences" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Redémarrer" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Choisir une image d'arrière-plan" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Sélectionnez les joueurs contre lesquels vous désirez jouer, ou choisissez " " pour que l'ordinateur en choisisse un pour vous." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Style" #: ../src/gnome-hearts.glade.h:22 #, fuzzy msgid "_Control" msgstr "_Mouvement" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Est" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Plein écran" #: ../src/gnome-hearts.glade.h:25 #, fuzzy msgid "_Game" msgstr "_Jeu" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Aide" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Astuce" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Quitter le mode plein écran" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Nord" #: ../src/gnome-hearts.glade.h:30 #, fuzzy msgid "_Point cards may not be played on the first trick" msgstr "Les cartes de _point ne doivent pas être jouées au premier tour" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Rejouer le coup" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Recommencer" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Règles du jeu:" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Scores" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "Barre d' _état" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "_Etirer l'image" #: ../src/gnome-hearts.glade.h:39 #, fuzzy msgid "_Tile image" msgstr "_Mosaïque d'image" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "Barre d'_outils" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "_La manche commence avec le deux de trèfles" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Annuler le coup" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Affichage" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_Ouest" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Charlotte https://launchpad.net/~lenteuitje\n" " Georges Dubus https://launchpad.net/~madjar\n" " Lstr https://launchpad.net/~rlstr87\n" " Nicolas Velin https://launchpad.net/~nsv\n" " Pierre Slamich https://launchpad.net/~pierre-slamich" gnome-hearts-0.3/po/de.po0000644000175000017500000002334011042105057012231 00000000000000# German translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-11-07 09:50+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Punkte" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Wähle drei Karten, die Sie du weitergeben möchtest" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klicke auf die Karte die du spielen möchten." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Das Spiel ist aus - Du hast gewonnen!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Das Spiel ist aus - Du hast verloren" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klicken für ein neues Spiel." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klicken um das Spiel fortzusetzen" #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Tipp: Spiele %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Klicke auf die Hand von %s um die Karten weiter zu geben." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Gib %s weiter." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Tut mir Leid, ich kann dir nicht helfen." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "Kreuz Ass" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "Kreuz 2" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "Kreuz 3" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "Kreuz 4" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "Kreuz 5" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "Kreuz 6" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "Kreuz 7" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "Kreuz 8" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "Kreuz 9" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "Kreuz 10" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "Kreuz Bube" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "Kreuz Dame" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "Kreuz König" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "Karo Ass" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "Karo 2" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "Karo 3" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "Karo 4" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "Karo 5" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "Karo6" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "Karo 7" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "Karo 8" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "Karo 9" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "Karo 10" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "Karo Bube" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "Karo Dame" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "Karo König" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "Pik Ass" #: ../src/cards.c:78 msgid "the two of spades" msgstr "Pik 2" #: ../src/cards.c:79 msgid "the three of spades" msgstr "Pik 3" #: ../src/cards.c:80 msgid "the four of spades" msgstr "Pik 4" #: ../src/cards.c:81 msgid "the five of spades" msgstr "Pik 5" #: ../src/cards.c:82 msgid "the six of spades" msgstr "Pik 6" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "Pik 7" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "Pik 8" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "Pik 9" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "Pik 10" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "Pik Bube" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "Pik Dame" #: ../src/cards.c:89 msgid "the king of spades" msgstr "Pik König" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "Herz Ass" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "Herz 2" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "Herz 3" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "Herz 4" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "Herz 5" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "Herz 6" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "Herz 7" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "Herz 8" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "Herz 9" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "Herz 10" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "Herz Bube" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "Herz Dame" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "Herz König" #: ../src/ui.c:60 msgid "Images" msgstr "Bilder" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Ein Hearts Spiel für Gnome von Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Kartenstil" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Hintergrundbild auswählen:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Wähle einen Regelsatz für das Spiel und setzte einige \"Gentleman\" Regeln " "fest" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Wähle den gewünschten Kartenstil" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Spiel" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hearts" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Tipp" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Spieler" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Einstellungen" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Neustart" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Wähle ein Hintergrundbild" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Stil" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Steuerung" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Ost" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Vollbild" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Spiel" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Hilfe" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Hinweis" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "Vollbild ver_lassen" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Nord" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "Zug _wiederherstellen" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Neu starten" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Punkte" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statusleiste" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Werkzeugleiste" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "Einen Schritt zurück" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Ansicht" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_West:" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Blackout https://launchpad.net/~coolx67\n" " Charlotte https://launchpad.net/~lenteuitje\n" " Harald Eiermann https://launchpad.net/~harald-eiermann\n" " Joerg Rings https://launchpad.net/~jrings\n" " Ramona https://launchpad.net/~shiii\n" " Stefan K. https://launchpad.net/~stefank.\n" " osswald https://launchpad.net/~christoph-osswalds" gnome-hearts-0.3/po/eu.po0000644000175000017500000002407611042105057012261 00000000000000# Basque translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-09-03 19:12+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Puntuazioak" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Hautatu itzazu pasatu nahi dituzun hiru kartak" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klik egin jolastu nahi duzun kartaren gainean" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Joko amaiera - Irabazi egin duzu!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Joko amaiera - Galdu egin duzu" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klik egin edonon joko berri bat hasteko" #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klik egin edonon jokoarekin jarraitzeko" #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Jokatu %s" #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Klik egin '%s'-(r)en eskuan kartak pasatzeko" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Pasa %s" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Barka, ezin dizut lagundu" #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "bateko hirusta" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "biko hirusta" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "hiruko hirusta" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "lauko hirusta" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "bosteko hirusta" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "seiko hirusta" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "zazpiko hirusta" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "zortziko hirusta" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "bederatziko hirusta" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "hamarreko hirusta" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "txanka hirusta" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "erregin hirusta" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "errege hirusta" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "bateko diamante" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "biko diamante" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "hiruko diamante" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "lauko diamante" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "bosteko diamante" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "seiko diamante" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "zazpiko diamante" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "zortziko diamante" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "bederatziko diamante" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "hamarreko diamante" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "txanka diamante" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "erregin diamante" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "errege diamante" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "bateko pika" #: ../src/cards.c:78 msgid "the two of spades" msgstr "biko pika" #: ../src/cards.c:79 msgid "the three of spades" msgstr "hiruko pika" #: ../src/cards.c:80 msgid "the four of spades" msgstr "lauko pika" #: ../src/cards.c:81 msgid "the five of spades" msgstr "bosteko pika" #: ../src/cards.c:82 msgid "the six of spades" msgstr "seiko pika" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "zazpiko pika" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "zortziko pika" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "bederatziko pika" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "hamarreko pika" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "txanka pika" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "erregin pika" #: ../src/cards.c:89 msgid "the king of spades" msgstr "errege pika" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "bateko bihotz" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "biko bihotz" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "hiruko bihotz" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "lauko bihotz" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "bosteko bihotz" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "seiko bihotz" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "zazpiko bihotz" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "zortziko bihotz" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "bederatziko bihotz" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "hamarreko bihotz" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "txanka bihotz" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "erregin bihotz" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "errege bihotz" #: ../src/ui.c:60 msgid "Images" msgstr "Irudiak" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "GNOME-rako bihotzen jokua, Sander Marechale-k egina" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "_Karta-estiloa" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "_Atzealdeko irudia hautatu:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Jokoaren arau-sorta hautatu, eta jaunen arteko arauak ezarri" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Erabili nahi dituzun karten estiloa hautatu." #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Jokoa" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Bihotzak" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Argibidea" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus alternatiboa\n" "Bihotz orbanak\n" "Estandard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Jokalariak" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Hobespenak" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Hasi berriro" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Aukeratu atzekalderako irudia" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Aukeratu zein jokalarirekin jolastu nahi duzun, edo sakatu " "ordenagailuak aukera ditzan." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Estiloa" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Kontrola" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Ekialdea:" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Pantaila osoa" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Jokoa" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Laguntza" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Argibidea" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Pantaila-osoa utzi" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Iparraldea:" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Berregin mugimendua" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Hasi berriro" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Arau-sorta:" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Puntuazioa" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Egoera-barra" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "Irudia _handitu" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "Irudia _teilakatu" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Tresnabarra" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "_Biko hirusta hasten da jokatzen" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Desegin mugimendua" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Ikusi" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_Mendebaldea:" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Mikel Pascual Aldabaldetreku https://launchpad.net/~mpascual\n" " ibaiu22 https://launchpad.net/~ibaiu22\n" " ibaiu22 https://launchpad.net/~ibaiu22-gmail" gnome-hearts-0.3/po/zh_CN.po0000644000175000017500000002566311042105057012654 00000000000000# Simplified Chinese translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # Wei Mingzhi , 2006. # msgid "" msgstr "" "Project-Id-Version: gnome-hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2008-01-16 15:27+0000\n" "Last-Translator: Wei Mingzhi \n" "Language-Team: Simplified Chinese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "分数" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "请选择您要传的三张牌。" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "单击您要出的牌。" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "游戏结束 - 您赢了!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "游戏结束 - 您输了!" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "在任意处单击可以开始一场新游戏。" #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "在任意处单击可以继续游戏。" #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "出%s。" #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "单击 %s 的手牌来传牌。" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "传%s。" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "对不起,我不能帮助您。" #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "草花 A" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "草花 2" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "草花 3" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "草花 4" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "草花 5" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "草花 6" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "草花 7" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "草花 8" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "草花 9" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "草花 10" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "草花 J" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "草花 Q" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "草花 K" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "方块 A" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "方块 2" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "方块 3" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "方块 4" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "方块 5" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "方块 6" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "方块 7" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "方块 8" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "方块 9" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "方块 10" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "方块 J" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "方块 Q" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "方块 K" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "黑桃 A" #: ../src/cards.c:78 msgid "the two of spades" msgstr "黑桃 2" #: ../src/cards.c:79 msgid "the three of spades" msgstr "黑桃 3" #: ../src/cards.c:80 msgid "the four of spades" msgstr "黑桃 4" #: ../src/cards.c:81 msgid "the five of spades" msgstr "黑桃 5" #: ../src/cards.c:82 msgid "the six of spades" msgstr "黑桃 6" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "黑桃 7" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "黑桃 8" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "黑桃 9" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "黑桃 10" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "黑桃 J" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "黑桃 Q" #: ../src/cards.c:89 msgid "the king of spades" msgstr "黑桃 K" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "红桃 A" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "红桃 2" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "红桃 3" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "红桃 4" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "红桃 5" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "红桃 6" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "红桃 7" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "红桃 8" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "红桃 9" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "红桃 10" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "红桃 J" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "红桃 Q" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "红桃 K" #: ../src/ui.c:60 msgid "Images" msgstr "图像" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "由 Sander Marechal 制作的 GNOME 下的一个红心大战游戏" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "玩牌的风格(_r):" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "选择背景图片(_b)" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "为游戏选择一个规则集,并设定一些其它的规则。" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "选择您玩牌的风格" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "版权 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "游戏" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "红心大战" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "没有出过红桃时,不能用红桃领圈(_B)" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "提示" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus 变通\n" "Spot Hearts\n" "标准" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "玩家" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "首选项" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "重新开始" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "请选择一个背景图像" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "请选择您的对手,或者选择 <随机> 来让电脑帮您选择。" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "样式" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "控制(_C)" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "东桌(_E)" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "全屏(_F)" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "游戏(_G)" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "帮助(_H)" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "提示(_H)" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "退出全屏(_L)" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "北桌(_N)" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "第一轮不能出有分值的牌(_P)" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "重复(_R)" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "重新开始(_R)" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "规则集(_R):" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "分数(_S)" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "状态栏(_S)" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "延伸图像(_S)" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "平铺图像(_T)" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "工具栏(_T)" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "每局开始时必须先出草花 2(_T)" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "撤销(_U)" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "查看(_V)" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "西(_W):" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Wei Mingzhi \n" "\n" "Launchpad Contributions:\n" " Wei Mingzhi \n" "\n" "Launchpad Contributions:\n" " Wei Mingzhi https://launchpad.net/~whistler-openoffice\n" " luojie-dune https://launchpad.net/~luojie-dune" #~ msgid "Error: %s" #~ msgstr "错误: %s" #~ msgid "Card style" #~ msgstr "纸牌风格" #~ msgid "Choose a background image" #~ msgstr "选择一个背景图像" #~ msgid "Choose the style of the cards you wish to play with." #~ msgstr "请选择您想要使用的牌的样式。" #~ msgid "Copyright 2006, Stichting Lone Wolves" #~ msgstr "版权所有 2006, Stichting Lone Wolves" #~ msgid "GNU General Public License 2.0" #~ msgstr "GNU General Public License 2.0 (GPL)" #~ msgid "Hearts must be \"broken\" before leading the trick" #~ msgstr "必须已经有人出过红桃才能用红桃领圈" #~ msgid "Ruleset" #~ msgstr "规则集" #~ msgid "Stretch image" #~ msgstr "拉伸" #~ msgid "Tile image" #~ msgstr "平铺" #~ msgid "Two of clubs leads the round" #~ msgstr "必须先出草花 2" #~ msgid "East" #~ msgstr "东" #~ msgid "North" #~ msgstr "北" #~ msgid "Point cards may not be played on the first trick" #~ msgstr "在第一轮不能出有分值的牌" #~ msgid "West" #~ msgstr "西" #~ msgid "_Online help" #~ msgstr "在线帮助(_O)" gnome-hearts-0.3/po/fi.po0000644000175000017500000002407711042105057012247 00000000000000# Finnish translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2008-02-10 18:28+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Pisteet" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Valitse kolme korttia jotka haluat antaa pois." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klikkaa korttia jonka haluat pelata" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Peli loppu - Voitit!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Peli loppu - Hävisit" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klikkaa hiirellä aloittaaksesi uuden pelin." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klikkaa hiirellä jatkaaksesi peliä." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Pelaa %s" #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Klikkaa pelaajan %s kättä antaaksesi kortit." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Anna %s" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Valitettavasti en voi auttaa." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "ristiässä" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "ristikakkonen" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "ristikolmonen" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "ristinelonen" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "ristiviitonen" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "ristikuutonen" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "ristiseiska" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "ristikasi" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "ristiysi" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "ristikymppi" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "ristijätkä" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "ristiakka" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "ristikuningas" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "ruutuässä" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "ruutukakkonen" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "ruutukolmonen" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "ruutunelonen" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "ruutuvitonen" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "ruutukutonen" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "ruutuseiska" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "ruutukasi" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "ruutuysi" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "ruutukymppi" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "ruutujätkä" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "ruutuakka" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "ruutukuningas" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "pataässä" #: ../src/cards.c:78 msgid "the two of spades" msgstr "patakakkonen" #: ../src/cards.c:79 msgid "the three of spades" msgstr "patakolmonen" #: ../src/cards.c:80 msgid "the four of spades" msgstr "patanelonen" #: ../src/cards.c:81 msgid "the five of spades" msgstr "patavitonen" #: ../src/cards.c:82 msgid "the six of spades" msgstr "patakutonen" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "pataseiska" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "patakasi" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "pataysi" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "patakymppi" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "patajätkä" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "pata-akka" #: ../src/cards.c:89 msgid "the king of spades" msgstr "patakuningas" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "herttaässä" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "herttakakkonen" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "herttakolmonen" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "herttanelonen" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "herttavitonen" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "herttakutonen" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "herttaseiska" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "herttakasi" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "herttaysi" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "herttakymppi" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "herttajätkä" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "hertta-akka" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "herttakuningas" #: ../src/ui.c:60 msgid "Images" msgstr "Kuvat" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Sander Marechalin hertta-peli GNOMElle" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 #, fuzzy msgid "Choose a _background image:" msgstr "Valitse taustakuva:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Valitse pelille säännöstö, ja valitse herrasmiessääntöjä" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Valitse korttien tyyli, joilla haluat pelata" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Tekijänoikeus 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Peli" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hertta" #: ../src/gnome-hearts.glade.h:10 #, fuzzy msgid "Hearts must be \"_broken\" before leading the trick" msgstr "Herttojen pitää olla avattu ennen kuin niillä voi aloittaa tikin" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Vinkki" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Vaihtoehtoinen Omnibus\n" "Täplä Hertta\n" "Tavallinen" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Pelaajat" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Asetukset" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Aloita uudelleen" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Valitse taustakuva" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Valitse vastustajat, tai valitse , jolloin kone valitsee sinun " "puolesta." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Tyyli" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Toiminnot" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "Täysi ruutu" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Peli" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Ohje" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Vinkki" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "Jätä täysi ruutu" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 #, fuzzy msgid "_Point cards may not be played on the first trick" msgstr "Pistekorttia ei voi laittaa ensimmäiseen tikkiin" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Tee uudelleen siirto" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Aloita uudelleen" #: ../src/gnome-hearts.glade.h:34 #, fuzzy msgid "_Ruleset:" msgstr "Säännöt:" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Pisteet" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "Tilapalkki" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Työkalupalkki" #: ../src/gnome-hearts.glade.h:41 #, fuzzy msgid "_Two of clubs leads the round" msgstr "Ristikakkonen aloittaa" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Kumoa siirto" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Näytä" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hertta 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Alpo Turunen https://launchpad.net/~alpo-turunen\n" " Glome https://launchpad.net/~markus-ilmola\n" " Otto Salminen https://launchpad.net/~mail-ottosalminen\n" " Tony Hulden https://launchpad.net/~tony-hulden\n" " keke https://launchpad.net/~keijo-kuosmanen\n" " manuska https://launchpad.net/~manuska" gnome-hearts-0.3/po/nl.po0000644000175000017500000002451211042105057012254 00000000000000# Dutch translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-08-27 19:59+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Scores" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Selecteer drie kaarten om door te geven." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klik op de kaart die je wilt spelen" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Spel afgelopen - Je hebt gewonnen!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Spel afgelopen - Je hebt verloren" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klik ergens om een nieuw spel te starten." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klik ergens om verder te gaan met het spel." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Speel %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Klik op de hand van %s om de kaarten door te geven" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Geef %s door." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Sorry, ik kan je niet helpen." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "de klaveren aas" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "de klaveren twee" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "de klaveren drie" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "de klaveren vier" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "de klaveren vijf" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "de klaveren zes" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "de klaveren zeven" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "de klaveren acht" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "de klaveren negen" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "de klaveren tien" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "de klaveren boer" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "de klaveren vrouw" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "de klaveren heer" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "de ruiten aas" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "de ruiten twee" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "de ruiten drie" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "de ruiten vier" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "de ruiten vijf" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "de ruiten zes" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "de ruiten zeven" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "de ruiten acht" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "de ruiten negen" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "de ruiten tien" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "de ruiten boer" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "de ruiten vrouw" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "de ruiten heer" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "de schoppenaas" #: ../src/cards.c:78 msgid "the two of spades" msgstr "de schoppen twee" #: ../src/cards.c:79 msgid "the three of spades" msgstr "de schoppen drie" #: ../src/cards.c:80 msgid "the four of spades" msgstr "de schoppen vier" #: ../src/cards.c:81 msgid "the five of spades" msgstr "de schoppen vijf" #: ../src/cards.c:82 msgid "the six of spades" msgstr "de schoppen zes" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "de schoppen zeven" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "de schoppen acht" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "de schoppen negen" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "de schoppen tien" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "de schoppen boer" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "de schoppen vrouw" #: ../src/cards.c:89 msgid "the king of spades" msgstr "de schoppen heer" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "de hartenaas" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "de harten twee" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "de harten drie" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "de harten vier" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "de harten vijf" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "de harten zes" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "de harten zeven" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "de harten acht" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "de harten negen" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "de harten tien" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "de harten boer" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "de hartenvrouw" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "de hartenheer" #: ../src/ui.c:60 msgid "Images" msgstr "Afbeeldingen" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Hartenjagen voor GNOME door Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "_Kaartstijl" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Kies een _achtergrond afbeelding" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Kies een regelset voor het spel en stel een aantal optionele regels in." #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Kies de kaart stijl waarmee je wil spelen" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Spel" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hartenjagen" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "Harten moet _gebroken worden voor er mee uit mag worden gekomen" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Hint" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus alternatief\n" "Spot harten\n" "Standaard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Spelers" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Voorkeuren" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Herstarten" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Selecteer een achtergrond-afbeelding" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Kies tegen welke spelers je wilt spelen of kies om de computer " "er een voor je te laten kiezen." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Stijl" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Besturing" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Oost" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Volledig scherm" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Spel" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Hulp" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Hint" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "V_olledig scherm verlaten" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Noord" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "_Puntkaarten mogen niet in de eerste beurt worden gespeeld" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "_Schoppen vrouw breekt harten" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "O_pnieuw" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "He_rstarten" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Regelset" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Scores" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "_Toon de punten naast de namen van de spelers" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statusbalk" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "Afbeelding _rekken" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "Afbeelding _herhalen" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Werkbalk" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "_Schoppen twee opent de ronde" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Ongedaan maken" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "Bee_ld" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_West" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Charlotte https://launchpad.net/~lenteuitje\n" " Eric Vissers https://launchpad.net/~bbfh\n" " Jeroen van Splunder https://launchpad.net/~jeroen-91\n" " Sander Marechal https://launchpad.net/~s-marechal" gnome-hearts-0.3/po/POTFILES.in0000644000175000017500000000036211042105057013055 00000000000000[encoding: UTF-8] # List of source files containing translatable strings. # Source files src/hearts.c src/events.c src/preimage.c src/cards-image.c src/cards.c src/player.c src/player-api.c src/ui.c # The glade file src/gnome-hearts.glade gnome-hearts-0.3/po/ChangeLog0000644000175000017500000000000011042105057013037 00000000000000gnome-hearts-0.3/po/ml.po0000644000175000017500000003244411042105057012256 00000000000000# Malayalam translation for hearts # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-06-11 19:46+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Malayalam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "സ്കോറുകള്‍" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "കൈമാറ്റം ചെയ്യാന്‍ മൂന്ന് ചീട്ടുകള്‍ തിരഞ്ഞെടുക്കൂ." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "കളിക്കാന്‍ ഉദ്ദേശിക്കുന്ന കാര്‍ഡില്‍ ഞെക്കുക." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "കളി തീര്‍ന്നു - താന്‍ ജയിച്ചിരിക്കുന്നു!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "കളി തീര്‍ന്നു - താന്‍ തോറ്റു പോയി!" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "കളി തുടങ്ങുവാന്‍ എവിടെയെങ്കിലും ഞെക്കുക." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "കളി തുടരുവാന്‍ എവിടെയെങ്കിലും ഞെക്കുക." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "കളി %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "%s -ന്റെ കയ്യില്‍ ഞെക്കി ചീട്ടുകള്‍ കൈമാറൂ" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "%s കൈമാറുക." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "ക്ഷമിക്കണം, എനിക്കു നിങ്ങളെ സഹായിക്കാന്‍ കഴിയില്ല." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "ക്ളാവറിന്റെ ആസ്‌" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "ക്ളാവറിന്റെ രണ്ട്‌" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "ക്ളാവറിന്റെ മൂന്ന്‌" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "ക്ളാവറിന്റെ നാല്‌" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "ക്ളാവറിന്റെ അഞ്ച്‌" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "ക്ളാവറിന്റെ ആറ്‌" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "ക്ളാവറിന്റെ ഏഴ്‌" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "ക്ളാവറിന്റെ എട്ട്‌" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "ക്ളാവറിന്റെ ഒന്‍പത്‌" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "ക്ളാവറിന്റെ പത്ത്‌" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "ക്ളാവറിന്റെ ഗുലാന്‍" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "ക്ളാവറിന്റെ രാജ്ഞി" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "ക്ളാവറിന്റെ രാജാവ്‌" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "ഡയമണ്ഡിന്റെ ആസ്‌" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "ഡയമണ്ഡിന്റെ രണ്ട്‌" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "ഡയമണ്ഡിന്റെ മൂന്ന്‌" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "ഡയമണ്ഡിന്റെ നാല്‌" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "ഡയമണ്ഡിന്റെ അഞ്ച്‌" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "ഡയമണ്ഡിന്റെ ആറ്‌" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "ഡയമണ്ഡിന്റെ ഏഴ്‌" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "ഡയമണ്ഡിന്റെ എട്ട്‌" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "ഡയമണ്ഡിന്റെ ഒന്‍പത്‌" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "ഡയമണ്ഡിന്റെ പത്ത്‌" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "ഡയമണ്ഡിന്റെ ഗുലാന്‍" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "ഡയമണ്ഡിന്റെ രാജ്ഞി" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "ഡയമണ്ഡിന്റെ രാജാവ്‌" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "ഇസ്പേടിന്റെ ആസ്‌" #: ../src/cards.c:78 msgid "the two of spades" msgstr "ഇസ്പേടിന്റെ രണ്ട്‌" #: ../src/cards.c:79 msgid "the three of spades" msgstr "ഇസ്പേടിന്റെ മൂന്ന്‌" #: ../src/cards.c:80 msgid "the four of spades" msgstr "ഇസ്പേടിന്റെ നാല്‌" #: ../src/cards.c:81 msgid "the five of spades" msgstr "ഇസ്പേടിന്റെ അഞ്ച്‌" #: ../src/cards.c:82 msgid "the six of spades" msgstr "ഇസ്പേടിന്റെ ആറ്‌" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "ഇസ്പേടിന്റെ ഏഴ്‌" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "ഇസ്പേടിന്റെ എട്ട്‌" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "ഇസ്പേടിന്റെ ഒന്‍പത്‌" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "ഇസ്പേടിന്റെ പത്ത്‌" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "ഇസ്പേടിന്റെ ഗുലാന്‍" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "ഇസ്പേടിന്റെ രാജ്ഞി" #: ../src/cards.c:89 msgid "the king of spades" msgstr "ഇസ്പേടിന്റെ രാജാവ്‌" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "ആടുതന്റെ ആസ്‌" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "ആടുതന്റെ രണ്ട്‌" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "ആടുതന്റെ മൂന്ന്‌" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "ആടുതന്റെ നാല്‌" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "ആടുതന്റെ അഞ്ച്‌" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "ആടുതന്റെ ആറ്‌" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "ആടുതന്റെ ഏഴ്‌" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "ആടുതന്റെ എട്ട്‌" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "ആടുതന്റെ ഒന്‍പത്‌" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "ആടുതന്റെ പത്ത്‌" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "ആടുതന്റെ ഗുലാന്‍" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "ആടുതന്റെ രാജ്ഞി" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "ആടുതന്റെ രാജാവ്‌" #: ../src/ui.c:60 msgid "Images" msgstr "ചിത്രങ്ങള്‍" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "GNOME-ന് വേണ്ടി സാന്‍ഡര്‍ മറേഷല്‍ ചെയ്ത ഒരു ഹാട്ട്സ് കളി." #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "കളിക്കു വേണ്ടി ഒരു നിയമാവലി തിരഞ്ഞെടുക്കൂ, കൂടെ കുറച്ച് മാന്യന്മാരുടെ നിയമങ്ങളും" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "കളി" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "ഹാട്ട്സ് (Herats)" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "സൂചന" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "OmnibusOmnibus AlternativeSpot HeartsStandard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "‍കളിക്കാര്‍" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "ഇഷ്ടാനിഷ്ടങ്ങള്‍ (Preferences)" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "വീണ്ടും തുടങ്ങുക" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "ഒരു പശ്ചാത്തല ചിത്രം തിരഞ്ഞെടുക്കുക" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "താങ്കള്‍ക്കെതിരെ കളിക്കേണ്ട കളിക്കാരെ തിരഞ്ഞെടുക്കുക, അല്ലെങ്കില്‍ തിരഞ്ഞെടുത്ത്, " "കമ്പ്യൂട്ടറിനെ കൊണ്ട് തിരഞ്ഞെടുപ്പിക്കുക." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "ശൈലി" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_നിയന്ത്രണം(_C)" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "മുഴുസ്ക്രീന്‍ (_F)" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "കളി (_G)" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "സഹായം (_H)" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "സൂചന (_H)" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "മുഴുസ്ക്രീന്‍ മാറ്റുക (_L)" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "നീക്കം പുനഃപരിശോധിക്കുക (_R)" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "വീണ്ടും ആരംഭിക്കുക (_R)" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "സ്കോറുകള്‍ (_S)" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "സ്റ്റേറ്റസ് ബാര്‍ (_S)" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "ടൂള്‍ ബാര്‍ (_T)" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "നീക്കം വേണ്ട (_U)" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "കാണുക (_V)" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " പ്രതീഷ് പ്രകാശ് https://launchpad.net/~pratheesh" gnome-hearts-0.3/po/it.po0000644000175000017500000002441311042105057012257 00000000000000# Italian translation for hearts # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2008-01-18 18:19+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Punteggi" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Seleziona tre carte che vorresti passare." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Clicca sulla carta che vuoi giocare." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Game over - Hai vinto!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Game over - Hai perso" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Clicca da qualche parte per iniziare una nuova partita." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Clicca da qualche parte per continuare la partita." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Gioco %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Clicca sulla mano di %s per passare le carte." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Passa %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Spiacente, non posso aiutarti." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "l'asso di fiori" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "il due di fiori" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "il tre di fiori" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "il quattro di fiori" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "il cinque di fiori" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "il sei di fiori" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "il sette di fiori" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "l'otto di fiori" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "il nove di fiori" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "il dieci di fiori" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "il jack di fiori" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "la regina di fiori" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "il re di fiori" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "l'asso di quadri" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "il due di quadri" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "il tre di quadri" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "il quattro di quadri" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "il cinque di quadri" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "il sei di quadri" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "il sette di quadri" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "l'otto di quadri" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "il nove di quadri" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "il dieci di quadri" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "il jack di quadri" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "la regina di quadri" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "il re di quadri" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "l'asso di picche" #: ../src/cards.c:78 msgid "the two of spades" msgstr "il due di picche" #: ../src/cards.c:79 msgid "the three of spades" msgstr "il tre di picche" #: ../src/cards.c:80 msgid "the four of spades" msgstr "il quattro di picche" #: ../src/cards.c:81 msgid "the five of spades" msgstr "il cinque di picche" #: ../src/cards.c:82 msgid "the six of spades" msgstr "il sei di picche" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "il sette di picche" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "l'otto di picche" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "il nove di picche" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "il dieci di picche" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "il jack di picche" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "la regina di picche" #: ../src/cards.c:89 msgid "the king of spades" msgstr "il re di picche" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "l'asso di cuori" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "il due di cuori" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "il tre di cuori" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "il quattro di cuori" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "il cinque di cuori" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "il sei di cuori" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "il sette di cuori" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "l'otto di cuori" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "il nove di cuori" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "il dieci di cuori" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "il jack di cuori" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "la regina di cuori" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "il re di cuori" #: ../src/ui.c:60 msgid "Images" msgstr "Immagini" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Il gioco di Hearts per GNOME creato da Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Stile Car_te" #: ../src/gnome-hearts.glade.h:3 #, fuzzy msgid "Choose a _background image:" msgstr "Scegli un'immagine di _sfondo:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Scegli il set di regole per il gioco e imposta qualche regola da signore" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Scegli il modello delle carte con cui desideri giocare con" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Game" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hearts" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Suggerimento" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Giocatori" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Opzioni" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Riavvia" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Seleziona una immagine di sfondo" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Seleziona i giocatori contro cui vuoi giocare, o scegli per far " "scegliere al computer." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Stile" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Controlli" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Est" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_A schermo pieno" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Partita" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Guida" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Suggerimento" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Lascia la modalità schermo pieno" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Nord" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Ripeti mossa" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Riavvia" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Regole:" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Punteggi" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Barra di Stato" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "_Allunga immagine" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Barra degli strumenti" #: ../src/gnome-hearts.glade.h:41 #, fuzzy msgid "_Two of clubs leads the round" msgstr "_Due dei club conducono il giro" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Annulla mossa" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Mostra" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_Ovest:" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Fulvio Ciucci https://launchpad.net/~kitpou\n" " Mario Butera https://launchpad.net/~mammaliturchi\n" " Michele Chiarabelli https://launchpad.net/~allimac1985\n" " Paolo Naldini https://launchpad.net/~hattory" gnome-hearts-0.3/po/en_GB.po0000644000175000017500000002426111042105057012616 00000000000000# English (United Kingdom) translation for hearts # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-09-03 12:46+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Scores" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Select three cards that you wish to pass on." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Click on the card you wish to play." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Game over - You have won!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Game over - You have lost" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Click somewhere to start a new game." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Click somewhere to continue the game." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Play %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Click on the hand of %s to pass the cards." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Pass %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Sorry, I can't help you." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "the ace of clubs" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "the two of clubs" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "the three of clubs" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "the four of clubs" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "the five of clubs" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "the six of clubs" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "the seven of clubs" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "the eight of clubs" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "the nine of clubs" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "the ten of clubs" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "the jack of clubs" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "the queen of clubs" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "the king of clubs" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "the ace of diamonds" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "the two of diamonds" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "the three of diamonds" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "the four of diamonds" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "the five of diamonds" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "the six of diamonds" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "the seven of diamonds" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "the eight of diamonds" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "the nine of diamonds" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "the ten of diamonds" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "the jack of diamonds" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "the queen of diamonds" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "the king of diamonds" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "the ace of spades" #: ../src/cards.c:78 msgid "the two of spades" msgstr "the two of spades" #: ../src/cards.c:79 msgid "the three of spades" msgstr "the three of spades" #: ../src/cards.c:80 msgid "the four of spades" msgstr "the four of spades" #: ../src/cards.c:81 msgid "the five of spades" msgstr "the five of spades" #: ../src/cards.c:82 msgid "the six of spades" msgstr "the six of spades" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "the seven of spades" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "the eight of spades" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "the nine of spades" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "the ten of spades" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "the jack of spades" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "the queen of spades" #: ../src/cards.c:89 msgid "the king of spades" msgstr "the king of spades" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "the ace of hearts" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "the two of hearts" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "the three of hearts" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "the four of hearts" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "the five of hearts" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "the six of hearts" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "the seven of hearts" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "the eight of hearts" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "the nine of hearts" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "the ten of hearts" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "the jack of hearts" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "the queen of hearts" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "the king of hearts" #: ../src/ui.c:60 msgid "Images" msgstr "Images" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "A hearts game for GNOME by Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Car_d style:" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Choose a _background image:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Choose a ruleset for the game and set some gentleman's rules" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Choose the style of the cards you wish to play with" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "Copyright 2006-2007, Stichting Lone Wolves" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Game" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hearts" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "Hearts must be \"_broken\" before leading the trick" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Hint" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Players" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Preferences" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Restart" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Select a background image" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Style" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Control" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_East:" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Fullscreen" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Game" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Help" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Hint" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Leave fullscreen" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_North:" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "_Point cards may not be played on the first trick" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Redo move" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Restart" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "_Ruleset:" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Scores" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statusbar" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "_Stretch image" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "_Tile image" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "_Two of clubs leads the round" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Undo move" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_View" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "_West:" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 #, fuzzy msgid "gnome-hearts 0.3" msgstr "gnome-hearts 0.3" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Malcolm Parsons https://launchpad.net/~malcolm-parsons" gnome-hearts-0.3/po/es.po0000644000175000017500000002423111042105057012250 00000000000000# Spanish translation for hearts # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-12-08 01:13+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Puntuaciones" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Seleccione las tres cartas que desea pasar." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Seleccione la carta que quiere jugar." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Fin del Juego. ¡Venció!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Fin del Juego. Perdió..." #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Haga click en cualquier sitio para empezar una nueva partida." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Haga click en cualquier sitio para continuar la partida." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Juega %s" #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Haga click en la mano de %s para pasarle las cartas" #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "%s Pasa" #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Disculpe, no puedo ayudarle." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "el as de tréboles" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "el dos de tréboles" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "el tres de tréboles" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "el cuatro de tréboles" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "el cinco de tréboles" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "el seis de tréboles" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "el siete de tréboles" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "el ocho de tréboles" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "el nueve de tréboles" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "el diez de tréboles" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "la jota de tréboles" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "la reina de tréboles" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "el rey de tréboles" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "el as de diamantes" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "el dos de diamantes" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "el tres de diamantes" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "el cuatro de diamantes" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "el cinco de diamantes" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "el seis de diamantes" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "el siete de diamantes" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "el ocho de diamantes" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "el nueve de diamantes" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "el diez de diamantes" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "la jota de diamantes" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "la reina de diamantes" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "el rey de diamantes" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "el as de picas" #: ../src/cards.c:78 msgid "the two of spades" msgstr "el dos de picas" #: ../src/cards.c:79 msgid "the three of spades" msgstr "el tres de picas" #: ../src/cards.c:80 msgid "the four of spades" msgstr "el cuatro de picas" #: ../src/cards.c:81 msgid "the five of spades" msgstr "el cinco de picas" #: ../src/cards.c:82 msgid "the six of spades" msgstr "el seis de picas" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "el siete de picas" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "el ocho de picas" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "el nueve de picas" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "el diez de picas" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "la jota de picas" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "la reina de picas" #: ../src/cards.c:89 msgid "the king of spades" msgstr "el rey de picas" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "el as de corazones" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "el dos de corazones" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "el tres de corazones" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "el cuatro de corazones" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "el cinco de corazones" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "el seis de corazones" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "el siete de corazones" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "el ocho de corazones" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "el nueve de corazones" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "el diez de corazones" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "la jota de corazones" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "la reina de corazones" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "el rey de corazones" #: ../src/ui.c:60 msgid "Images" msgstr "Imágenes" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "El juego de Corazones para GNOME por Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Elija las reglas del juego y configure algunas \"reglas de caballerosidad\"" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Elija el estilo de cartas con el que desea jugar" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Partida" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Corazones" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Consejo" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Ómnibus\n" "Ómnibus Alternativo\n" "Corazones Manchados\n" "Estándar" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Jugadores" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Opciones" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Reiniciar" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Elija una imagen de fondo" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Seleccione contra que contrincantes quiere jugar, o elija \r\n" " para que el sistema elija al azar" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Estilo" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Control" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Este" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "P_antalla completa:" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Partida" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "Ay_uda" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "Pis_ta" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Salir de Pantalla Completa" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Norte" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Rehacer movimiento" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "R_einiciar" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "Puntuació_n" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "Barra de esta_do" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "Barra de _Herramientas" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Deshacer movimiento" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Ver" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Beltenebros https://launchpad.net/~super1opez\n" " Rodrigo Garcia Gonzalez https://launchpad.net/~nibblesmx" gnome-hearts-0.3/po/ru.po0000644000175000017500000002474111042105057012275 00000000000000# Russian translation for hearts # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-07-25 09:48+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Счёт" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Выберите три карты, которые вы хотите передать." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Щелкните по карте, которой хотите играть." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Конец игры - Вы победили!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Конец игры - Вы проиграли!" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Нажмите" #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Щелкните где-нибудь для продолжения игры." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Играть %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Щелкните по руке %s для передачи карты." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Передать %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Извините, ничем не могу помочь." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "туз треф" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "двойка треф" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "тройка треф" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "четыре треф" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "пять треф" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "шесть треф" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "семь треф" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "восемь треф" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "девять треф" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "десять треф" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "валет треф" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "дама треф" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "король треф" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "туз бубен" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "двойка бубен" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "тройка бубен" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "четыре бубен" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "пять бубен" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "шесть бубен" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "семь бубен" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "восемь бубен" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "девять бубен" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "десять бубен" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "валет бубен" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "дама бубен" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "король бубен" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "туз пик" #: ../src/cards.c:78 msgid "the two of spades" msgstr "двойка пик" #: ../src/cards.c:79 msgid "the three of spades" msgstr "тройка пик" #: ../src/cards.c:80 msgid "the four of spades" msgstr "четыре пик" #: ../src/cards.c:81 msgid "the five of spades" msgstr "пять пик" #: ../src/cards.c:82 msgid "the six of spades" msgstr "шесть пик" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "семь пик" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "восемь пик" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "девять пик" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "десять пик" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "валет пик" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "дама пик" #: ../src/cards.c:89 msgid "the king of spades" msgstr "король пик" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "туз червей" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "двойка червей" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "тройка червей" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "четыре червей" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "пять червей" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "шесть червей" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "семь червей" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "восемь червей" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "девять червей" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "десять червей" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "валет червей" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "дама червей" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "король червей" #: ../src/ui.c:60 msgid "Images" msgstr "Изображения" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Черви для GNOME (Sender Marechal)" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Выберите правила игры и установите некоторые джентельменские соглашения" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Игры" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Черви" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Подсказка" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Игроки" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Установки" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Начать заново" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Выбрать фоновое изображение" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Выберите в каким игроком хотите играть, или нажмите для того, чтобы " "компьютер сделал это за вас" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Стиль" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Управление" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "Полноэкранный _режим" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Игра" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "Помощь (_H)" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Совет" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Повторить ход" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Перезапустить" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Результаты" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Строка состояния" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Панель управления" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "Отменить _ход" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "Вид (_V)" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Pavel V. Kulikov https://launchpad.net/~kulikovpv8256" gnome-hearts-0.3/po/id.po0000644000175000017500000002312311042105057012234 00000000000000# Indonesian translation for hearts # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-12-21 14:30+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Nilai" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Pilih tiga kartu untuk diberikan ke pemain lain" #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Klik kartu yang ingin dimainkan" #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Selamat - Anda Menang!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Sayang sekali - Anda belum beruntung" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Klik sesuatu untuk memulai permainan" #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Klik sesuatu untuk melanjutkan permainan" #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Memulai Permainan %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Klik gambar tangan %s untuk menurunkan kartu." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Pass %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Maaf, Gak bisa nolongin!" #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "As Kelor" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "Dua Kelor" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "Tiga Kelor" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "Empat Kelor" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "Lima Kelor" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "Enam Kelor" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "Tujuh Kelor" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "Delapan Kelor" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "Sembilan Kelor" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "Sepuluh Kelor" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "Je Kelor" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "Qi Kelor" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "Raja Kelor" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "as wajik" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "dua wajik" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "tiga wajik" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "empat wajik" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "lima wajik" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "enam wajik" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "tujuh wajik" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "delapan wajik" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "sembilan wajik" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "sepuluh wajik" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "Je Wajik" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "Qi Wajik" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "raja wajik" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "As Waru" #: ../src/cards.c:78 msgid "the two of spades" msgstr "Dua Waru" #: ../src/cards.c:79 msgid "the three of spades" msgstr "Tiga Waru" #: ../src/cards.c:80 msgid "the four of spades" msgstr "Empat Waru" #: ../src/cards.c:81 msgid "the five of spades" msgstr "Lima Waru" #: ../src/cards.c:82 msgid "the six of spades" msgstr "Enam Waru" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "Tujuh Waru" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "Delapan Waru" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "Sembilan Waru" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "Sepuluh Waru" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "Je Waru" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "Qi Waru" #: ../src/cards.c:89 msgid "the king of spades" msgstr "Raja Waru" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "as hati" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "dua hati" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "tiga hati" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "empat hati" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "lima hati" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "enam hati" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "tujuh hati" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "delapan hati" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "sembilan hati" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "sepuluh hati" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "Je Hati" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "Qi Hati" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "Raja Hati" #: ../src/ui.c:60 msgid "Images" msgstr "Gambar" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Permainan Kartu \"HEARTS\" untuk GNOME, dibuat oleh Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "Gaya kartu:" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "Pilih _latar belakang image:" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Pilih aturan permainan" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "Pilih gaya kartu yang ingin dimainkan" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Permainan" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hearts" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Petunjuk" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Pemain" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Pengaturan" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Mulai dari awal" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Pilih gambar sebagai latar belakang" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Silahkan pilih lawan yang diinginkan, atau pilih bila ingin " "komputer memilihkan lawan untuk anda" #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Style" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Kontrol" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "_Timur:" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "Layar Penuh" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Permainan" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "Bantuan" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "Petunjuk" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Leave fullscreen" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "_Utara:" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Redo move" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Restart" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Nilai" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statusbar" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Panel" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Batalkan langkah" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Tampilan" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Farid Azis https://launchpad.net/~mfaridazis\n" " karina dwityaning https://launchpad.net/~k-29convenience" gnome-hearts-0.3/po/hu.po0000644000175000017500000002331411042105057012256 00000000000000# Hungarian translation for hearts # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2006-12-29 12:08+0000\n" "Last-Translator: FULL NAME \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: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Pontok" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Válasszon ki három kártyát, amit át szeretne adni." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "Kattintson a kártyára, amelyikkel kezdi a játékot." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Vége a játéknak - Ön nyert!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Vége a játéknak - Ön vesztett" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Kattintson valahová egy új játék kezdéséhez." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Kattintson valahová a játék folytatásához." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Tegye ezt: %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "Kattintson %s paklijára a kártyák átadásához." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Adja át: %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Bocsánat, nem segíthetek." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "treff ász" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "treff kettes" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "treff hármas" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "treff négyes" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "treff ötös" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "treff hatos" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "treff hetes" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "treff nyolcas" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "treff kilences" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "treff tizes" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "treff bubi" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "treff dáma" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "treff király" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "káró ász" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "káró kettes" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "káró hármas" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "káró négyes" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "káró ötös" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "káró hatos" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "káró hetes" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "káró nyolcas" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "káró kilences" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "káró tizes" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "káró bubi" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "káró dáma" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "káró király" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "pikk ász" #: ../src/cards.c:78 msgid "the two of spades" msgstr "pikk kettes" #: ../src/cards.c:79 msgid "the three of spades" msgstr "pikk hármas" #: ../src/cards.c:80 msgid "the four of spades" msgstr "pikk négyes" #: ../src/cards.c:81 msgid "the five of spades" msgstr "pikk ötös" #: ../src/cards.c:82 msgid "the six of spades" msgstr "pikk hatos" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "pikk hetes" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "pikk nyolcas" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "pikk kilences" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "pikk tizes" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "pikk bubi" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "pikk dáma" #: ../src/cards.c:89 msgid "the king of spades" msgstr "pikk király" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "kör ász" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "kör kettes" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "kör hármas" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "kör négyes" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "kör ötös" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "kör hatos" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "kör hetes" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "kör nyolcas" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "kör kilences" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "kör tizes" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "kör bubi" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "kör dáma" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "kör király" #: ../src/ui.c:60 msgid "Images" msgstr "Képek" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Sander Marechal \"Fekete Macska\" játéka GNOME alá" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "Válassza ki a játék szabályait, és adjon meg néhány úriember szabályt" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Játék" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Fekete Macska" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Tipp" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Alternatív Omnibus\n" "Spot Hearts\n" "Általános" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Játékosok" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Beállítások" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Újraindítás" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Válasszon egy háttérképet" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Válassza ki azokat a játékosokat, akik ellen játszani szeretne, vagy " "válassza a gombot, hogy a számítógép válasszon Önnek." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Stílus" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Vezérlés" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Teljes képernyő" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Játék" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "_Súgó" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "T_ipp" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Kilépés a teljes képernyőből" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Előrelépés" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Újraindítás" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Pontok" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Állapotsor" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Eszköztár" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Visszalépés" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_Nézet" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " ntomasz https://launchpad.net/~ntomasz" gnome-hearts-0.3/po/tl.po0000644000175000017500000002337111042105057012264 00000000000000# Tagalog translation for hearts # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the hearts package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: hearts\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-06-05 07:45+0200\n" "PO-Revision-Date: 2007-08-15 15:25+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Tagalog \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-02-13 22:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. set the score window title #: ../src/hearts.c:89 msgid "Scores" msgstr "Mga Tala" #: ../src/hearts.c:141 ../src/hearts.c:183 msgid "Select three cards that you wish to pass on." msgstr "Humirang ng tatlong baraha na gusto mong ipasa." #. redraw the screen #: ../src/hearts.c:146 ../src/hearts.c:188 ../src/events.c:205 #: ../src/events.c:233 msgid "Click on the card you wish to play." msgstr "I-click ang barahang gusto mong laruin." #: ../src/hearts.c:299 msgid "Game over - You have won!" msgstr "Tapos na - Nanalo ka!" #: ../src/hearts.c:301 msgid "Game over - You have lost" msgstr "Tapos na - Natalo ka" #: ../src/hearts.c:303 msgid "Click somewhere to start a new game." msgstr "Mag-click kahit saan para magsimula ng panibagong laro." #. redraw the screen #: ../src/hearts.c:307 ../src/hearts.c:482 ../src/events.c:181 #: ../src/events.c:270 msgid "Click somewhere to continue the game." msgstr "Mag-click kahit saan para ipagpatuloy ang laro." #. Hint: %s is the name of the card the player should play #: ../src/hearts.c:486 #, c-format msgid "Play %s." msgstr "Play %s." #: ../src/hearts.c:491 ../src/events.c:192 #, c-format msgid "Click on the hand of %s to pass the cards." msgstr "I-click ang kamay ni %s para ipasa ang mga baraha." #. Hint: %s is the name of the card the player should pass on #: ../src/hearts.c:503 #, c-format msgid "Pass %s." msgstr "Pasa sa %s." #: ../src/hearts.c:507 msgid "Sorry, I can't help you." msgstr "Paumanhin, hindi kita matutulungan." #: ../src/cards.c:39 msgid "the ace of clubs" msgstr "Alas ng clubs" #: ../src/cards.c:40 msgid "the two of clubs" msgstr "Dos ng clubs" #: ../src/cards.c:41 msgid "the three of clubs" msgstr "tres ng clubs" #: ../src/cards.c:42 msgid "the four of clubs" msgstr "kuwatro ng clubs" #: ../src/cards.c:43 msgid "the five of clubs" msgstr "singko ng clubs" #: ../src/cards.c:44 msgid "the six of clubs" msgstr "sais ng clubs" #: ../src/cards.c:45 msgid "the seven of clubs" msgstr "siyete ng clubs" #: ../src/cards.c:46 msgid "the eight of clubs" msgstr "otso ng clubs" #: ../src/cards.c:47 msgid "the nine of clubs" msgstr "nuebe ng clubs" #: ../src/cards.c:48 msgid "the ten of clubs" msgstr "diyes ng clubs" #: ../src/cards.c:49 msgid "the jack of clubs" msgstr "jack ng clubs" #: ../src/cards.c:50 msgid "the queen of clubs" msgstr "reyna ng clubs" #: ../src/cards.c:51 msgid "the king of clubs" msgstr "hari ng clubs" #: ../src/cards.c:58 msgid "the ace of diamonds" msgstr "alas ng diamonds" #: ../src/cards.c:59 msgid "the two of diamonds" msgstr "dos ng diamonds" #: ../src/cards.c:60 msgid "the three of diamonds" msgstr "tres ng diamonds" #: ../src/cards.c:61 msgid "the four of diamonds" msgstr "kuwatro ng diamonds" #: ../src/cards.c:62 msgid "the five of diamonds" msgstr "singko ng diamonds" #: ../src/cards.c:63 msgid "the six of diamonds" msgstr "sais ng diamonds" #: ../src/cards.c:64 msgid "the seven of diamonds" msgstr "siyete ng diamonds" #: ../src/cards.c:65 msgid "the eight of diamonds" msgstr "otso ng diamonds" #: ../src/cards.c:66 msgid "the nine of diamonds" msgstr "nuebe ng diamonds" #: ../src/cards.c:67 msgid "the ten of diamonds" msgstr "diyes ng diamonds" #: ../src/cards.c:68 msgid "the jack of diamonds" msgstr "jack ng diamonds" #: ../src/cards.c:69 msgid "the queen of diamonds" msgstr "reyna ng diamonds" #: ../src/cards.c:70 msgid "the king of diamonds" msgstr "hari ng diamonds" #. Motörhead! :-) #: ../src/cards.c:77 msgid "the ace of spades" msgstr "alas ng spades" #: ../src/cards.c:78 msgid "the two of spades" msgstr "dos ng spades" #: ../src/cards.c:79 msgid "the three of spades" msgstr "tres ng spades" #: ../src/cards.c:80 msgid "the four of spades" msgstr "kuwatro ng spades" #: ../src/cards.c:81 msgid "the five of spades" msgstr "singko ng spades" #: ../src/cards.c:82 msgid "the six of spades" msgstr "sais ng spades" #: ../src/cards.c:83 msgid "the seven of spades" msgstr "siyete ng spades" #: ../src/cards.c:84 msgid "the eight of spades" msgstr "otso ng spades" #: ../src/cards.c:85 msgid "the nine of spades" msgstr "nuebe ng spades" #: ../src/cards.c:86 msgid "the ten of spades" msgstr "diyes ng spades" #: ../src/cards.c:87 msgid "the jack of spades" msgstr "jack ng spades" #: ../src/cards.c:88 msgid "the queen of spades" msgstr "reyna ng spades" #: ../src/cards.c:89 msgid "the king of spades" msgstr "hari ng spades" #: ../src/cards.c:96 msgid "the ace of hearts" msgstr "alas ng hearts" #: ../src/cards.c:97 msgid "the two of hearts" msgstr "dos ng hearts" #: ../src/cards.c:98 msgid "the three of hearts" msgstr "tres ng hearts" #: ../src/cards.c:99 msgid "the four of hearts" msgstr "kuwatro ng hearts" #: ../src/cards.c:100 msgid "the five of hearts" msgstr "singko ng hearts" #: ../src/cards.c:101 msgid "the six of hearts" msgstr "sais ng hearts" #: ../src/cards.c:102 msgid "the seven of hearts" msgstr "siyete ng hearts" #: ../src/cards.c:103 msgid "the eight of hearts" msgstr "otso ng hearts" #: ../src/cards.c:104 msgid "the nine of hearts" msgstr "nuebe ng hearts" #: ../src/cards.c:105 msgid "the ten of hearts" msgstr "diyes ng hearts" #: ../src/cards.c:106 msgid "the jack of hearts" msgstr "jack ng hearts" #: ../src/cards.c:107 msgid "the queen of hearts" msgstr "reyna ng hearts" #: ../src/cards.c:108 msgid "the king of hearts" msgstr "hari ng hearts" #: ../src/ui.c:60 msgid "Images" msgstr "Mga Larawan" #: ../src/gnome-hearts.glade.h:1 msgid "A hearts game for GNOME by Sander Marechal" msgstr "Isang laro ng hearts para sa GNOME ni Sander Marechal" #: ../src/gnome-hearts.glade.h:2 msgid "Car_d style:" msgstr "" #: ../src/gnome-hearts.glade.h:3 msgid "Choose a _background image:" msgstr "" #: ../src/gnome-hearts.glade.h:4 msgid "Choose a ruleset for the game and set some gentleman's rules" msgstr "" "Pumili ng mga pamamalakad para sa laro at magbigay ng \"gentleman's rules\"" #: ../src/gnome-hearts.glade.h:5 msgid "Choose the style of the cards you wish to play with" msgstr "" #: ../src/gnome-hearts.glade.h:6 msgid "Copyright 2006-2007, Stichting Lone Wolves" msgstr "" #: ../src/gnome-hearts.glade.h:7 msgid "Game" msgstr "Game" #. The name of the game, not the type of card #: ../src/gnome-hearts.glade.h:9 msgid "Hearts" msgstr "Hearts" #: ../src/gnome-hearts.glade.h:10 msgid "Hearts must be \"_broken\" before leading the trick" msgstr "" #: ../src/gnome-hearts.glade.h:11 msgid "Hint" msgstr "Hint" #: ../src/gnome-hearts.glade.h:12 msgid "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" msgstr "" "Omnibus\n" "Omnibus Alternative\n" "Spot Hearts\n" "Standard" #: ../src/gnome-hearts.glade.h:16 msgid "Players" msgstr "Mga manlalaro" #: ../src/gnome-hearts.glade.h:17 msgid "Preferences" msgstr "Mga Kagustuhan" #: ../src/gnome-hearts.glade.h:18 msgid "Restart" msgstr "Restart" #: ../src/gnome-hearts.glade.h:19 msgid "Select a background image" msgstr "Pumili ng larawang pang-background" #: ../src/gnome-hearts.glade.h:20 msgid "" "Select which players you wish to play against, or choose to have " "the computer pick one for you." msgstr "" "Piliin kung sino-sinong mga manlalaro ang gusto mong kalabanin, o piliin " " para ipagpili ka ng computer." #: ../src/gnome-hearts.glade.h:21 msgid "Style" msgstr "Estilo" #: ../src/gnome-hearts.glade.h:22 msgid "_Control" msgstr "_Control" #: ../src/gnome-hearts.glade.h:23 msgid "_East:" msgstr "" #: ../src/gnome-hearts.glade.h:24 msgid "_Fullscreen" msgstr "_Fullscreen" #: ../src/gnome-hearts.glade.h:25 msgid "_Game" msgstr "_Game" #: ../src/gnome-hearts.glade.h:26 msgid "_Help" msgstr "Tulong" #: ../src/gnome-hearts.glade.h:27 msgid "_Hint" msgstr "_Hint" #: ../src/gnome-hearts.glade.h:28 msgid "_Leave fullscreen" msgstr "_Leave fullscreen" #: ../src/gnome-hearts.glade.h:29 msgid "_North:" msgstr "" #: ../src/gnome-hearts.glade.h:30 msgid "_Point cards may not be played on the first trick" msgstr "" #: ../src/gnome-hearts.glade.h:31 msgid "_Queen of Spades breaks hearts" msgstr "" #: ../src/gnome-hearts.glade.h:32 msgid "_Redo move" msgstr "_Redo move" #: ../src/gnome-hearts.glade.h:33 msgid "_Restart" msgstr "_Restart" #: ../src/gnome-hearts.glade.h:34 msgid "_Ruleset:" msgstr "" #: ../src/gnome-hearts.glade.h:35 msgid "_Scores" msgstr "_Scores" #: ../src/gnome-hearts.glade.h:36 msgid "_Show the player scores next to their name" msgstr "" #: ../src/gnome-hearts.glade.h:37 msgid "_Statusbar" msgstr "_Statusbar" #: ../src/gnome-hearts.glade.h:38 msgid "_Stretch image" msgstr "" #: ../src/gnome-hearts.glade.h:39 msgid "_Tile image" msgstr "" #: ../src/gnome-hearts.glade.h:40 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/gnome-hearts.glade.h:41 msgid "_Two of clubs leads the round" msgstr "" #: ../src/gnome-hearts.glade.h:42 msgid "_Undo move" msgstr "_Undo move" #: ../src/gnome-hearts.glade.h:43 msgid "_View" msgstr "_View" #: ../src/gnome-hearts.glade.h:44 msgid "_West:" msgstr "" #. The game, not the type of card. #: ../src/gnome-hearts.glade.h:46 msgid "gnome-hearts 0.3" msgstr "" #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/gnome-hearts.glade.h:48 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Arielle B Cruz https://launchpad.net/~arielle-cruz" gnome-hearts-0.3/po/Makefile.in.in0000644000175000017500000001532311042174056013762 00000000000000# 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 = /bin/sh 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; 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`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_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="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = 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 $(mkdir_p) $(DESTDIR)$(itlocaledir) 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 tags 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: gnome-hearts-0.3/ChangeLog0000644000175000017500000006332411042107575012452 000000000000002008-07-24 sander * [r206] /branches/0.3.x: Branching version 0.3 for release * [r205] /trunk/NEWS: Updated NEWS * [r204] /trunk/man/gnome-hearts.6: Update man page * [r203] /trunk/help/C/gnome-hearts.xml, /trunk/help/nl/gnome-hearts.xml, /trunk/po/nl.po: Updated the documentation * [r202] /trunk/src/gnome-hearts.glade: Update Glade file to new glade version * [r201] /trunk/configure.in, /trunk/po/da.po, /trunk/po/de.po, /trunk/po/el.po, /trunk/po/en_GB.po, /trunk/po/es.po, /trunk/po/eu.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/hu.po, /trunk/po/id.po, /trunk/po/it.po, /trunk/po/ml.po, /trunk/po/nl.po, /trunk/po/pl.po, /trunk/po/pt.po, /trunk/po/pt_BR.po, /trunk/po/ru.po, /trunk/po/sk.po, /trunk/po/sv.po, /trunk/po/tl.po, /trunk/po/zh_CN.po, /trunk/src/gnome-hearts.glade: Bump version number to 0.3 * [r200] /trunk/AUTHORS, /trunk/scripts/players/Makefile.am, /trunk/scripts/players/peter.py: Added the Peter AI. Thanks go to Charles Crayne * [r199] /trunk/src/cfg.c, /trunk/src/cfg.h, /trunk/src/hearts.c: New rules should be published when a new game starts, which is before a configuration change is saved 2008-07-23 sander * [r198] /trunk/src/events.c: Update queen_breaks_hearts when hearts_break changes * [r197] /trunk/po/da.po, /trunk/po/de.po, /trunk/po/el.po, /trunk/po/en_GB.po, /trunk/po/es.po, /trunk/po/eu.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/hu.po, /trunk/po/id.po, /trunk/po/it.po, /trunk/po/ml.po, /trunk/po/nl.po, /trunk/po/pl.po, /trunk/po/pt.po, /trunk/po/pt_BR.po, /trunk/po/ru.po, /trunk/po/sk.po, /trunk/po/sv.po, /trunk/po/tl.po, /trunk/po/zh_CN.po: Updated translations * [r196] /trunk/scripts/hearts.py.in, /trunk/scripts/player.py, /trunk/scripts/players/jake.py, /trunk/scripts/players/john.py, /trunk/scripts/players/ling.py, /trunk/scripts/players/luis.py, /trunk/scripts/players/mike.py, /trunk/scripts/players/pauline.py, /trunk/src/cfg.c, /trunk/src/player.c: Add a python object for the game rules 2008-06-05 sander * [r195] /trunk/src/cards.h, /trunk/src/hearts.h, /trunk/src/ui.c: Fixed gettext macro conflict caused by gnome.h now including glib/gi18n.h in libgnomeui 2.20 * [r194] /trunk/src/hearts.c: Prepare commandline options for i18n 2008-06-04 sander * [r193] /trunk/scripts/player.py, /trunk/src/cards.c, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h: Add AI callback to show cards received when passing cards. Fixes bug #31 2008-06-03 sander * [r192] /trunk/scripts/player.py, /trunk/scripts/players/jake.py, /trunk/scripts/players/ling.py, /trunk/scripts/players/luis.py, /trunk/scripts/stock_ai.py, /trunk/src/player.c, /trunk/src/player.h: AI API change: select_cards now takes a variable indicating which direction the cards are passed * [r191] /trunk/scripts/players/ling.py: Turn off debug output from Ling * [r190] /trunk/src/hearts.c: Update trick and score when (re)starting round 2008-05-30 sander * [r189] /trunk/src/cfg.h, /trunk/src/hearts.c: Add commandline option parsen and an option to show all cards * [r188] /trunk/scripts/players/ling.py: Revert part of r187. There was an unrelated change in the Ling AI * [r187] /trunk/scripts/players/ling.py, /trunk/src/events.c: Make an extra check on the card played by the user. Fixes bug #30 * [r186] /trunk/src/cfg.c, /trunk/src/cfg.h: Store configuration according to the XDG Base Directory Specification 2008-05-29 sander * [r185] /trunk/src/cfg.c, /trunk/src/cfg.h, /trunk/src/events.c, /trunk/src/events.h, /trunk/src/gnome-hearts.cfg.in, /trunk/src/gnome-hearts.glade, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h, /trunk/src/ui.c: Add an option to show the round and game scores next to the player names on the canvas. Thanks to Sven Carlberg * [r184] /trunk/src/cfg.c, /trunk/src/cfg.h, /trunk/src/events.c, /trunk/src/events.h, /trunk/src/gnome-hearts.cfg.in, /trunk/src/gnome-hearts.glade, /trunk/src/ui.c: Added option to make Queen of Spades break hearts as well. Thanks to Sven Carlberg 2008-05-28 sander * [r183] /trunk/AUTHORS: Updated AUTHORS 2008-05-27 sander * [r182] /trunk/scripts/stock_ai.py: stock AI was still using the wrong point sorting function in one place * [r181] /trunk/scripts/stock_ai.py, /trunk/src/cards.c: Many improvements to the stock AI, thanks to Sven Carlberg 2008-04-14 sander * [r180] /trunk/scripts/players/ling.py: Note alternate names for Ling 2008-04-13 sander * [r179] /trunk/scripts/players/Makefile.am, /trunk/scripts/players/ling.py: Added a new AI called Ling. It is based off Jake but more sophisticated and can stop players from Shooting the Moon (by Jesse Hughes) * [r178] /trunk/scripts/players/jake.py: Fixed some logic bugs in Jake (by Jesse Huges) 2008-03-28 sander * [r177] /trunk/scripts/hearts.py.in, /trunk/scripts/player.py, /trunk/scripts/players/jake.py, /trunk/scripts/players/john.py, /trunk/scripts/players/luis.py, /trunk/scripts/players/mike.py, /trunk/scripts/players/pauline.py, /trunk/src/hearts.c, /trunk/src/player.c: Pass score tables to the players 2008-03-13 sander * [r176] /trunk/scripts/players/jake.py: Fixed all the bugs in the Jake AI. It rocks :-) 2008-03-12 sander * [r175] /trunk/scripts/players/Makefile.am, /trunk/scripts/players/jake.py: Added Jake, a new card-counting AI by Jesse Hughes * [r174] /trunk/scripts/definitions.py: Make standard card filters work on the trick as well 2008-03-09 sander * [r173] /trunk/AUTHORS, /trunk/ChangeLog, /trunk/NEWS, /trunk/README, /trunk/configure.in, /trunk/help/Makefile.am, /trunk/help/de, /trunk/help/en_GB/gnome-hearts.xml, /trunk/help/es, /trunk/help/it/gnome-hearts.xml, /trunk/help/pl/gnome-hearts.xml, /trunk/help/tl/gnome-hearts.xml, /trunk/help/zh_CN, /trunk/po/LINGUAS, /trunk/po/da.po, /trunk/po/de.po, /trunk/po/el.po, /trunk/po/en_GB.po, /trunk/po/es.po, /trunk/po/eu.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/hu.po, /trunk/po/id.po, /trunk/po/it.po, /trunk/po/ml.po, /trunk/po/nl.po, /trunk/po/pl.po, /trunk/po/pt.po, /trunk/po/pt_BR.po, /trunk/po/ru.po, /trunk/po/sk.po, /trunk/po/sv.po, /trunk/po/tl.po, /trunk/po/zh_CN.po, /trunk/scripts/Makefile.am, /trunk/scripts/definitions.py, /trunk/scripts/hearts.py.in, /trunk/scripts/player.py, /trunk/scripts/players/Makefile.am, /trunk/scripts/players/john.py, /trunk/scripts/players/luis.py, /trunk/scripts/players/mike.py, /trunk/scripts/players/pauline.py, /trunk/scripts/stock_ai.py, /trunk/src/gnome-hearts.glade, /trunk/src/ui.c: porting outstanding changes (r159-170) from 0.2.x branch * [r172] /trunk/ChangeLog, /trunk/NEWS: Porting r153 (NEWS and Changelog updates) tp trunk 2007-10-30 sander * [r158] /trunk/scripts/hearts.py.in: Ported r157 (fix ugly Python Trick bugs) to trunk. Fixes bug #25. 2007-10-27 sander * [r156] /trunk/scripts/players/luis.py: Port r155 to trunk. Fixes bug #24, Luis.py crash. 2007-09-07 sander * [r151] /trunk/configure.in: Updating configure.in * [r150] /trunk/help/C/gnome-hearts.xml: Spelling corrections by Malcolm Parsons. * [r149] /trunk/help/en_GB/gnome-hearts.xml, /trunk/help/it/gnome-hearts.xml, /trunk/help/nl/gnome-hearts.xml, /trunk/help/pl/gnome-hearts.xml, /trunk/help/pt/gnome-hearts.xml, /trunk/help/tl/gnome-hearts.xml: Import translated documentation * [r148] /trunk/help/Makefile.am, /trunk/help/en_GB, /trunk/help/en_GB/Makefile.am, /trunk/help/en_GB/fdl-appendix.xml, /trunk/help/en_GB/gnome-hearts-en_GB.omf, /trunk/help/en_GB/gnome-hearts.xml, /trunk/help/en_GB/legal.xml, /trunk/help/it, /trunk/help/it/Makefile.am, /trunk/help/it/fdl-appendix.xml, /trunk/help/it/gnome-hearts-it.omf, /trunk/help/it/gnome-hearts.xml, /trunk/help/it/legal.xml, /trunk/help/nl/gnome-hearts-nl.omf, /trunk/help/pt, /trunk/help/pt/Makefile.am, /trunk/help/pt/fdl-appendix.xml, /trunk/help/pt/gnome-hearts-pt.omf, /trunk/help/pt/gnome-hearts.xml, /trunk/help/pt/legal.xml, /trunk/help/tl, /trunk/help/tl/Makefile.am, /trunk/help/tl/fdl-appendix.xml, /trunk/help/tl/gnome-hearts-tl.omf, /trunk/help/tl/gnome-hearts.xml, /trunk/help/tl/legal.xml, /trunk/po/LINGUAS, /trunk/po/da.po, /trunk/po/de.po, /trunk/po/en_GB.po, /trunk/po/es.po, /trunk/po/eu.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/hu.po, /trunk/po/id.po, /trunk/po/it.po, /trunk/po/ml.po, /trunk/po/nl.po, /trunk/po/pl.po, /trunk/po/pt.po, /trunk/po/pt_BR.po, /trunk/po/ru.po, /trunk/po/sv.po, /trunk/po/tl.po, /trunk/po/zh_CN.po: Updated game translations and added structure for doc translations. 2007-09-02 sander * [r147] /trunk/scripts/hearts.py.in: Fixed a regression from r146. 2007-08-30 sander * [r146] /trunk/scripts/definitions.py, /trunk/scripts/players/luis.py, /trunk/scripts/stock_ai.py: Some bugfixes to the Python Player API 2007-08-28 sander * [r145] /trunk/src/gnome-hearts.glade: Changed the signal on About dialog from "close" to "response". 2007-08-27 sander * [r144] /trunk/src/gnome-hearts.glade: Added "close" signal to dialog box * [r143] /trunk/po/POTFILES.in, /trunk/src/gnome-hearts.glade: Added delete_event signals to "about" and "hint" windows. * [r142] /trunk/AUTHORS, /trunk/NEWS, /trunk/help/C/gnome-hearts.xml, /trunk/help/nl/gnome-hearts.xml, /trunk/help/pl/gnome-hearts.xml, /trunk/scripts/players/luis.py, /trunk/scripts/stock_ai.py: Bringing documentation up to date for version 0.2 2007-08-25 sander * [r141] /trunk/src/gnome-hearts.cfg.in, /trunk/src/gnome-hearts.glade: Fixed bug where a new ~/.gnome-hearts.cfg would be made each time. * [r140] /trunk/configure.in, /trunk/src/gnome-hearts.glade: Bump version number to 0.2 * [r139] /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/player-api.c, /trunk/src/player.c, /trunk/src/player.h: Rewrote the cards point counting system. Fixes bug #18 2007-08-24 sander * [r138] /trunk/src/background.c, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.h, /trunk/src/ui.c, /trunk/src/ui.h: Fixing the last bugs from the C rewrite. * [r137] /trunk/src/background.c, /trunk/src/background.h, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.h, /trunk/src/player-api.c, /trunk/src/player.c, /trunk/src/player.h, /trunk/src/ui.c, /trunk/src/ui.h: More fixes to the big C overhaul from r134 and r136. * [r136] /trunk/src/background.c, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/ui.c, /trunk/src/ui.h: Fixed the build and run errors of r134. It runs, but doesn't do anything yet. * [r135] /trunk/src/gnome-hearts.cfg.in: Fixed a typo in the config. Closes bug #17. * [r134] /trunk/scripts/hearts.py.in, /trunk/scripts/players/john.py, /trunk/scripts/players/luis.py, /trunk/scripts/players/mike.py, /trunk/scripts/players/pauline.py, /trunk/src/Makefile.am, /trunk/src/background.c, /trunk/src/background.h, /trunk/src/cfg.c, /trunk/src/cfg.h, /trunk/src/events.c, /trunk/src/events.h, /trunk/src/gnome-hearts.cfg.in, /trunk/src/hearts.c, /trunk/src/hearts.h, /trunk/src/player-api.c, /trunk/src/player-api.h, /trunk/src/player.c, /trunk/src/ui.c, /trunk/src/ui.h: Committing the bulk part of a major C code overhaul. Doesn't compile (yet\!). 2007-08-23 sander * [r133] /trunk/bootstrap, /trunk/configure.in, /trunk/m4, /trunk/m4/python.m4: Adding check for python headers in configure. Fixes bug #20. 2007-08-17 sander * [r132] /trunk/configure.in: Fixed PYTHON_DIR issue. * [r131] /trunk/bootstrap: Removed unnecessary m4 macro. 2006-12-15 sander * [r130] /trunk/scripts/definitions.py, /trunk/scripts/players/Makefile.am, /trunk/scripts/players/luis.py, /trunk/src/hearts.c: Ported Luis AI to Python 2006-12-14 sander * [r129] /trunk/src/hearts.h: Some typo's fixed * [r128] /trunk/scripts/stock_ai.py, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h: Add trick reference to player class * [r127] /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h: Finished new hint API * [r126] /trunk/scripts/hearts.py.in, /trunk/scripts/player.py, /trunk/scripts/players/john.py, /trunk/scripts/players/mike.py, /trunk/scripts/players/pauline.py, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h: Fix player names and hints (partially) 2006-12-12 sander * [r125] /trunk/configure.in, /trunk/scripts/Makefile.am, /trunk/scripts/hearts.py, /trunk/scripts/hearts.py.in, /trunk/scripts/players/Makefile.am, /trunk/src/gnome-hearts.cfg.in, /trunk/src/hearts.c: Fixed the autobuild system for Python 2006-12-11 sander * [r123] /trunk/scripts/hearts.py, /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h: Cleaning up the Python API code a bit 2006-12-10 sander * [r122] /trunk/scripts/Makefile.am, /trunk/scripts/definitions.py, /trunk/scripts/hearts.py, /trunk/scripts/player.py, /trunk/scripts/stock_ai.py, /trunk/src/hearts.c, /trunk/src/player-api.c, /trunk/src/player.c: Patched the Python interface so the game actually runs again 2006-12-08 sander * [r121] /trunk/configure.in, /trunk/src/Makefile.am, /trunk/src/cards.c, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.h, /trunk/src/player-api.c, /trunk/src/player-api.h, /trunk/src/player.c: Second draft. And this one builds too! * [r120] /trunk/configure.in, /trunk/scripts/Makefile.am, /trunk/scripts/example_player.lua, /trunk/scripts/hearts.lua, /trunk/scripts/hearts.py, /trunk/scripts/player.py, /trunk/scripts/players/John.lua, /trunk/scripts/players/Luis.lua, /trunk/scripts/players/Makefile.am, /trunk/scripts/players/Mike.lua, /trunk/scripts/players/Pauline.lua, /trunk/scripts/players/john.py, /trunk/scripts/players/mike.py, /trunk/scripts/players/pauline.py, /trunk/scripts/stock_ai.lua, /trunk/scripts/stock_ai.py, /trunk/src/Makefile.am, /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/hearts.c, /trunk/src/hearts.h, /trunk/src/player-api.c, /trunk/src/player-api.h, /trunk/src/player.c, /trunk/src/player.h: FTBFS: First draft of Python version 2006-11-06 sander * [r119] /trunk/configure.in, /trunk/help/pl/Makefile.am: Ported r118 (Polish doc update) from branches/0.1.x * [r115] /trunk/help/Makefile.am, /trunk/help/pl, /trunk/po/de.po, /trunk/po/es.po, /trunk/po/eu.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/pt_BR.po, /trunk/po/zh_CN.po: Ported r114 (translations) from branch 0.1.x 2006-11-02 sander * [r112] /trunk/src/hearts.c, /trunk/src/hearts.h: Ported r111 (Backup card style) from 0.1.x branch 2006-08-14 sander * [r109] /trunk/src/gnome-hearts.glade: Added Christian Persch's UI HIG compience patch 2006-08-03 sander * [r104] /trunk/src/hearts.c: ported r103 (end_round hook fix) from branches/0.1.x 2006-07-31 sander * [r102] /trunk/po/LINGUAS: Forgot to update LINGUAS 2006-07-30 sander * [r101] /trunk/po/da.po, /trunk/po/de.po, /trunk/po/eu.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/nl.po, /trunk/po/pl.po, /trunk/po/pt.po, /trunk/po/sv.po, /trunk/po/zh_CN.po: merged rosetta translations * [r100] /trunk/AUTHORS, /trunk/COPYING-DOCS, /trunk/ChangeLog, /trunk/Makefile.am, /trunk/NEWS, /trunk/README, /trunk/TODO, /trunk/bootstrap, /trunk/configure.in, /trunk/gnome-hearts.desktop.in, /trunk/hearts.desktop.in, /trunk/help/C/Makefile.am, /trunk/help/C/gnome-hearts-C.omf, /trunk/help/C/gnome-hearts.xml, /trunk/help/C/hearts-C.omf, /trunk/help/C/hearts.xml, /trunk/help/nl/Makefile.am, /trunk/help/nl/gnome-hearts-nl.omf, /trunk/help/nl/gnome-hearts.xml, /trunk/help/nl/hearts-nl.omf, /trunk/help/nl/hearts.xml, /trunk/man, /trunk/pixmaps/Makefile.am, /trunk/pixmaps/gnome-hearts-small.png, /trunk/pixmaps/gnome-hearts.png, /trunk/pixmaps/hearts-icon-small.png, /trunk/pixmaps/hearts-icon.png, /trunk/po/LINGUAS, /trunk/po/POTFILES.in, /trunk/po/de.po, /trunk/po/es.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/nl.po, /trunk/po/pt.po, /trunk/po/pt_BR.po, /trunk/scripts/Makefile.am, /trunk/scripts/players/John.lua, /trunk/scripts/players/Makefile.am, /trunk/scripts/players/Mike.lua, /trunk/scripts/players/Pauline.lua, /trunk/src/Makefile.am, /trunk/src/cards.h, /trunk/src/events.c, /trunk/src/gnome-hearts.cfg.in, /trunk/src/gnome-hearts.glade, /trunk/src/hearts.c, /trunk/src/hearts.cfg.in, /trunk/src/hearts.glade, /trunk/src/lua.c, /trunk/src/lua.h, /trunk/src/player-api.c, /trunk/src/player-api.h, /trunk/src/player.c, /trunk/src/player.h: Merge branches/0.1.x @ r97 to the trunk * [r99] /trunk/COPYING-DOCS, /trunk/Makefile.am: Undo r58 2006-06-04 sander * [r58] /trunk/COPYING-DOCS, /trunk/Makefile.am: Added FDL license 2006-06-01 sander * [r55] /trunk/po/LINGUAS, /trunk/po/de.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/nl.po, /trunk/po/pt.po, /trunk/po/pt_BR.po: Merged in latest Rosetta translations * [r54] /trunk/help/C/hearts.xml, /trunk/help/nl/hearts.xml, /trunk/src/hearts.glade: Last UI and documentation fixes * [r53] /trunk/pixmaps/Makefile.am, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.glade: Fixed the help links and gnome initialization * [r52] /trunk/pixmaps/Makefile.am, /trunk/pixmaps/hearts-icon-small.png, /trunk/src/hearts.glade: Several more glade fixes * [r51] /trunk/help/nl/Makefile.am: oops... forgot the makefile changes * [r50] /trunk/help/nl/fdl-appendix.xml, /trunk/help/nl/hearts.xml, /trunk/help/nl/legal.xml: Added dutch legalize in docs * [r49] /trunk/src/hearts.c: hide "leave fullscreen" buttons on startup 2006-05-31 sander * [r48] /trunk/Makefile.am, /trunk/configure.in, /trunk/help/C/Makefile.am, /trunk/help/C/fdl-appendix.xml, /trunk/help/C/hearts-C.omf, /trunk/help/C/hearts.xml, /trunk/help/C/legal.xml, /trunk/help/Makefile.am, /trunk/help/nl/Makefile.am, /trunk/help/nl/hearts-nl.omf, /trunk/omf.make, /trunk/xmldocs.make: Added the documentation to the build system * [r47] /trunk/src/hearts.glade: And one more.... * [r46] /trunk/help/nl/hearts.xml, /trunk/src/events.c, /trunk/src/hearts.glade: A bunch of glade fixes. Thanks to Alan Horkan for the review 2006-05-30 sander * [r45] /trunk/help/nl, /trunk/help/nl/hearts.xml, /trunk/po/LINGUAS, /trunk/po/de.po, /trunk/po/fi.po, /trunk/po/fr.po, /trunk/po/nl.po, /trunk/po/pt_BR.po: merged rosetta translations in 2006-05-28 sander * [r44] /trunk/src/hearts.c, /trunk/src/hearts.glade: Replaced radio buttons with checkboxed according to HIG 2006-05-26 sander * [r43] /trunk/help/C/hearts.xml, /trunk/scripts/hearts.lua, /trunk/scripts/players/Luis.lua, /trunk/scripts/players/Makefile.am, /trunk/scripts/stock_ai.lua: added Luis AI based on KDE hearts 2006-05-24 sander * [r42] /trunk/help, /trunk/help/C, /trunk/help/C/hearts.xml: English Docbook XML manual added 2006-05-23 sander * [r41] /trunk/src/events.c, /trunk/src/events.h, /trunk/src/hearts.glade: Tweaked the menu and added an online help item * [r40] /trunk/src/cards.c, /trunk/src/hearts.c, /trunk/src/hearts.glade: Added some comments for translators 2006-05-22 sander * [r39] /trunk/src/cards.c, /trunk/src/events.c: Fixed a bug that caused unnecesary redraws of active cards * [r38] /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.glade, /trunk/src/hearts.h: Added messages to the status bar 2006-05-18 sander * [r37] /trunk/src/hearts.c, /trunk/src/hearts.glade: The "no blood on the first trick" now applies to the queen of spades as well * [r36] /trunk/po/POTFILES.in, /trunk/po/nl.po, /trunk/scripts/stock_ai.lua, /trunk/src/Makefile.am, /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/events.c, /trunk/src/events.h, /trunk/src/gettext.h, /trunk/src/hearts.c, /trunk/src/hearts.glade, /trunk/src/hearts.h, /trunk/src/lua.c, /trunk/src/lua.h, /trunk/src/player.c: Hint function implemented and player functions cleaned up * [r35] /trunk/src/events.c, /trunk/src/events.h, /trunk/src/hearts.c, /trunk/src/hearts.glade: more score table fixes from Tom Hargreaves 2006-05-17 sander * [r34] /trunk/po/nl.po: reverted r33. Silly me.... I should read before I change :-) * [r33] /trunk/po/nl.po: wrong charset in nl.po * [r32] /trunk/src/hearts.c, /trunk/src/hearts.glade: Score table alignment fix by Tom Hargreaves and a fix for the player names 2006-05-16 sander * [r31] /trunk/po/nl.po, /trunk/src/hearts.glade: Changed "Cards" to "Style" and updated the po files * [r30] /trunk/src/events.c, /trunk/src/hearts.c: A better fix for the gtk_file_chooser crasher bug 2006-05-15 sander * [r29] /trunk/src/hearts.c: Removed GTK double buffering 2006-05-14 sander * [r28] /trunk/src/hearts.c: fixed a bug caused by changed gtk_main() behaviour 2006-05-08 sander * [r27] /trunk/configure.in, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.cfg, /trunk/src/hearts.cfg.in, /trunk/src/hearts.glade, /trunk/src/hearts.h: Background chooser added and fix to card style preference 2006-05-07 sander * [r26] /trunk/src/hearts.c: cleaned up main() * [r25] /trunk/src/hearts.c, /trunk/src/hearts.cfg: version checking of the user's ~/.hearts.cfg * [r24] /trunk/src/events.c, /trunk/src/hearts.c: Preferences screen shows card style changes immediately and only starts a new game on rule or AI changes 2006-05-06 sander * [r23] /trunk/bootstrap, /trunk/configure.in: build system fixes 2006-05-04 sander * [r22] /trunk/src/cards-image.c, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.cfg, /trunk/src/hearts.glade, /trunk/src/hearts.h: card style preference works and uses the gnome-games cards as well as the hearts cards * [r21] /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/player.h: "Shooting the moon" implemented 2006-05-03 sander * [r20] /trunk/src/cards-image.c, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/player.c, /trunk/src/preimage.c: fixed a bunch of (big) memory leaks * [r19] /trunk/bootstrap, /trunk/configure.in: a few build system fixes 2006-05-01 sander * [r18] /trunk/po/nl.po, /trunk/src/hearts.c, /trunk/src/hearts.glade: Game ends correctly at 100 or 500 points * [r17] /trunk/src/hearts.c: fix for non-ext2 filesystems 2006-04-30 sander * [r16] /trunk/AUTHORS: added contributors 2006-04-28 sander * [r15] /trunk/AUTHORS, /trunk/scripts/example_player.lua, /trunk/scripts/hearts.lua, /trunk/scripts/players/John.lua, /trunk/scripts/players/Mike.lua, /trunk/scripts/players/Pauline.lua, /trunk/scripts/stock_ai.lua, /trunk/src/cards-image.c, /trunk/src/cards-image.h, /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/events.c, /trunk/src/events.h, /trunk/src/hearts.c, /trunk/src/hearts.h, /trunk/src/lua.c, /trunk/src/lua.h, /trunk/src/player.c, /trunk/src/player.h, /trunk/src/preimage.c, /trunk/src/preimage.h: added proper copyright statements, GPL stuff, etcetera 2006-04-27 sander * [r14] /trunk/src/cards.c: omnibus rules bugfix 2006-04-24 sander * [r13] /trunk/Makefile.am, /trunk/scripts/Makefile.am, /trunk/scripts/players/Makefile.am, /trunk/src/Makefile.am: Fixed the dist and distclean make targets * [r12] /trunk/hearts.desktop.in, /trunk/pixmaps/Makefile.am, /trunk/pixmaps/hearts-icon.png, /trunk/pixmaps/hearts-icon.xpm: Replaced xpm icon with png icon 2006-04-23 sander * [r11] /trunk/hearts.desktop.in: Fixed hearts.desktop.in * [r10] /trunk/po/nl.po, /trunk/src/hearts.glade: Dutch translation * [r9] /trunk/po/LINGUAS, /trunk/po/en.po: Removed en.po since the strings in the code are english * [r8] /trunk/Makefile.am: Fixed .desktop i18n issue * [r7] /trunk/configure.in: Fix for intltool < 0.34.90 * [r6] /trunk/Makefile.am, /trunk/bootstrap, /trunk/configure.in, /trunk/hearts.desktop.in: Added .desktop file 2006-04-22 sander * [r5] /trunk/scripts/players/John.lua, /trunk/scripts/players/Mike.lua, /trunk/scripts/players/Pauline.lua, /trunk/scripts/stock_ai.lua, /trunk/src/Makefile.am, /trunk/src/events.c, /trunk/src/hearts.c, /trunk/src/hearts.cfg, /trunk/src/hearts.glade, /trunk/src/player.c, /trunk/src/preimage.c: Fixed the last leftover crasher bugs from the old Anjuta makefile setup. Hearts now runs without crashing. * [r4] /trunk/README, /trunk/bootstrap, /trunk/configure.in: Added a bootstrap script and fixed the bugzilla URL * [r3] /trunk/po/LINGUAS, /trunk/po/nl.po: added dutch translations 2006-04-21 sander * [r2] /trunk/AUTHORS, /trunk/COPYING, /trunk/ChangeLog, /trunk/INSTALL, /trunk/Makefile.am, /trunk/NEWS, /trunk/README, /trunk/TODO, /trunk/configure.in, /trunk/pixmaps, /trunk/pixmaps/Makefile.am, /trunk/pixmaps/baize.png, /trunk/pixmaps/dondorf.svg, /trunk/pixmaps/hearts-icon.xpm, /trunk/po, /trunk/po/ChangeLog, /trunk/po/LINGUAS, /trunk/po/POTFILES.in, /trunk/po/en.po, /trunk/scripts, /trunk/scripts/Makefile.am, /trunk/scripts/example_player.lua, /trunk/scripts/hearts.lua, /trunk/scripts/players, /trunk/scripts/players/John.lua, /trunk/scripts/players/Makefile.am, /trunk/scripts/players/Mike.lua, /trunk/scripts/players/Pauline.lua, /trunk/scripts/stock_ai.lua, /trunk/src, /trunk/src/Makefile.am, /trunk/src/cards-image.c, /trunk/src/cards-image.h, /trunk/src/cards.c, /trunk/src/cards.h, /trunk/src/events.c, /trunk/src/events.h, /trunk/src/hearts.c, /trunk/src/hearts.glade, /trunk/src/hearts.h, /trunk/src/lua.c, /trunk/src/lua.h, /trunk/src/player.c, /trunk/src/player.h, /trunk/src/preimage.c, /trunk/src/preimage.h: Initial project import 2006-04-19 sander * [r1] /branches, /tags, /trunk: Initial repository layout gnome-hearts-0.3/configure0000755000175000017500000072701511042107703012604 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for gnome-hearts 0.3. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 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=: # Zsh 3.x and 4.x performs 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 # PATH needs CR # 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 # 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 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false 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.) as_nl=' ' 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 echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. 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 # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs 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 : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs 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_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. 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" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); 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 } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 fi echo >conf$$.file 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 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=: 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 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, 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= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='gnome-hearts' PACKAGE_TARNAME='gnome-hearts' PACKAGE_VERSION='0.3' PACKAGE_STRING='gnome-hearts 0.3' PACKAGE_BUGREPORT='http://bugzilla.jejik.com/' ac_unique_file="src/hearts.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT SCROLLKEEPER_BUILD_REQUIRED CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE INTLTOOL_UPDATE INTLTOOL_MERGE INTLTOOL_EXTRACT INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_SERVICE_RULE INTLTOOL_POLICY_RULE XGETTEXT MSGMERGE MSGFMT INTLTOOL_PERL ALL_LINGUAS DATADIRNAME PKG_CONFIG GNOME_HEARTS_CFLAGS GNOME_HEARTS_LIBS PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir PYTHON_INCLUDES CPP PYTHON_CFLAGS PYTHON_LIBS PYTHON_DIR SCROLLKEEPER_CONFIG GETTEXT_PACKAGE GREP EGREP USE_NLS MSGFMT_OPTS GMSGFMT CATALOGS CATOBJEXT GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS CONFIG_DATA_DIR LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS PKG_CONFIG GNOME_HEARTS_CFLAGS GNOME_HEARTS_LIBS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false # 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=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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=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 ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && 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'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. 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 case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } 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 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 .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # 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 -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | 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 .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } 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 gnome-hearts 0.3 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/gnome-hearts] --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 _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of gnome-hearts 0.3:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --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 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 C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory PKG_CONFIG path to pkg-config utility GNOME_HEARTS_CFLAGS C compiler flags for GNOME_HEARTS, overriding pkg-config GNOME_HEARTS_LIBS linker flags for GNOME_HEARTS, overriding pkg-config CPP C preprocessor 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" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`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 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 gnome-hearts configure 0.3 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 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 gnome-hearts $as_me 0.3, which was generated by GNU Autoconf 2.61. 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=. 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$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 ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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 cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_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 cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" 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'; { (exit 1); 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 # 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 # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # 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,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 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 { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`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. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } 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 am__api_version='1.10' 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 { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } 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. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS 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 { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$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' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # 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". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}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 $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 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. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&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 { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } 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='gnome-hearts' VERSION='0.3' 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"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&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" # 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 -' ac_config_headers="$ac_config_headers config.h" { echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&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 { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 echo "${ECHO_T}$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 # Scrollkeeper for the documentation SCROLLKEEPER_BUILD_REQUIRED=0.3.5 # Find a C compiler and some i18n tools 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out 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. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.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 { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$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 { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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" 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac 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 done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_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= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 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 case $depmode in 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 ;; none) break ;; esac # 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. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$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 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 case "$am__api_version" in 1.01234) { { echo "$as_me:$LINENO: error: Automake 1.5 or newer is required to use intltool" >&5 echo "$as_me: error: Automake 1.5 or newer is required to use intltool" >&2;} { (exit 1); exit 1; }; } ;; *) ;; esac if test -n "0.29"; then { echo "$as_me:$LINENO: checking for intltool >= 0.29" >&5 echo $ECHO_N "checking for intltool >= 0.29... $ECHO_C" >&6; } INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.29 | 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; }'` { echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || { { echo "$as_me:$LINENO: error: Your intltool is too old. You need intltool 0.29 or later." >&5 echo "$as_me: error: Your intltool is too old. You need intltool 0.29 or later." >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $INTLTOOL_UPDATE" >&5 echo "${ECHO_T}$INTLTOOL_UPDATE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $INTLTOOL_MERGE" >&5 echo "${ECHO_T}$INTLTOOL_MERGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $INTLTOOL_EXTRACT" >&5 echo "${ECHO_T}$INTLTOOL_EXTRACT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then { { echo "$as_me:$LINENO: error: The intltool scripts were not found. Please install intltool." >&5 echo "$as_me: error: The intltool scripts were not found. Please install intltool." >&2;} { (exit 1); exit 1; }; } 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 echo "${ECHO_T}$MSGMERGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} { (exit 1); exit 1; }; } 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 { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5 echo "${ECHO_T}$INTLTOOL_PERL" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$INTLTOOL_PERL"; then { { echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 echo "$as_me: error: perl not found; required for intltool" >&2;} { (exit 1); exit 1; }; } fi if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 echo "$as_me: error: perl 5.x required for intltool" >&2;} { (exit 1); exit 1; }; } fi if test "x" != "xno-xml"; then { echo "$as_me:$LINENO: checking for XML::Parser" >&5 echo $ECHO_N "checking for XML::Parser... $ECHO_C" >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } else { { echo "$as_me:$LINENO: error: XML::Parser perl module is required for intltool" >&5 echo "$as_me: error: XML::Parser perl module is required for intltool" >&2;} { (exit 1); exit 1; }; } 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then DATADIRNAME=share else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 case $host in *-*-solaris*) { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. For example, HP-UX 11i declares gettimeofday. */ #define bind_textdomain_codeset innocuous_bind_textdomain_codeset /* System header to define __stub macros and hopefully few prototypes, which can conflict with char bind_textdomain_codeset (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef bind_textdomain_codeset /* 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 bind_textdomain_codeset (); /* 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_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset choke me #endif int main () { return bind_textdomain_codeset (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_bind_textdomain_codeset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_bind_textdomain_codeset=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } if test $ac_cv_func_bind_textdomain_codeset = yes; then DATADIRNAME=share else DATADIRNAME=lib fi ;; *) DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi # A little hack for intltool to make po/LINGUAS work with version 0.34 and below if test $INTLTOOL_APPLIED_VERSION_AS_INT -le "34"; then ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS"`" fi # Check for libraries. gmodule is required to make sure --export-dynamic is used and glade works 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&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 { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { echo "$as_me:$LINENO: checking for GNOME_HEARTS" >&5 echo $ECHO_N "checking for GNOME_HEARTS... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$GNOME_HEARTS_CFLAGS"; then pkg_cv_GNOME_HEARTS_CFLAGS="$GNOME_HEARTS_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GNOME_HEARTS_CFLAGS=`$PKG_CONFIG --cflags "libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$GNOME_HEARTS_LIBS"; then pkg_cv_GNOME_HEARTS_LIBS="$GNOME_HEARTS_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GNOME_HEARTS_LIBS=`$PKG_CONFIG --libs "libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then 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 GNOME_HEARTS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0"` else GNOME_HEARTS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0"` fi # Put the nasty error message in config.log where it belongs echo "$GNOME_HEARTS_PKG_ERRORS" >&5 { { echo "$as_me:$LINENO: error: Package requirements (libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0) were not met: $GNOME_HEARTS_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 GNOME_HEARTS_CFLAGS and GNOME_HEARTS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 echo "$as_me: error: Package requirements (libgnomeui-2.0 gtk+-2.0 libglade-2.0 glib-2.0 gmodule-2.0) were not met: $GNOME_HEARTS_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 GNOME_HEARTS_CFLAGS and GNOME_HEARTS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&2;} { (exit 1); exit 1; }; } elif test $pkg_failed = untried; then { { echo "$as_me:$LINENO: 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 GNOME_HEARTS_CFLAGS and GNOME_HEARTS_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." >&5 echo "$as_me: 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 GNOME_HEARTS_CFLAGS and GNOME_HEARTS_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." >&2;} { (exit 1); exit 1; }; } else GNOME_HEARTS_CFLAGS=$pkg_cv_GNOME_HEARTS_CFLAGS GNOME_HEARTS_LIBS=$pkg_cv_GNOME_HEARTS_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } : fi # Check for Python if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. { echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.4" >&5 echo $ECHO_N "checking whether $PYTHON version >= 2.4... $ECHO_C" >&6; } prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. minver = map(int, string.split('2.4', '.')) + [0, 0, 0] minverhex = 0 for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)" if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { { echo "$as_me:$LINENO: error: too old" >&5 echo "$as_me: error: too old" >&2;} { (exit 1); exit 1; }; } fi am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. { echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.4" >&5 echo $ECHO_N "checking for a Python interpreter with version >= 2.4... $ECHO_C" >&6; } if test "${am_cv_pathless_PYTHON+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else for am_cv_pathless_PYTHON in python python2 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. minver = map(int, string.split('2.4', '.')) + [0, 0, 0] minverhex = 0 for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)" if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then break fi done fi { echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 echo "${ECHO_T}$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PYTHON+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # 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_PYTHON="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then { echo "$as_me:$LINENO: result: $PYTHON" >&5 echo "${ECHO_T}$PYTHON" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi am_display_PYTHON=$am_cv_pathless_PYTHON fi if test "$PYTHON" = :; then { { echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5 echo "$as_me: error: no suitable Python interpreter found" >&2;} { (exit 1); exit 1; }; } else { echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 echo $ECHO_N "checking for $am_display_PYTHON version... $ECHO_C" >&6; } if test "${am_cv_python_version+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"` fi { echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 echo "${ECHO_T}$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version PYTHON_PREFIX='${prefix}' PYTHON_EXEC_PREFIX='${exec_prefix}' { echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 echo $ECHO_N "checking for $am_display_PYTHON platform... $ECHO_C" >&6; } if test "${am_cv_python_platform+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"` fi { echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 echo "${ECHO_T}$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform { echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 echo $ECHO_N "checking for $am_display_PYTHON script directory... $ECHO_C" >&6; } if test "${am_cv_python_pythondir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` fi { echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 echo "${ECHO_T}$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir pkgpythondir=\${pythondir}/$PACKAGE { echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 echo $ECHO_N "checking for $am_display_PYTHON extension module directory... $ECHO_C" >&6; } if test "${am_cv_python_pyexecdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"` fi { echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 echo "${ECHO_T}$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir pkgpyexecdir=\${pyexecdir}/$PACKAGE fi # Find Python compiler and linker flags PYTHON_LIBS=$($PYTHON -c "from distutils import sysconfig print '/'.join(sysconfig.get_config_vars('LIBPL','LDLIBRARY'))+' '+sysconfig.get_config_var('LIBS')+' '+sysconfig.get_config_var('LINKFORSHARED')") PYTHON_CFLAGS=$($PYTHON -c "from distutils import sysconfig print sysconfig.get_python_inc()") PYTHON_CFLAGS="-I$PYTHON_CFLAGS" if test "$PYTHON_LIBS" = ""; then { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } else ENABLED_MODULES="$ENABLED_MODULES -DENABLE_PYTHON_MODULES" fi # Find the Python headers 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 { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&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 echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f 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 { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } 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 { echo "$as_me:$LINENO: checking for headers required to compile python extensions" >&5 echo $ECHO_N "checking for headers required to compile python extensions... $ECHO_C" >&6; } py_prefix=`$PYTHON -c "import sys; print sys.prefix"` py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" if test "$py_prefix" != "$py_exec_prefix"; then PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" fi save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then { echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6; } else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } { { echo "$as_me:$LINENO: error: could not find Python headers" >&5 echo "$as_me: error: could not find Python headers" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" # expand the python directory if test "x${prefix}" = "xNONE"; then PYTHON_DIR=$ac_default_prefix"/share" else PYTHON_DIR=$prefix"/share" fi # Set python variables cat >>confdefs.h <<_ACEOF #define PYTHON_DIR "$PYTHON_DIR" _ACEOF # Check for scrollkeeper # Extract the first word of "scrollkeeper-config", so it can be a program name with args. set dummy scrollkeeper-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_SCROLLKEEPER_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $SCROLLKEEPER_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_SCROLLKEEPER_CONFIG="$SCROLLKEEPER_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_SCROLLKEEPER_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_SCROLLKEEPER_CONFIG" && ac_cv_path_SCROLLKEEPER_CONFIG="no" ;; esac fi SCROLLKEEPER_CONFIG=$ac_cv_path_SCROLLKEEPER_CONFIG if test -n "$SCROLLKEEPER_CONFIG"; then { echo "$as_me:$LINENO: result: $SCROLLKEEPER_CONFIG" >&5 echo "${ECHO_T}$SCROLLKEEPER_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test x$SCROLLKEEPER_CONFIG = xno; then { { echo "$as_me:$LINENO: error: Couldn't find scrollkeeper-config. Please install the scrollkeeper package: http://scrollkeeper.sourceforge.net" >&5 echo "$as_me: error: Couldn't find scrollkeeper-config. Please install the scrollkeeper package: http://scrollkeeper.sourceforge.net" >&2;} { (exit 1); exit 1; }; } fi # Set up gettext support GETTEXT_PACKAGE=gnome-hearts cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" 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 ac_count=`expr $ac_count + 1` 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 fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" 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 ac_count=`expr $ac_count + 1` 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 fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in locale.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ----------------------------------------- ## ## Report this to http://bugzilla.jejik.com/ ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then { echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6; } if test "${am_cv_val_LC_MESSAGES+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_val_LC_MESSAGES=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6; } if test $am_cv_val_LC_MESSAGES = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LC_MESSAGES 1 _ACEOF fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= if test "${ac_cv_header_libintl_h+set}" = set; then { echo "$as_me:$LINENO: checking for libintl.h" >&5 echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking libintl.h usability" >&5 echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking libintl.h presence" >&5 echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ----------------------------------------- ## ## Report this to http://bugzilla.jejik.com/ ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for libintl.h" >&5 echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_libintl_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } fi if test $ac_cv_header_libintl_h = yes; then gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # { echo "$as_me:$LINENO: checking for ngettext in libc" >&5 echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6; } if test "${gt_cv_func_ngettext_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_ngettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6; } if test "$gt_cv_func_ngettext_libc" = "yes" ; then { echo "$as_me:$LINENO: checking for dgettext in libc" >&5 echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6; } if test "${gt_cv_func_dgettext_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !dgettext ("","") ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_dgettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6; } fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* 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 $ac_func (); /* 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_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then { echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6; } if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* 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 bindtextdomain (); int main () { return bindtextdomain (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_intl_bindtextdomain=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6; } if test $ac_cv_lib_intl_bindtextdomain = yes; then { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } if test "${ac_cv_lib_intl_ngettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* 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 ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_intl_ngettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } if test $ac_cv_lib_intl_ngettext = yes; then { echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6; } if test "${ac_cv_lib_intl_dgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* 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 dgettext (); int main () { return dgettext (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_intl_dgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6; } if test $ac_cv_lib_intl_dgettext = yes; then gt_cv_func_dgettext_libintl=yes fi fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then { echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: " >&5 echo "${ECHO_T}" >&6; } { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } if test "${ac_cv_lib_intl_ngettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* 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 ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_intl_ngettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } if test $ac_cv_lib_intl_ngettext = yes; then { echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6; } if test "${ac_cv_lib_intl_dcgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* 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 dcgettext (); int main () { return dcgettext (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_intl_dcgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_dcgettext=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6; } if test $ac_cv_lib_intl_dcgettext = yes; then gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* 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 $ac_func (); /* 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_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then { echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* 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 $ac_func (); /* 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_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done MSGFMT_OPTS= { echo "$as_me:$LINENO: checking if msgfmt accepts -c" >&5 echo $ECHO_N "checking if msgfmt accepts -c... $ECHO_C" >&6; } cat >conftest.foo <<_ACEOF msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" _ACEOF if { (echo "$as_me:$LINENO: \$MSGFMT -c -o /dev/null conftest.foo") >&5 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then MSGFMT_OPTS=-c; { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } echo "$as_me: failed input was:" >&5 sed 's/^/| /' conftest.foo >&5 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 echo "${ECHO_T}$GMSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi 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 { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then CATOBJEXT=.gmo DATADIRNAME=share else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 case $host in *-*-solaris*) { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. For example, HP-UX 11i declares gettimeofday. */ #define bind_textdomain_codeset innocuous_bind_textdomain_codeset /* System header to define __stub macros and hopefully few prototypes, which can conflict with char bind_textdomain_codeset (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef bind_textdomain_codeset /* 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 bind_textdomain_codeset (); /* 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_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset choke me #endif int main () { return bind_textdomain_codeset (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_bind_textdomain_codeset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_bind_textdomain_codeset=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } if test $ac_cv_func_bind_textdomain_codeset = yes; then CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else { echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6; } NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; 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 NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS { echo "$as_me:$LINENO: result: $LINGUAS" >&5 echo "${ECHO_T}$LINGUAS" >&6; } fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES #define some directories if test "x${prefix}" = "xNONE"; then cat >>confdefs.h <<_ACEOF #define PACKAGE_LOCALE_DIR "${ac_default_prefix}/share/locale" _ACEOF else cat >>confdefs.h <<_ACEOF #define PACKAGE_LOCALE_DIR "${prefix}/share/locale" _ACEOF fi if test "x${prefix}" = "xNONE"; then cat >>confdefs.h <<_ACEOF #define PACKAGE_DATA_DIR "${ac_default_prefix}/share" _ACEOF else cat >>confdefs.h <<_ACEOF #define PACKAGE_DATA_DIR "${prefix}/share" _ACEOF fi if test "x${prefix}" = "xNONE"; then CONFIG_DATA_DIR=${ac_default_prefix}/share else CONFIG_DATA_DIR=${prefix}/share fi #output all required files ac_config_files="$ac_config_files Makefile help/Makefile help/C/Makefile help/de/Makefile help/en_GB/Makefile help/es/Makefile help/it/Makefile help/nl/Makefile help/pl/Makefile help/pt/Makefile help/tl/Makefile help/zh_CN/Makefile man/Makefile pixmaps/Makefile po/Makefile.in scripts/Makefile scripts/hearts.py scripts/players/Makefile src/Makefile src/gnome-hearts.cfg" 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_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" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 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= 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=`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. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi ac_config_commands="$ac_config_commands po/stamp-it" : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $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} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## 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=: # Zsh 3.x and 4.x performs 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 # PATH needs CR # 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 # 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 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false 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.) as_nl=' ' 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 echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. 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 # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. 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" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); 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 } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 fi echo >conf$$.file 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 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=: 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 # 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 gnome-hearts $as_me 0.3, which was generated by GNU Autoconf 2.61. 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 cat >>$CONFIG_STATUS <<_ACEOF # 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_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet 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_cs_version="\\ gnome-hearts config.status 0.3 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 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' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. 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=$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 ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) 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. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$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 if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # 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" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "help/Makefile") CONFIG_FILES="$CONFIG_FILES help/Makefile" ;; "help/C/Makefile") CONFIG_FILES="$CONFIG_FILES help/C/Makefile" ;; "help/de/Makefile") CONFIG_FILES="$CONFIG_FILES help/de/Makefile" ;; "help/en_GB/Makefile") CONFIG_FILES="$CONFIG_FILES help/en_GB/Makefile" ;; "help/es/Makefile") CONFIG_FILES="$CONFIG_FILES help/es/Makefile" ;; "help/it/Makefile") CONFIG_FILES="$CONFIG_FILES help/it/Makefile" ;; "help/nl/Makefile") CONFIG_FILES="$CONFIG_FILES help/nl/Makefile" ;; "help/pl/Makefile") CONFIG_FILES="$CONFIG_FILES help/pl/Makefile" ;; "help/pt/Makefile") CONFIG_FILES="$CONFIG_FILES help/pt/Makefile" ;; "help/tl/Makefile") CONFIG_FILES="$CONFIG_FILES help/tl/Makefile" ;; "help/zh_CN/Makefile") CONFIG_FILES="$CONFIG_FILES help/zh_CN/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "pixmaps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; "scripts/hearts.py") CONFIG_FILES="$CONFIG_FILES scripts/hearts.py" ;; "scripts/players/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/players/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/gnome-hearts.cfg") CONFIG_FILES="$CONFIG_FILES src/gnome-hearts.cfg" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; 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 '{ (exit 1); 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") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim MAINT!$MAINT$ac_delim SCROLLKEEPER_BUILD_REQUIRED!$SCROLLKEEPER_BUILD_REQUIRED$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim INTLTOOL_UPDATE!$INTLTOOL_UPDATE$ac_delim INTLTOOL_MERGE!$INTLTOOL_MERGE$ac_delim INTLTOOL_EXTRACT!$INTLTOOL_EXTRACT$ac_delim INTLTOOL_DESKTOP_RULE!$INTLTOOL_DESKTOP_RULE$ac_delim INTLTOOL_DIRECTORY_RULE!$INTLTOOL_DIRECTORY_RULE$ac_delim INTLTOOL_KEYS_RULE!$INTLTOOL_KEYS_RULE$ac_delim INTLTOOL_PROP_RULE!$INTLTOOL_PROP_RULE$ac_delim INTLTOOL_OAF_RULE!$INTLTOOL_OAF_RULE$ac_delim INTLTOOL_PONG_RULE!$INTLTOOL_PONG_RULE$ac_delim INTLTOOL_SERVER_RULE!$INTLTOOL_SERVER_RULE$ac_delim INTLTOOL_SHEET_RULE!$INTLTOOL_SHEET_RULE$ac_delim INTLTOOL_SOUNDLIST_RULE!$INTLTOOL_SOUNDLIST_RULE$ac_delim INTLTOOL_UI_RULE!$INTLTOOL_UI_RULE$ac_delim INTLTOOL_XAM_RULE!$INTLTOOL_XAM_RULE$ac_delim INTLTOOL_KBD_RULE!$INTLTOOL_KBD_RULE$ac_delim INTLTOOL_XML_RULE!$INTLTOOL_XML_RULE$ac_delim INTLTOOL_XML_NOMERGE_RULE!$INTLTOOL_XML_NOMERGE_RULE$ac_delim INTLTOOL_CAVES_RULE!$INTLTOOL_CAVES_RULE$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF INTLTOOL_SCHEMAS_RULE!$INTLTOOL_SCHEMAS_RULE$ac_delim INTLTOOL_THEME_RULE!$INTLTOOL_THEME_RULE$ac_delim INTLTOOL_SERVICE_RULE!$INTLTOOL_SERVICE_RULE$ac_delim INTLTOOL_POLICY_RULE!$INTLTOOL_POLICY_RULE$ac_delim XGETTEXT!$XGETTEXT$ac_delim MSGMERGE!$MSGMERGE$ac_delim MSGFMT!$MSGFMT$ac_delim INTLTOOL_PERL!$INTLTOOL_PERL$ac_delim ALL_LINGUAS!$ALL_LINGUAS$ac_delim DATADIRNAME!$DATADIRNAME$ac_delim PKG_CONFIG!$PKG_CONFIG$ac_delim GNOME_HEARTS_CFLAGS!$GNOME_HEARTS_CFLAGS$ac_delim GNOME_HEARTS_LIBS!$GNOME_HEARTS_LIBS$ac_delim PYTHON!$PYTHON$ac_delim PYTHON_VERSION!$PYTHON_VERSION$ac_delim PYTHON_PREFIX!$PYTHON_PREFIX$ac_delim PYTHON_EXEC_PREFIX!$PYTHON_EXEC_PREFIX$ac_delim PYTHON_PLATFORM!$PYTHON_PLATFORM$ac_delim pythondir!$pythondir$ac_delim pkgpythondir!$pkgpythondir$ac_delim pyexecdir!$pyexecdir$ac_delim pkgpyexecdir!$pkgpyexecdir$ac_delim PYTHON_INCLUDES!$PYTHON_INCLUDES$ac_delim CPP!$CPP$ac_delim PYTHON_CFLAGS!$PYTHON_CFLAGS$ac_delim PYTHON_LIBS!$PYTHON_LIBS$ac_delim PYTHON_DIR!$PYTHON_DIR$ac_delim SCROLLKEEPER_CONFIG!$SCROLLKEEPER_CONFIG$ac_delim GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim USE_NLS!$USE_NLS$ac_delim MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim GMSGFMT!$GMSGFMT$ac_delim CATALOGS!$CATALOGS$ac_delim CATOBJEXT!$CATOBJEXT$ac_delim GMOFILES!$GMOFILES$ac_delim INSTOBJEXT!$INSTOBJEXT$ac_delim INTLLIBS!$INTLLIBS$ac_delim PO_IN_DATADIR_TRUE!$PO_IN_DATADIR_TRUE$ac_delim PO_IN_DATADIR_FALSE!$PO_IN_DATADIR_FALSE$ac_delim POFILES!$POFILES$ac_delim POSUB!$POSUB$ac_delim MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim CONFIG_DATA_DIR!$CONFIG_DATA_DIR$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 47; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ 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[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[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 || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$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 "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; 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 || 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" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`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 || 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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`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 # 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= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF 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 sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;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 " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out 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"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 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 ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then 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. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # 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 || 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) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; 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 || 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 || 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 case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`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 || 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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) 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" if test ! -f "po/Makefile"; then { { echo "$as_me:$LINENO: error: po/Makefile is not ready." >&5 echo "$as_me: error: po/Makefile is not ready." >&2;} { (exit 1); exit 1; }; } fi mv "po/Makefile" "po/Makefile.tmp" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.tmp" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # 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 || { (exit 1); exit 1; } fi gnome-hearts-0.3/help/0000777000175000017500000000000011042174156011703 500000000000000gnome-hearts-0.3/help/en_GB/0000777000175000017500000000000011042174156012655 500000000000000gnome-hearts-0.3/help/en_GB/gnome-hearts-en_GB.omf0000644000175000017500000000136411042105055016631 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/en_GB/Makefile.am0000644000175000017500000000035311042105055014616 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = en_GB omffile = gnome-hearts-en_GB.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/en_GB/Makefile.in0000644000175000017500000003707211042107704014642 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/en_GB ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = en_GB omffile = gnome-hearts-en_GB.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/en_GB/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/en_GB/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/en_GB/legal.xml0000644000175000017500000000713011042105055014370 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/en_GB/gnome-hearts.xml0000644000175000017500000002521111042105055015675 00000000000000 ]>
Gnome Hearts User Documentation 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; This documentation is for the TRUNK version of gnome-hearts.
Introduction Hearts is a trick-taking card game played with four players. The object of the game is to gain as few point cards as possible, with the point cards usually being all the hearts and the Queen of spades. As soon as one player reaches a set number of points the game is over and the player with the lowest score is declared the winner. Playing Hearts The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Each player is dealt a hand of cards at the beginning of a round. You have the opportunity to select three cards that you do not want and pass them to another player. In the first round of a game the cards pass left, in the second round they pass across the table, in the third round they pass right and in the fourth round no cards can be passed. Click on the three cards that you want to pass along and then click on the player you want to pass them to. After the cards have been passed, the round itself begins. Rounds are made up of several tricks. Each player plays one card during a trick. The trick is started by the player who took the previous trick. The other players must play a card of the same suit as the card that started the trick. If you cannot follow the trick then you can play another card. Click on a card in your hand to play it. A card that is valid to play will turn blue when you hover the mouse cursor over it. The player who played the highest card that followed the suit of the first card wins the trick and takes the points in that trick. The round ends when all the cards have been played. All points that each player gathered are added together. If none of the players has reached the set limit then another round is played. Menus The menu bar at the top of the application contains the following menus: Game CtrlNNew game - Start a new game of Hearts Restart - Restart the current round Scores - Show the score table Preferences - Open the preferences dialogue CtrlQQuit - Quit Hearts View F11Fullscreen - Toggle fullscreen mode on and off CtrlTToolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Control CtrlZUndo - Undo your last move CtrlShiftZRedo - Redo a previously undone move F1Hint - Have the computer give you a tip on what you should do Help CtrlHHelp - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Preferences The preferences dialogue contains three tabs: Game On this tab you can choose what ruleset you want to play with and set some gentlemen's rules. Each of the rulsets is a different variant of hearts. Standard The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus The omnibus ruleset is nearly identical to the standard ruleset but with a bonus card. The player who takes the jack of diamonds has his score reduced by 10 points. You do not need to take this card when you "shoot the moon". Omnibus Alternative This ruleset is virtually identical to the Omnibus ruleset but with the ten of diamonds as the bonus card. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. You can also set some gentleman's rules on top of the ruleset: Two of clubs leads the round When this option is set to yes then the player who has the two of clubs starts the first trick of the round with that card. When set to no then you, the player, always starts the first trick. Hearts must be "broken" before leading the trick Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Point cards may not be played in the first trick When this rule is enabled, you cannot play a hearts card or the queen of spades in the first trick of a round. You are still allowed to play bonus cards in the first trick if you are using one of the Omnibus rulesets. Opponents On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Style This tab allows you to customise the look of Hearts. You can choose a background image for the game and pick a deck of cards to play with. If you have the gnome-games application installed, optionally with the gnome-games-extra-data package, then you can choose the card decks provided by them as well. &GFDL;
gnome-hearts-0.3/help/en_GB/fdl-appendix.xml0000644000175000017500000006525011042105055015666 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/pt/0000777000175000017500000000000011042174156012326 500000000000000gnome-hearts-0.3/help/pt/Makefile.am0000644000175000017500000000034511042105054014267 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = pt omffile = gnome-hearts-pt.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/pt/gnome-hearts-pt.omf0000644000175000017500000000136111042105054015747 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/pt/Makefile.in0000644000175000017500000003705311042107705014313 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/pt ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = pt omffile = gnome-hearts-pt.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/pt/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/pt/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/pt/legal.xml0000644000175000017500000000713011042105054014040 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/pt/gnome-hearts.xml0000644000175000017500000002643011042105054015351 00000000000000 ]>
Gnome Hearts User Documentation 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; This documentation is for the TRUNK version of gnome-hearts.
Introdução Hearts is a trick-taking card game played with four players. The object of the game is to gain as few point cards as possible, with the point cards usually being all the hearts and the Queen of spades. As soon as one player reaches a set number of points the game is over and the player with the lowest score is declared the winner. Jogar Copas The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set ammount of points. The player with the lowest ammount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Each player is dealt a hand of cards at the beginning of a round. You have the opportunity to select three cards that you do not want and pass them to another player. In the first round of a game the cards pass left, in the second round they pass across the table, in the third round they pass right and in the fourth round no cards can be passed. Click on the three cards that you want to pass along and then click on the player you want to pass them to. After the cards have been passed, the round itself begins. Rounds are made up of several tricks. Each player plays one card during a trick. The trick is started by the player who took the previous trick. The other players must play a card of the same suit as the card that started the trick. If you cannot follow the trick then you can play another card. Click on a card in your hand to play it. A card that is valid to play will turn blue when you hover the mouse cursor over it. The player who played the highest card that followed the suit of the first card wins the trick and takes the points in that trick. The round ends when all the cards have been played. All points that each player gathered are added together. If none of the players has reached the set limit then another round is played. Menus A barra de menus no topo da aplicação contém os seguintes menus: Jogo CtrlNNovo jogo - Começa um novo jogo de Copas Recomeçar - Recomeça a volta actual Pontuações - Mostra a tabela de pontuações Preferences - Open the preferences dialog CtrlQSair - Sair de Copas Ver F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Control CtrlZDesfazer - Desfaz a sua última acção CtrlShiftZRefazer - Refaz uma acção previamente desfeita F1 Hint - Have the computer give you a tip on what you should do Ajuda CtrlH Help - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Preferências The preferences dialog contains three tabs: Jogo On this tab you can choose what ruleset you want to play with and set some gentlemen's rules. Each of the rulsets is a different variant of hearts. Padrão The standard ruleset is what most people will be familliar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus The omnibus ruleset is nearly identical to the standard ruleset but with a bonus card. The player who takes the jack of diamonds has his score reduced by 10 points. You do not need to take this card when you "shoot the moon". Omnibus Alternative This ruleset is virtually identical to the Omnibus ruleset but with the ten of diamonds as the bonus card. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. You can also set some gentleman's rules on top of the ruleset: O dois de paus começa o jogo When this option is set to yes then the player who has the two of clubs starts the first trick of the round with that card. When set to no then you, the player, always starts the first trick. É preciso "quebrar" as copas antes destas iniciarem uma vaza Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts untill hearts are "broken" this way. As cartas pontuadas não podem ser jogadas na primeira vaza. When this rule is enabled, you cannot play a hearts card or the queen of spades in the first trick of a round. You are still allowed to play bonus cards in the first trick if you are using one of the Omnibus rulesets. Adversários On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Estilo This tab allows you to customize the look of Hearts. You can choose a background image for the game and pick a deck of cards to play with. If you have the gnome-games application installed, optionally with the gnome-games-extra-data package, then you can choose the card decks provided by them as well. &GFDL;
gnome-hearts-0.3/help/pt/fdl-appendix.xml0000644000175000017500000006525011042105054015336 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/es/0000777000175000017500000000000011042174156012312 500000000000000gnome-hearts-0.3/help/es/Makefile.am0000644000175000017500000000034511042105055014254 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = es omffile = gnome-hearts-es.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/es/gnome-hearts-es.omf0000644000175000017500000000136411042105055015723 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/es/Makefile.in0000644000175000017500000003705311042107704014276 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/es ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = es omffile = gnome-hearts-es.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/es/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/es/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/es/legal.xml0000644000175000017500000000713011042105055014025 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/es/gnome-hearts.xml0000644000175000017500000002664411042105055015345 00000000000000 ]>
Documentación de Usuario de Corazones para Gnome 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; Esta documentación es para la versión TRONCO de corazones-gnome.
Introducción Corazones es un juego de cartas de tomar trucos que se juega con cuatro jugadores. El objetivo del juego es ganar la menor cantidad posible de cartas de puntos. Las tarjetas de puntos son usualmente todas las cartas de corazones y la Reina de picas. Tan pronto como un jugador alcanza un número de puntos establecido el juego termina y el jugador con el puntaje menor es declarado el ganador. Jugando Corazones The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Cada jugador recibe una mano de cartas al principio de una ronda. Usted tiene la oportunidad de seleccionar tres cartas que no desea y pasarlas a otro jugador. En la primera ronda del juego las cartas se pasan a la izquierda; en la segunda ronda pasan al lado opuesto de la mesa; en la tercera ronda pasan a la derecha y en la cuarta ronda no se pueden pasar cartas. Haga clic en las tres cartas que usted desea pasar y luego haga clic en el jugador al cual desea pasárselas. Después que las cartas se han pasado, la ronda comienza. Las rondas se componen de varios trucos. Cada jugador juega una carta durante el truco. El truco es comenzado por el jugador que se llevo el truco anterior. Los jugadores restantes deben jugar una carta del mismo manjar de la carta que comienza el truco. Si usted no puede seguir el truco entonces puedo jugar con otra carta de otro manjar. Haga clic en una carta en su mano para jugarla. Una carta que sea valida para jugar se tornara azul cuando coloque el puntero del ratón sobre esa carta. El jugador que que juegue la carta mas alta que sigue el manjar de la primera carta jugada gana el truco y acumula los puntos de ese truco La ronda termina cuando todas las cartas se han jugado. Todos los puntos que cada jugador gana en la ronda se suman al total acumulado. Si ninguno de los jugadores alcanza el limite de puntos establecido entonces se juega otra ronda. Menús La barra de menú en la parte superior de la aplicación contiene los siguientes menús. Juego CtrlNNuevo juego - Comenzar un nuevo juego de Corazones Reiniciar - Reiniciar el juego actual Marcadores - Mostrar la tabla de marcadores Preferencias - Abrir el diálogo de preferencias CtrlQSalir - SalirCorazones Ver F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Control CtrlZDeshacer - Deshacer el último movimiento CtrlShiftZ Redo - Redo a previously undone move F1 Hint - Have the computer give you a tip on what you should do Ayuda CtrlHHelp - Abrir la ayuda para Corazones de Gnome About - Shows some information about the Gnome Hearts version you are using Preferences El diálogo de preferencias contiene tres pestañas: Juego On this tab you can choose what ruleset you want to play with and set some gentlemen's rules. Each of the rulsets is a different variant of hearts. Estándar The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus The omnibus ruleset is nearly identical to the standard ruleset but with a bonus card. The player who takes the jack of diamonds has his score reduced by 10 points. You do not need to take this card when you "shoot the moon". Omnibus Alternative This ruleset is virtually identical to the Omnibus ruleset but with the ten of diamonds as the bonus card. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. You can also set some gentleman's rules on top of the ruleset: Two of clubs leads the round When this option is set to yes then the player who has the two of clubs starts the first trick of the round with that card. When set to no then you, the player, always starts the first trick. Hearts must be "broken" before leading the trick Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Point cards may not be played in the first trick When this rule is enabled, you cannot play a hearts card or the queen of spades in the first trick of a round. You are still allowed to play bonus cards in the first trick if you are using one of the Omnibus rulesets. Oponentes On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Estilo This tab allows you to customize the look of Hearts. You can choose a background image for the game and pick a deck of cards to play with. If you have the gnome-games application installed, optionally with the gnome-games-extra-data package, then you can choose the card decks provided by them as well. &GFDL;
gnome-hearts-0.3/help/es/fdl-appendix.xml0000644000175000017500000006525011042105055015323 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/C/0000777000175000017500000000000011042174155012064 500000000000000gnome-hearts-0.3/help/C/gnome-hearts-C.omf0000644000175000017500000000136011042105054015244 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/C/Makefile.am0000644000175000017500000000034311042105054014024 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = C omffile = gnome-hearts-C.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/C/Makefile.in0000644000175000017500000003704611042107704014053 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/C ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = C omffile = gnome-hearts-C.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/C/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/C/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/C/legal.xml0000644000175000017500000000713011042105054013577 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/C/gnome-hearts.xml0000644000175000017500000003025211042105054015105 00000000000000 ]>
Gnome Hearts User Documentation 2006 2007 2008 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; This documentation is for the TRUNK version of gnome-hearts.
Introduction Hearts is a trick-taking card game played with four players. The object of the game is to gain as few point cards as possible, with the point cards usually being all the hearts and the Queen of spades. As soon as one player reaches a set number of points the game is over and the player with the lowest score is declared the winner. Playing Hearts The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Each player is dealt a hand of cards at the beginning of a round. You have the opportunity to select three cards that you do not want and pass them to another player. In the first round of a game the cards pass left, in the second round they pass across the table, in the third round they pass right and in the fourth round no cards can be passed. Click on the three cards that you want to pass along and then click on the player you want to pass them to. After the cards have been passed, the round itself begins. Rounds are made up of several tricks. Each player plays one card during a trick. The trick is started by the player who took the previous trick. The other players must play a card of the same suit as the card that started the trick. If you cannot follow the trick then you can play another card. Click on a card in your hand to play it. A card that is valid to play will turn blue when you hover the mouse cursor over it. The player who played the highest card that followed the suit of the first card wins the trick and takes the points in that trick. The round ends when all the cards have been played. All points that each player gathered are added together. If none of the players has reached the set limit then another round is played. Menus The menu bar at the top of the application contains the following menus: Game CtrlN New game - Start a new game of Hearts Restart - Restart the current round Scores - Show the score table Preferences - Open the preferences dialog CtrlQ Quit - Quit Hearts View F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Control CtrlZ Undo - Undo your last move CtrlShiftZ Redo - Redo a previously undone move F1 Hint - Have the computer give you a tip on what you should do Help CtrlH Help - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Preferences The preferences dialog contains three tabs: Game On this tab you can choose what ruleset you want to play with and set some gentlemen's rules. Each of the rulsets is a different variant of hearts. Standard The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus The omnibus ruleset is nearly identical to the standard ruleset but with a bonus card. The player who takes the jack of diamonds has his score reduced by 10 points. You do not need to take this card when you "shoot the moon". Omnibus Alternative This ruleset is virtually identical to the Omnibus ruleset but with the ten of diamonds as the bonus card. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. You can also set some gentleman's rules on top of the ruleset: Two of clubs leads the round When this option is set to yes then the player who has the two of clubs starts the first trick of the round with that card. When set to no then you, the player, always starts the first trick. Hearts must be "broken" before leading the trick Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Queen of Spades breaks hearts This only applies when hearts must be broken before they lead the trick. When this rule is enabled, someone playing the Queen of Spades has also broken hearts, and can lead hearts in the next round. Point cards may not be played in the first trick When this rule is enabled, you cannot play a hearts card or the queen of spades in the first trick of a round. You are still allowed to play bonus cards in the first trick if you are using one of the Omnibus rulesets. Show player scores next to their name When this option is set, the scores for the current round and for the entire game are visible next the the player's names on the playing area. Opponents On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Style This tab allows you to customize the look of Hearts. You can choose a background image for the game and pick a deck of cards to play with. If you have the gnome-games application installed, optionally with the gnome-games-extra-data package, then you can choose the card decks provided by them as well. &GFDL;
gnome-hearts-0.3/help/C/fdl-appendix.xml0000644000175000017500000006525011042105054015075 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/de/0000777000175000017500000000000011042174155012272 500000000000000gnome-hearts-0.3/help/de/Makefile.am0000644000175000017500000000034511042105055014235 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = de omffile = gnome-hearts-de.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/de/gnome-hearts-de.omf0000644000175000017500000000136411042105055015665 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/de/Makefile.in0000644000175000017500000003705311042107704014257 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/de ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = de omffile = gnome-hearts-de.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/de/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/de/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/de/legal.xml0000644000175000017500000000713011042105055014006 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/de/gnome-hearts.xml0000644000175000017500000002657711042105055015333 00000000000000 ]>
Gnome Hearts Benutzeranleitung 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; Das ist die Anleitung für die TRUNK Version von Gnome-Hearts
Einleitung Hearts ist ein Stich-Kartenspiel, das von 4 Spielern gespielt wird. Das Ziel des Spiels ist es so viele Punktkarten wie möglichen zu erhalten, wobei die Punktkarten üblicherweise alle Herzkarten sowie die Pik-Dame sind. Sobald ein Spieler eine festgelegte Punktezahl erreicht ist das Spiel vorbei und der Spieler mit den wenigsten Punkten gewinnt. Hearts spielen The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Each player is dealt a hand of cards at the beginning of a round. You have the opportunity to select three cards that you do not want and pass them to another player. In the first round of a game the cards pass left, in the second round they pass across the table, in the third round they pass right and in the fourth round no cards can be passed. Click on the three cards that you want to pass along and then click on the player you want to pass them to. After the cards have been passed, the round itself begins. Rounds are made up of several tricks. Each player plays one card during a trick. The trick is started by the player who took the previous trick. The other players must play a card of the same suit as the card that started the trick. If you cannot follow the trick then you can play another card. Click on a card in your hand to play it. A card that is valid to play will turn blue when you hover the mouse cursor over it. The player who played the highest card that followed the suit of the first card wins the trick and takes the points in that trick. Die Runde endet, wenn alle Karten ausgespielt wurden. Alle Punkte, die jeder Spieler gesammelt hat, werden addiert. Falls keiner der Spieler das gesetzte Limit erreicht, wird eine neue Runde gespielt. Menüs Die Menübar in der Kopfzeile der Anwendung beinhaltet die folgenden Menüs: Spiel CtrlN New game - Start a new game of Hearts Neustartt - Momentane Runde neu starten Scores - Show the score table Eigenschaften - Öffnet den Eigenschaften-Dialog CtrlQ Quit - Quit Hearts Ansicht F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Steuerung CtrlZ Undo - Undo your last move CtrlShiftZ Redo - Redo a previously undone move F1Hinweis - Lass den Computer einen Hinweis geben Hilfe CtrlH Help - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Einstellungen The preferences dialog contains three tabs: Spiel On this tab you can choose what ruleset you want to play with and set some gentlemen's rules. Each of the rulsets is a different variant of hearts. Standard The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus The omnibus ruleset is nearly identical to the standard ruleset but with a bonus card. The player who takes the jack of diamonds has his score reduced by 10 points. You do not need to take this card when you "shoot the moon". Omnibus Alternative This ruleset is virtually identical to the Omnibus ruleset but with the ten of diamonds as the bonus card. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. You can also set some gentleman's rules on top of the ruleset: Two of clubs leads the round When this option is set to yes then the player who has the two of clubs starts the first trick of the round with that card. When set to no then you, the player, always starts the first trick. Hearts must be "broken" before leading the trick Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Point cards may not be played in the first trick When this rule is enabled, you cannot play a hearts card or the queen of spades in the first trick of a round. You are still allowed to play bonus cards in the first trick if you are using one of the Omnibus rulesets. Gegenspieler On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Stil This tab allows you to customize the look of Hearts. You can choose a background image for the game and pick a deck of cards to play with. If you have the gnome-games application installed, optionally with the gnome-games-extra-data package, then you can choose the card decks provided by them as well. &GFDL;
gnome-hearts-0.3/help/de/fdl-appendix.xml0000644000175000017500000006525011042105055015304 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/tl/0000777000175000017500000000000011042174156012322 500000000000000gnome-hearts-0.3/help/tl/Makefile.am0000644000175000017500000000034511042105054014263 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = tl omffile = gnome-hearts-tl.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/tl/Makefile.in0000644000175000017500000003705311042107705014307 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/tl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = tl omffile = gnome-hearts-tl.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/tl/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/tl/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/tl/legal.xml0000644000175000017500000000713011042105054014034 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/tl/gnome-hearts.xml0000644000175000017500000002735111042105054015350 00000000000000 ]>
Gnome Hearts User Documentation 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; This documentation is for the TRUNK version of gnome-hearts.
Panimula Ang Hearts ay isang paglilinlang-pagkuhang laro sa baraha na may apat na manlalaro. Ang layon ng larong ito ay ang makakalap ng pinakakaunting barahang may puntos, ang mga barahang ito ay lahat ng hearts at ang Reyna ng spades. Sa oras na makamit ng isang manlalaro ang napiling dami ng puntos, matatapos na ang laro at ang manlalarong may pinakamababang puntos sa talaan ay siyang mananalo. Paglalaro ng Hearts The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Ang bawat manlalaro ay bibigyan ng mga baraha bago magsimula ng bawat round. Mayroon kang pagkakataong pumili ng tatlong baraha na hindi mo gusto at ipasa sa ibang manlalaro. Sa unang round ang mga baraha ay ipinapasa pakaliwa, sa pangalawa ay tungo sa kasalungat na manlalaro, sa pangatlo ay pakanan at sa pang-apat ay walang barahang ipinapasa sa iba. I-click ang tatlong baraha na gusto mong ipasa at i-click ang manlalarong gusto mong pagpasahan. Matapos ipasa ang mga baraha, magsisimula na ang round. Ang mga round ay nahahati sa mga trick o panlilinlang. Ang bawat manlalaro ay gagamit ng baraha sa bawat panlilinlang. Ang panlilinlang ay sinisimulan ng manlalaro na nakakuha ng naunang panlilinlang. Ang ibang mga manlalaro ay dapat gumamit ng baraha na kapareho ng baraha na ginamit upang simulan ang panlilinlang. Kung hindi mo masundan ang panlilinlang, maaari kang gumamit ng ibang uri ng baraha. I-click ang barahang gusto mong gamitin. Ang barahang maaari mong gamitin ay magkukulay asul kapag inibabawan ito ng mouse cursor. Ang manlalaro na nagbitiw ng pinakamataas na baraha ng parehong uri sa unang baraha ang siyang mananalo sa panlilinlang at makakakuha ng puntos para dito. Matatapos ang round kung ubos na ang baraha ng mga manlalaro. Lahat ng puntos na nakalap ng bawat manlalaro ay pagsasama-samahin. Kung wala pang manlalaro ang nakakalap ng nararapat na puntos, magsisimula ang panibagong round. Mga Menu Ang menu bar sa taas ng application ay naglalaman ng mga sumusunod na menu: Game CtrlN New game - Start a new game of Hearts Restart - Restart the current round Scores - Show the score table Preferences - Open the preferences dialog CtrlQ Quit - Quit Hearts View F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Control CtrlZ Undo - Undo your last move CtrlShiftZ Redo - Redo a previously undone move F1 Hint - Have the computer give you a tip on what you should do Help CtrlH Help - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Mga Kagustuhan Ang dialog ng mga kagustuhan ay may tatlong tab: Game Sa tab na ito makakapili ka ng ruleset na gusto mong gamitin at magbigay ng "gentleman's rules". Ang bawar ruleset ay ibang uri ng larong hearts. Standard The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus Ang omnibus ruleset ay halos kapareho lang ng standard ruleset ngunit may bonus card dito. Ang manlalaro na makukuha ang jack ng diamons ay mababawasan ng 10 puntos sa kaniyang talaan. Hindi mo kailangan makuha ang barahang ito kung "sumusuntok ka sa buwan". Omnibus Alternative Ang ruleset na ito ay halos kapareho lang ng Omnibus ruleset ngunti ang bonus card ay ang diyes ng diamonds. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. Maaari ka rin maglagay ng "gentleman's rules" sa ibabaw ng ruleset: Dos ng clubs ang mauuna Kung pinili ang tuntuning ito, ang manlalaro na may hawak ng dos ng clubs ang siyang magsisimula ng unang panlilinlang gamit ang barahang iyon. Kung hindi pipiliin ang tuntuning ito, ikaw ang laging magsisimula ng unang panlilinlang. Kailangang mataasan muna ang nakababang heart bago magbitaw ng ibang baraha. Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Hindi maaaring magbitiw ng barahang may puntos sa unang panlilinlang. Kung pinili ang tuntuning ito, hindi maaaring gamitin ang anu mang barahang hearts o ang reyna ng spades sa unang panlilinlang ng bawat round. Maaari mo pa rin gamitin ang mga bonus card sa unang panlilinlang kung ang ginagamit na ruleset ay Omnibus. Mga Kalaban On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Estilo Sa tab na ito, maaari mong palit-palitan ang itsura ng Hearts. Maaari kang mamili ng larawang pang-background para sa laro at mamili ng klase ng barahang paglalaruan. Kung mayroon kang gnome-games application na naka-install, o sa pamamagitan ng gnome-games-extra-data package, makakapamili ka din ng mga baraha mula sa kanila. &GFDL;
gnome-hearts-0.3/help/tl/fdl-appendix.xml0000644000175000017500000006525011042105054015332 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/tl/gnome-hearts-tl.omf0000644000175000017500000000136111042105054015737 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/Makefile.am0000644000175000017500000000015011042105055013637 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = C de en_GB es it nl pl pt tl zh_CN gnome-hearts-0.3/help/zh_CN/0000777000175000017500000000000011042174156012704 500000000000000gnome-hearts-0.3/help/zh_CN/Makefile.am0000644000175000017500000000035311042105054014644 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = zh_CN omffile = gnome-hearts-zh_CN.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/zh_CN/Makefile.in0000644000175000017500000003707211042107705014672 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/zh_CN ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = zh_CN omffile = gnome-hearts-zh_CN.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/zh_CN/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/zh_CN/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/zh_CN/gnome-hearts-zh_CN.omf0000644000175000017500000000140111042105054016676 00000000000000 s.marechal@jejik.com (Sander Marechal) 红心大战用户手册 2006-05-31 GNOME 红心大战是在 GNOME 桌面环境下实现的一个经典红心大战游戏。 user's guide gnome-hearts-0.3/help/zh_CN/legal.xml0000644000175000017500000000713011042105054014416 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/zh_CN/gnome-hearts.xml0000644000175000017500000002501111042105054015721 00000000000000 ]>
GNOME 红心大战用户文档 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; 本文档是根据 GNOME 红心大战的 TRUNK 版本而制作的。
简介 红心大战是一个四人玩的纸牌游戏。游戏的目的是收尽可能少的分牌,分牌包括所有的红桃以及黑桃 Q。如果一个玩家的分数达到了 规定的某个数值,游戏将会结束,得分最少的玩家将成为赢家。 进行游戏 该游戏由四个人玩。北家,东家和西家为电脑玩家,您操纵的是南家。一轮游戏由若干局组成。在每局中玩家以收得分牌的方式取 得分数。游戏的目标是尽可能地少得分。如果某个玩家的分数达到一定数值,游戏将结束。得分最少的玩家将成为赢家。分数的 上限由所选择的规则集决定。请参看首选项以获得更多信息。 在一局游戏开始前,系统将向每个玩家发一手牌。您将有机会先选择三张您不想要的牌,并且将它们传给另外一名玩家。游戏的 第一局向左传牌,第二局向对家传牌,第三局向右传牌,第四局不传牌,以此类推。单击您想要传的三张牌,然后再单击要把牌 传到的玩家。 传牌之后,一局游戏将正式开始。一局游戏由若干墩组成。在一墩中,每名玩家出一张牌,由收到上一墩的牌的玩家先出。其它 的玩家必须出与领圈的牌花色相同的牌。如果您没有与领圈的牌相同花色的牌,您就可以垫出其它花色的牌。单击您所要出的牌 即可。在鼠标指向您可以出的牌的时候,它将会变成蓝色。出与领圈的牌相同花色并且拥有最高点数的牌的玩家将赢得此墩,并 获得此墩所包含的分数。 如所有的牌都已出完,一局游戏将结束。每名玩家所获取的分数将被加在一起。如果没有玩家达到分数上限,则下一局游戏开始。 菜单 窗口最上方的菜单栏包含如下菜单: 游戏 CtrlN 新游戏 - 开始一局新的红心大战游戏 重新开始 - 重新开始本局游戏 分数 - 显示分数表 首选项 - 打开首选项对话框 CtrlQ 退出 - 退出红心大战 查看 F11 全屏 - 启用或关闭全屏模式 CtrlT 工具栏 - 显示或隐藏工具栏 状态栏 - 显示或隐藏状态栏 控制 CtrlZ 撤销 - 撤销您的上一步的动作 CtrlShiftZ 重复 - 重复进行已撤销的动作 F1 提示 - 让电脑提示您下一步该做什么 Help CtrlH 帮助 - 打开红心大战的帮助文档 关于 - 显示关于您正在使用的红心大战的版本信息 首选项 首选项对话框包含以下选项卡: 游戏 在此选项卡中您可以选择使用哪一种规则集,并且设置一些其它的游戏规则。每个规则集是红心大战游戏的一种不同 玩家。 标准 “标准”规则集是大多数人熟悉的玩法。所有的红桃牌的分值为 1 分,黑桃 Q 的分值 为 13 分。游戏在某名玩家分数达到 100 分将会结束。您也可以“收齐”,即收齐所 有的红桃牌及黑桃 Q。您的分数将被扣掉 26 分,而不是加上 26 分。如果您赢得了 一局游戏的所有墩,您的分数将被扣掉 52 分。 Omnibus Omnibus 规则集和标准规则集基本相同,主要区别是增加了一张负分牌。获得 方块 J 的玩家将被扣掉 10 分。您不需要方块 J 来达到“收齐”。 Omnibus 变种 此规则集和 Omnibus 规则集基本相同,除了负分牌变为方块 10。 Spot Hearts 所有红桃牌的分值为其点数,J 为 11 分,Q 为 12 分,K 为 13 分,A 为 14 分。 黑桃 Q 的分值为 25 分。分数上限为 500 分。“收齐” 者的分数将被扣掉 129 分, 赢得所有墩的玩家的分数将被扣掉 258 分。 您也可以设定一些其它的规则: 每局开始时必须先出草花 2 如此选项被打开,则持有草花 2 的玩家将在每局开始时出第一张牌,且必须 先出草花 2。如关闭,则您将总是第一个出牌的玩家。 没出过红桃时,不得用红桃领圈 如果没有玩家曾经垫出过红桃牌,且此选项被打开,您将不能用红桃牌领圈。 第一轮不得出有分值的牌 如此选项被打开,在每局的第一墩您将不能出红桃或黑桃 Q。您仍然可以出 Omnibus 规则集所规定的负分牌。 对手 在此选项卡中您可以选择您喜欢的电脑对手。从下拉框中选择它们的名字即可。 红心大战的对手是以Python 脚本的形式实现的。您可以修改这些脚本来自己建立或修改对手的行为。欲知详情,请参阅红心大战网站上的: 开发文档 风格 此选项卡允许您自定义红心大战的外观。您可以选择一个您喜欢的背景 图片,或者选择一个纸牌样式。如果您安装了 gnome-games 软件包, 或者 gnome-games-extra-data 软件包,那么您将同时可以选择它们 所提供的纸牌样式。 &GFDL;
gnome-hearts-0.3/help/zh_CN/fdl-appendix.xml0000644000175000017500000006525011042105054015714 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/Makefile.in0000644000175000017500000003701211042107704013662 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : subdir = help 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.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = 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 ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = C de en_GB es it nl pl pt tl zh_CN all: all-recursive .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 \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/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 # 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): @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; \ (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): @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; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (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; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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 || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$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; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile 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) 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 Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -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) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ 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 \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive 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: gnome-hearts-0.3/help/nl/0000777000175000017500000000000011042174156012314 500000000000000gnome-hearts-0.3/help/nl/Makefile.am0000644000175000017500000000034511042105055014256 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = nl omffile = gnome-hearts-nl.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/nl/gnome-hearts-nl.omf0000644000175000017500000000141011042105055015717 00000000000000 s.marechal@jejik.com (Sander Marechal) Hartenjagen Gebruikers Handleiding 2006-05-31 GNOME Hartenjagen is een implementatie van het klassieke kaartspel voor de GNOME desktop user's guide gnome-hearts-0.3/help/nl/Makefile.in0000644000175000017500000003705311042107704014300 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/nl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = nl omffile = gnome-hearts-nl.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/nl/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/nl/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/nl/legal.xml0000644000175000017500000000577111042105055014040 00000000000000 Het is toegestaan om dit document te verspreiden en/of wijzigen onder de bepalingen van de GNU Vrije Documentatie Licentie (GFDL), zoals uitgegeven door de Free Software Foundation; ofwel versie 1.1 van de Licentie,of (naar vrije keuze) een latere versie zonder invariante secties, zonder voorbladtekst en zonder achterbladtekst. U kunt hier een kopie van de GFDL vinden, of in het bestand COPYING-DOCS, meegeleverd met deze handleiding. Deze handleiding is onderdeel van de collectie van GNOME handleidingingen, verspreid onder de GFDL. Als u deze handleiding apart van de collectie wilt verspreiden, mag u dit doen door een kopie van de licentie toe te voegen aan de handleiding, zoals beschreven in sectie 6 van de licentie. Veel van de namen die gebruikt worden door bedrijven om hun producten te onderscheiden zijn beschermd als trademark. Wanneer deze namen voorkomen in de GNOME documentatie, en de leden van het GNOME Documentatieproject zijn geïnformeerd over dit feit, zullen de namen in hoofdletters of met beginhoofdletter geschreven worden. DOCUMENT EN BEWERKTE VERSIE VAN HET DOCUMENT WORDEN GELEVERD ONDER DE BEPALINGEN VAN DE GNU PUBLIEKE DOCUMENTATIELICENTIE MET HET BEGRIP DAT: DOCUMENT "ZOALS GELEVERD" BIEDT GEEN ENKELE GARANTIE VOOR ZOVER MOGELIJK BINNEN DE GELDENDE WETGEVING, HETZIJ EXPLICIET, HETZIJ IMPLICIET, INCLUSIEF MAAR NIET BEPERKT TOT GARANTIES DAT HET DOCUMENT OF EEN BEWERKTE VERSIE VAN HET DOCUMENT VRIJ IS VAN DEFECTEN, GESCHIKT IS VOOR EEN BEPAALD DOEL OF GEEN INBREUK MAAKT. HET RISICO AANGAANDE DE KWALITEIT, CORRECTHEID EN BRUIKBAARHEID VAN HET DOCUMENT OF BEWERKTE VERSIE VAN HET DOCUMENT LIGT VOLLEDIG BIJ U. MOCHT HET DOCUMENT NIET VRIJ ZIJN VAN DEFECTEN, DAN DIENT U (NIET DE ORIGINELE AUTEUR, SCHRIJVER OF EEN VAN DE MENSEN DIE BIJDRAGEN HEBBEN GELEVERD) DE KOSTEN TE DRAGEN VAN ONDERHOUD, REPARATIE OF CORRECTIE. DIT DEEL IS EEN ESSENTIEEL DEEL VAN DE LICENTIE. GEBRUIK VAN HET DOCUMENT OF BEWERKTE VERSIE VAN HET DOCUMENT IS SLECHTS TOEGESTAAN VOLGENS DE TERMEN VAN DIT DEEL; ENONDER GEEN ENKELE OMSTANDIGHEDEN EN ONDER GEEN ENKELE JURIDISCHE THEORIE, ZAL DE ORIGINELE AUTEUR, SCHRIJVER, EEN VAN DE MENSEN DIE BIJDRAGEN HEBBEN GELEVERD OF EEN VAN DE VERSPREIDERS VAN HET DOCUMENT OF BEWERKTE VERSIE VAN HET DOCUMENT, OF ENIGE LEVERANCIER VAN EERDERGENOEMDE PARTIJEN, AANSPRAKELIJK ZIJN TEGENOVER IEMAND VOOR DIRECTE OF INDIRECTE, SPECIALE, INCIDENTELE, OF CONCEQUENTIËLE SCHADE VAN ENIG TYPE INCLUSIEF, MAAR NIET BEPERKT TOT SCHADE GELEDEN AAN GOODWILL, VERLOREN WERKTIJD, SCHADE AAN COMPUTERS, OF EEN VAN DE ANDERE TYPEN SCHADE OF VERLIEZEN VOORTKOMEND UIT OF GERELATEERD AAN GEBRUIK VAN HET DOCUMENT OF EEN BEWERKTE VERSIE VAN HET DOCUMENT, OOK AL IS ZO'N PARTIJ GEÏNFORMEERD VAN ZULKE SCHADE. gnome-hearts-0.3/help/nl/gnome-hearts.xml0000644000175000017500000002637711042105055015352 00000000000000 ]>
Hartenjagen Gebruikers Handleiding 2006 2007 2008 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; Dit document is voor de TRUNK versie van Hartenjagen
Inleiding Hartenjagen is een kaartspel voor vier spelers dat draait om het halen van slagen. Het doel van het spel is om zo weining mogelijk punten te halen, waarbij alle harten en de schoppen vrouw puntkaarten zijn. Het spel is over wanneer een van de spelers een bepaald aantal punten heeft bereikt. De speler met het minste aantal punten is de winnaar. Hartenjagen spelen Het spel wordt gespeeld met vier spelers. Noord, oost en west zijn computerspelers en jij bent de zuidelijke speler. Een spel bestaat uit meerdere ronden. In elke ronde kunnen spelers punten halen door puntkaarten te pakken. Het doel is zo weining mogelijk punten te halen. Het spel is over wanneer een van de spelers een bepaald aantal punten heeft bereikt. De speler met het minste aantal punten is de winnaar. Welke kaarten de puntkaarten zijn en bij welke score het spel over is hangt af van de regelset die gebruikt wordt. Zie spel voorkeuren voor meer informatie. Aan het begin van een ronde krijgt elke speler een hand met kaarten. Je hebt de mogelijkheid om drie kaarten te selecteren die je niet hebben wil en die je aan een andere speler wil doorgeven. In de eerste ronde van het spel worden de kaarten naar links doorgegeven, in de tweede ronde naar de overkant, in de derde ronde naar rechts en in de vierde ronde worden geen kaarten doorgegeven. Klik op de drie kaarten die je door wil geven en klik op de speler waaraan je ze door wil geven. De speelronde zelf begint nadat de kaarten zijn doorgegeven. Ronden bestaan uit meerdere slagen. Elke speler speelt een kaart per slag. De slag wordt geopend door de speler die de vorige slag heeft gewonnen. De andere spelers moeten moeten vervolgens een kaart van dezelfde kleur spelen als de speler die de slag opende. Als je de kleur niet kan volgen dan kun je een andere kaart spelen. Klik op een kaart om hem te spelen. Eem kaart die geldig is om op dat moment te spelen zal blauw worden als je de muiscursor over de kaart hebt. De speler die de hoogste kaart van de juiste kleur heeft gespeeld neemt de slag en daarmee alle puntkaarten in die slag. De ronde eindigd wanneer alle kaarten zijn gespeeld. Alle puntkaarten die elke speler heeft gehaald worden dan bij elkaar opgeteld. Als geen van de spelers het gestelde aantal punten heeft gehaald dan volgt er nog een ronde. Menus De menubalk bovenaan de applicatie bevat de volgende menus: Spel CtrlNNieuw spel - Start een nieuw Hartenjagen spel Herstarten - Herstart de huidige ronde Scores - Toon de score table Voorkeuren - Open het voorkeuren scherm CtrlQStop - Stop Hartenjagen Beeld CtrlQStop - Stop Hartenjagen Besturing CtrlZOngedaan maken - Maak je laatste beurt ongedaan CtrlShiftZOpnieuw - Speel een eerder ongedaan gemaakte beurt opnieuw F1Hint - Laat de computer je een hint geven over wat je moet doen Hulp CtrlHHulp - Toon de hulp voor Hartenjagen Over - Toon informatie over de Hartenjagen versie de je gebruikt Voorkeuren Het voorkeuren scherm heeft drie tabs: Spel Op deze tab kun je kiezen met welke regelset je wil spelen en kun je enkele extra regels instellen. Elke regelset is een andere variant van het Hartenjagen spel. Standaard De standaard regelset is wat de meeste mensen zullen kennen. Alle harten zijn 1 punt waard en de schoppen vrouw is 13 punten waard. Het spel is over zodra de eerste speler 100 punten heeft bereikt. Als je alle harten kaarten plus de schoppen vrouw kan bemachtigen binnen een ronde dan wordt er 26 punten van je score afgetrokken in plaats van opgeteld. Weet je alle kaarten in een ronde te behalen dan wordt er 52 punten van je score afgetrokken. Omnibus De omnibus regels zijn vrijwel identiek aan de standaard regels, maar met een extra bonus kaart. De score van de speler die de ruiten boer pakt wordt met 10 punten verminderd. Je hoeft deze bonus kaart niet te pakken als de voor de bonus van 26 punten speelt. Omnibus Alternatief Deze regelset is vrijwel identiek aan de Omnibus regels, maar met de ruiten tien in plaats van de ruiten boer als bonus kaart. Spot Harten Alle harten zijn de waarde op de kaart waard, waarbij de boer 11 punten is, de vrouw 12 punten, de heer 13 punten en de aas 14 punten. De schoppen vrouw is 25 punten waard en het spel is over wanneer de eerste speler 500 punten bereikt. Als je alle harten kaarten en de schoppen vrouw pakt dan wordt er 129 punten van je score afgetrokken. Pak je alle kaarten dan gaat er 258 punten van je score af. Je kan naast de regelset nog enkele extra regels instellen: Klaveren twee opent de ronde Als deze optie aan staat dan begint de eerste slag in een ronde bij de speler die de klaveren twee heeft. Staat deze optie uit, dan start jij, de speler, altijd de eerste slag. Harten moet "gebroken" worden voor het uitkomen met harten in een slag Harten zijn "gebroken" wanneer een speler de kleur van de eerste kaart in een slag niet kan volgen en in plaats daarvan een harten kaart speelt. Als deze regel aan staat dan kun je geen slag beginnen met harten totdat deze "gebroken" zijn. Shoppen vrouw breekt harten Dit geld alleen als harten gebroken moeten worden voor dat er mee mag worden uitgekomen. Wanneer deze optie aan staat dan is harten ook gebroken na het spelen van de shoppen vrouw. Puntkaarten mogen niet in de eerste slag gespeeld worden Wanneer deze regel aan staat dan mag je geen harten kaarten of de schoppen vrouw spelen in de eerste slag van een ronde. Je mag wel bonus kaarten spelen als je een van de Omnibus regelsets gebruikt. Toon de punten naast de namen van de spelers Deze optie toont zowel de punten in de huidige ronden als de punten voor het totale spel naast de namen van de spelers op het speelveld. Tegenstanders Op deze tab kun je kiezen tegen welke computer tegenstanders je wilt spelen. Selecteer eenvoudigweg hun namen uit de lijst. Tegenspelers in Hartenjagen zin geïmplementeerd in Python scripts. Je kan deze scripts makkelijk zelf aanmaken en bewerken. Zie de Developer Documentation op de Hartenjagen website voor meer informatie. Stijl Via deze tab kun je het uiterlijk van Hartenjagen aanpassen. Je kan een achtergrond-afbeelding kiezen en een stok kaarten selecteren waarmee je wil spelen. Als je het gnome-games pakket hebt geïnstalleerd, eventueel met het gnome-games-extra-data pakket, dan zijn ook de stokken kaarten daaruit beschikbaar. &GFDL;
gnome-hearts-0.3/help/nl/fdl-appendix.xml0000644000175000017500000007072611042105055015331 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Vrije Documentatie Licentie Versie 1.2, november 2002
INTRODUCTIE This is an unofficial translation of the GNU Free Documentation License into Dutch. It was not published by the Free Software Foundation, and does not legally state the distribution terms for documentation that uses the GNU FDL -- only the original English text of the GNU FDL does that. However, we hope that this translation will help Dutch speakers understand the GNU FDL better. Dit is een onofficiële vertaling van de GNU Free Documentation License in het Nederlands. Ze is niet gepubliceerd door de Free Software Foundation en doet geen juridisch bindende uitspraken betreffende de condities voor distributie van documentatie die gebruik maakt van de GNU FDL -- die worden uitsluitend in de originele Engelse versie van de GNU FDL vastgelegd. We hopen echter dat deze vertaling Nederlands sprekende personen helpt de GNU FDL beter te begrijpen. De doelstelling van deze Licentie is het "vrijmaken" van een handleiding, leerboek of ander functioneel en nuttig document in de zin van vrijheid: het verzekert iedereen van het recht het onderhavige document te mogen kopiëren en verspreiden, in al dan niet gewijzigde vorm, in commerciële en niet-commerciële hoedanigheid. Daarnaast voorziet deze Licentie in een methode ten behoeve van de auteur en uitgever om verdiensten voor hun werk te krijgen, zonder daarbij verantwoordelijk te worden gesteld voor de wijzigingen die door anderen zijn aangebracht. Deze Licentie is een vorm van "copyleft", waarmee bedoeld wordt dat van het betreffende document afgeleide werken zelf ook in dezelfde betekenis van het woord "vrij" dienen te zijn. Het is een aanvulling op de GNU Algemene Publieke Licentie, hetgeen een "copyleft" licentie voor vrije software is. Deze Licentie is zo opgesteld dat hij gebruikt kan worden voor handleidingen van vrije software, immers vrije software heeft vrije documentatie nodig: een vrij programma behoort voorzien te worden van handleidingen die dezelfde vrijheid bieden als het programma zelf. Deze Licentie is echter niet beperkt tot handleidingen van programmatuur: ze kan worden toegepast op iedere tekst, ongeacht het onderwerp en of het in boekvorm wordt gepubliceerd of niet. Deze Licentie wordt met name aanbevolen voor werken die in instructie voorzien en voor naslagwerken.
TOEPASBAARHEID EN DEFINITIES Deze Licentie is van toepassing op iedere handleiding of ander werk, in welk medium dan ook, die voorzien is van een kennisgeving, daar geplaatst door de houder van de auteursrechten, waarin bepaald wordt dat het verspreid mag worden onder de condities van deze Licentie. Een dergelijke kennisgeving verleent een wereldwijde, honorarium-vrije en in tijdsduur onbeperkte licentie om dat werk te gebruiken onder de condities die hierin vastgelegd zijn. De term "Document", zoals hier verder gebruikt, slaat op een dergelijke handleiding of werk. Ieder lid van het publiek is een licentiehouder en wordt verder aangeduid met u. U accepteert de licentie als u het onderhavige werk kopieert, wijzigt of distribueert op enige wijze die toestemming vereist binnen de auteursrechtelijke wetgeving. Met een "Gewijzigde Versie" van het document wordt bedoeld ieder werk dat het document, of delen ervan, bevat, al dan niet woordelijk gekopieerd of met verandering en/of vertaald in een andere taal. Een "Secundaire Sectie" is een benoemde appendix of een voorwerk sectie van het Document die zich uitsluitend bezighoudt met de relatie tussen de uitgevers of auteurs van het Document en het globale onderwerp van het Document (of met daaraan gerelateerde zaken) en dat niets bevat dat direct binnen dat globale onderwerp zou kunnen vallen. (Dus als het Document gedeeltelijk een wiskunde leerboek is, mag een Secundaire Sectie geen uitleg van wiskunde bevatten.) De relatie kan een historisch verband met het onderwerp of daaraan gerelateerde zaken betreffen of een juridisch, commercieel, filosofisch, ethisch of politiek standpunt daarover. "Invariante Secties" zijn bepaalde Secundaire Secties waarvan de titels zijn aangeduid als zijnde die van Invariante Secties in de kennisgeving waarin wordt aangegeven dat het Document is uitgebracht onder deze Licentie. Valt een sectie niet binnen de hierboven beschreven definitie van Secundaire Sectie, dan mag die niet als Invariant aangeduid worden. Het Document behoeft geen Invariante Secties te bevatten. Worden er in het Document geen Invariante Secties benoemd, dan zijn ze er niet. "Omslagteksten" zijn bepaalde korte passages tekst die, als tekst voor de Voorkant of de Achterkant, worden vermeld in de kennisgeving die aangeeft dat het Document is vrijgegeven onder deze Licentie. Een omslagtekst voor de Voorkant mag ten hoogste uit 5 woorden bestaan, een omslagtekst voor de Achterkant mag ten hoogste 25 woorden bevatten. Met een "Transparante" kopie van het Document wordt bedoeld een voor een machine leesbare kopie, aangeboden in een formaat waarvan de specificatie openlijk beschikbaar is voor het publiek, die geschikt is voor ongecompliceerde herziening van het document met algemene tekstverwerkers of (voor afbeeldingen bestaande uit pixels) schilderprogramma's of (voor tekeningen) een wijdverbreid tekenprogramma en die geschikt is als invoer voor tekstopmakers of voor automatische vertaling naar een keur van formaten geschikt als invoer voor tekstopmakers. Een kopie gemaakt in een op andere wijze transparant bestandsformaat waarvan de opmaak, of afwezigheid van opmaak, is gemanipuleerd om latere wijziging door lezers te ontmoedigen of belemmeren is niet Transparant. Een afbeeldingsformaat is niet Transparant als het gebruikt wordt voor enige substantiële hoeveelheid tekst. Een kopie die niet Transparant is wordt "Opaak" genoemd. Voorbeelden van gepaste formaten voor Transparante kopieën zijn platte ASCII tekst zonder opmaak, Texinfo invoerformaat, LaTeX invoerformaat, SGML of XML die gebruik maakt van een publiek beschikbare DTD en standaard-conforme HTML, PostScript of PDF ontworpen voor manipulatie door personen. Voorbeelden van Tranparante afbeeldingsformaten zijn PNG, XCF en JPG. Opake formaten omvatten eigendomsrechtelijk beschermde formaten die uitsluitend door eigendomsrechtelijk beschermde tekstverwerkers kunnen worden gelezen en gemanipuleerd, SGML of XML waarvan de DTD en/of de verwerkende middelen niet algemeen beschikbaar zijn en door machines geproduceerde HTML, PostScript of PDF geproduceerd door sommige tekstverwerkers voor uitsluitend uitvoerdoeleinden. De "Titelpagina" omvat, voor een gedrukt boek, de titelpagina zelf plus de daaropvolgende pagina's die, leesbaar, het materiaal bevatten waarvan door deze Licentie wordt voorgeschreven dat het in de titelpagina dient te verschijnen. Voor werken in formaten die geen titelpagina kennen duidt Titelpagina op de tekst nabij de meest prominente verschijning van de titel van het werk, voorafgaand aan de eigenlijke tekst. Een sectie "Betiteld als XYZ" duidt op een onderdeel van het Document waarvan de titel ofwel letterlijk XYZ is of waarvan de titel XYZ tussen haakjes bevat volgend op tekst die XYZ vertaalt in een andere taal. (Hier staat XYZ voor een specifieke naam van een sectie die hieronder genoemd wordt, zoals "Dankbetuigingen", "Toewijdingen", "Aanbevelingen" of "Historie".) Het "Behouden van de Titel" van een dergelijke sectie wanneer u het Document wijzigt betekent dat het een sectie "Betiteld als XYZ" blijft volgens deze definitie. Het Document mag Garantiebepalingen bevatten naast de kennisgeving die aangeeft dat deze Licentie van toepassing is op het Document. Deze Garantiebepalingen worden verondersteld per referentie opgenomen te zijn in deze Licentie, maar alleen voor zover het vrijwaringen van garantie betreft: iedere andere implicatie van deze Garantiebepalingen is nietig en heeft geen invloed op de inhoud van deze Licentie.
VERBATIM KOPIËREN U mag het Document kopiëren en verspreiden in elk medium, zowel commercieel als niet-commercieel, onder het voorbehoud dat deze Licentie, de auteursrechtelijke kennisgevingen en de licentiekennisgeving die aangeeft dat deze Licentie van toepassing is op het Document weergegeven worden in alle kopieën, en dat u geen enkele andere conditie toevoegt aan de condities van deze Licentie. U mag geen technische maatregelen nemen die het lezen of verder kopiëren van de exemplaren die u maakt of verspreidt belemmeren of controleren. U mag echter wel compensatie accepteren in ruil voor exemplaren. Indien u een groot genoeg aantal exemplaren verspreidt moet u ook de richtlijnen in sectie 3 volgen. U mag ook exemplaren uitlenen, onder dezelfde condities als hierboven aangegeven, en u mag kopieën in het openbaar vertonen.
KOPIËREN IN GROTE AANTALLEN Indien u gedrukte kopieën (of kopieën in media die gewoonlijk voorzien zijn van gedrukte omslagen) van het Document publiceert, in aantal meer dan 100, en de licentie van het Document vereist omslagteksten, dan moet u de kopieën voorzien van omslagen die duidelijk en leesbaar de volgende omslagteksten dragen: Omslagtekst voor de Voorkant op de voorkant en Omslagtekst voor de Achterkant op de achterkant. Beide Omslagteksten moeten bovendien duidelijk en leesbaar u aanduiden als de uitgever van deze kopieën. De Voorkant moet de volledige titel, met alle woorden van de titel even duidelijk aanwezig en zichtbaar, weergeven. U mag ander materiaal aan de omslag toevoegen. Vermenigvuldigen met wijzigingen die beperkt blijven tot de omslag, indien deze de titel van het Document behouden en voldoen aan deze condities, mag worden gezien als verbatim kopiëren in andere opzichten. Mochten de vereiste teksten voor de omslag te omvangrijk blijken te zijn om er leesbaar op te passen, dan behoort u de eerstgenoemde teksten (zoveel als er redelijkerwijze op passen) op de daadwerkelijke omslag te plaatsen en door te gaan met de rest op de aanliggende pagina's. Publiceert of verspreidt u Opake kopieën van het Document, in aantal meer dan 100, dan moet u iedere Opake kopie ofwel voorzien van een voor een machine leesbare Transparante kopie of moet u in of bij iedere Opake kopie een computernetwerklocatie aangeven alwaar het algemene netwerkgebruikende publiek, middels open-standaard netwerkprotocollen, toegang heeft tot een complete Transparante kopie van het Document, vrij van toegevoegd materiaal. Maakt u gebruik van de laatste mogelijkheid, dan moet u redelijkerwijs afdoende stappen nemen, wanneer u begint met de distributie van aanzienlijke hoeveelheden Opake kopieën, ten einde zeker te stellen dat deze Transparante kopie op die wijze toegankelijk blijft op de aangegeven locatie tot minstens een jaar na de laatste maal dat u een Opake kopie van die editie verspreidt naar het publiek (direct of via een tussenpersoon of wederverkoper). U wordt verzocht, maar u bent het niet verplicht, om contact op te nemen met de auteurs van het Document ruim voordat u een aanzienlijk aantal kopieën redistribueert, zodat zij de kans krijgen u te voorzien van een vernieuwde versie van het Document.
WIJZIGINGEN Het is u toegestaan een Gewijzigde Versie van het Document te vermenigvuldigen en te verspreiden onder de condities beschreven in secties 2 en 3 hierboven, mits u de Gewijzigde Versie onder exact deze Licentie uitbrengt, waarin de Gewijzigde Versie de rol van het Document vervult, en u daarmee dus licentie verleent tot verspreiding en wijziging van de Gewijzigde Versie aan een ieder die er een kopie van in zijn bezit heeft. Bovendien moet u de volgende zaken doen in de Gewijzigde Versie: Gebruik op de Titelpagina (en op de omslag, indien aanwezig) een titel die zich onderscheidt van die van het Document en van die van voorafgaande versies (die, indien bestaand, vermeld behoren te worden in de Historie sectie van het Document). U mag dezelfde titel als een voorgaande versie gebruiken als de oorspronkelijke uitgever van die versie u daartoe permissie heeft verleend. Vermeld op de Titelpagina, als auteurs, één of meerdere personen of entiteiten verantwoordelijk voor het auteurschap van de wijzigingen in de Gewijzigde Versie, vergezeld van ten minste 5 van de oorspronkelijke auteurs van het Document (of alle oorspronkelijke auteurs, in geval dat er minder dan 5 zijn), tenzij zij u van deze verplichting ontslaan. Maak op de Titelpagina de naam van de uitgever van de Gewijzigde Versie kenbaar, als de uitgever. Handhaaf alle auteursrechtelijke kennisgevingen van het Document. Voeg een passende auteursrechtelijke kennisgeving voor uw wijzigingen toe, aansluitend op de overige auteursrechtelijke kennisgevingen. Neem, direct volgend op de auteursrechtelijke kennisgevingen, een licentie kennisgeving op die het publiek toestemming verleent de Gewijzigde Versie te gebruiken onder de condities van deze Licentie, in de vorm zoals beschreven in het addendumhieronder. Sluit een ongewijzigde kopie van deze Licentie in. Handhaaf de sectie Betiteld als "Historie", Behoud haar Titel, en voeg er een onderdeel aan toe waarin ten minste vermeld worden, de titel, het jaartal, de nieuwe auteurs en de uitgever van de Gewijzigde Versie, zoals weergegeven op de Titelpagina. Indien er geen sectie Betiteld als "Historie" in het Document aanwezig is, maak er dan één en vermeld daarin de titel, het jaartal, de auteurs en uitgever van het Document zoals weergegeven op haar Titelpagina en voeg er een onderdeel aan toe waarin de Gewijzigde Versie wordt beschreven zoals aangegeven in de voorgaande zin. Handhaaf de netwerklocatie, mits aanwezig, gegeven in het Document bedoeld voor openbare toegang tot een Transparante kopie van het Document, evenals de netwerklocaties gegeven in het Document voor voorgaande versies waarop het gebaseerd is. Deze mogen geplaatst worden in de Historie sectie. U mag een netwerklocatie weglaten voor een werk dat ten minste 4 jaar voor het Document is gepubliceerd, of als de oorspronkelijke uitgever van de versie waarnaar deze verwijst daartoe permissie verleent. Behoud van iedere sectie Betiteld als "Dankbetuigingen" of "Toewijdingen" de Titel van die sectie en handhaaf in die sectie het wezen en de toon van ieder van de dankbetuigingen aan bijdragenden en/of toewijdingen die daarin gegeven worden. Handhaaf alle Invariante secties van het Document met ongewijzigde tekst en titel. Sectienummers en hun equivalent worden niet beschouwd als onderdeel van de titel van secties. Verwijder iedere sectie Betiteld als Aanbeveling. Een dergelijke sectie mag niet opgenomen worden in de Gewijzigde Versie. Hernoem geen bestaande sectie, zodanig dat deze wordt Betiteld als Aanbeveling of zo dat deze strijdig is met een Invariante Sectie. Handhaaf alle Garantiebepalingen. Als de Gewijzigde Versie nieuwe voorwerk secties of appendices bevat die aan te duiden zijn als Secundaire Secties en die geen materiaal bevatten dat is gekopieerd van het Document, dan staat het u vrij sommige of al deze secties aan te duiden als Invariant. Om dit te doen voegt u hun titels toe aan de lijst van Invariante secties in de licentiekennisgeving van de Gewijzigde Versie. Deze titels moeten zich onderscheiden van alle andere sectietitels. U mag een sectie Betiteld als Aanbevelingen toevoegen, mits deze niets anders bevat dan aanbevelingen van uw Gewijzigde Versie door verschillende partijen - bijvoorbeeld uitspraken gedaan in recensies of opmerkingen dat de tekst door een organisatie is goedgekeurd als de gezaghebbende definitie van een standaard. U mag een passage van maximaal 5 woorden als Omslagtekst voor de Voorkant en een passage van maximaal 25 woorden als Omslagtekst voor de Achterkant toevoegen aan het eind van de lijst van Omslagteksten in de Gewijzigde Versie. Slechts één passage Omslagtekst voor de Voorkant en één passage Omslagtekst voor de Achterkant mag worden toegevoegd door (of middels afspraken gemaakt met) enige entiteit. Mocht het Document reeds een Omslagtekst bevatten voor dezelfde omslag, in het verleden daaraan toegevoegd door u of middels afspraken gemaakt met dezelfde entiteit namens wie u handelt, dan mag u daar geen andere aan toevoegen. U mag echter wel de oude vervangen als u de expliciete toestemming daartoe heeft van de vorige uitgever die de oude heeft toegevoegd. De auteur(s) en uitgever(s) van het Document geven middels deze Licentie geen toestemming om hun naam te gebruiken voor publiciteit voor de Gewijzigde Versie of te doen voorkomen dat zij achter de Gewijzigde Versie staan of te impliceren dat zij de Gewijzigde Versie aanbevelen.
HET COMBINEREN VAN DOCUMENTEN Het is u toegestaan dit Document te combineren met andere Documenten die zijn vrijgegeven onder deze Licentie, onder de voorwaarden vastgelegd in sectie 4hierboven voor gewijzigde versies, mits u in deze combinatie alle Invariante Secties opneemt van alle oorspronkelijke documenten, zonder wijzigingen en u ze allemaal benoemt als Invariante Secties van het gecombineerde werk in de auteursrechtelijke kennisgeving daarvan en mits u al hun Garantiebepalingen handhaaft. Het gecombineerde werk behoeft slechts één kopie van deze Licentie te bevatten en meerdere identieke Invariante Secties mogen vervangen worden door een enkele kopie daarvan. Zijn er meerdere Invariante Secties met dezelfde naam, maar met een verschillende inhoud, dan maakt u de titel van iedere dergelijke sectie uniek door, tussen haakjes, aan het eind de naam van de oorspronkelijke auteur of uitgever van die sectie, indien bekend, of anders een uniek nummer, te plaatsen. Maak overeenkomstige aanpassingen in de sectietitels in de lijst van Invariante Secties in de auteursrechtelijke kennisgeving van het gecombineerde werk. In het gecombineerde werk moet u alle secties Betiteld als "Historie" uit de verschillende originele documenten combineren tot één sectie Betiteld als "Historie". Evenzo combineert u alle secties Betiteld als "Dankbetuigingen" en alle secties Betiteld als "Toewijdingen". U dient alle secties Betiteld als "Aanbevelingen" te verwijderen.
VERZAMELINGEN VAN DOCUMENTEN U mag een verzameling maken, bestaande uit het Document en andere documenten vrijgegeven onder deze Licentie, en daarbij de individuele kopieën van deze Licentie in de verschillende documenten vervangen door een enkele kopie die is opgenomen in de verzameling, mits u in alle andere opzichten de voorschriften van deze Licentie volgt ten aanzien van het verbatim kopiëren van ieder van de documenten. Het is toegestaan een enkel document uit een dergelijke verzameling te halen en deze afzonderlijk te distribueren onder deze Licentie, indien u een kopie van deze Licentie opneemt in dat afgezonderde document en mits u in alle andere opzichten de voorschriften van deze Licentie volgt ten aanzien van het verbatim kopiëren van dat document.
SAMENVOEGING MET ONAFHANKELIJKE WERKEN Een compilatie van het Document of zijn afgeleiden met andere afzonderlijke en onafhankelijke documenten of werken, in of op een drager van een opslag- of distributiemedium, wordt een "Aggregaat" genoemd als het auteursrecht voortkomend uit de compilatie niet wordt gebruikt om de grenzen van de juridische rechten van de gebruikers van de compilatie te verleggen tot buiten datgene wat de individuele werken toestaan. Is het Document opgenomen in een Aggregaat, dan is deze Licentie niet van toepassing op de andere werken in het Aggregaat, welke zelf geen afgeleide werken van het Document zijn. Indien de verplichtingen betreffende Omslagteksten, beschreven in sectie 3, van toepassing zijn op deze kopieën en beslaat het Document minder dan de helft van het Aggregaat, dan mogen de Omslagteksten van het Document geplaatst worden op omslagen die het Document binnen het Aggregaat omgeven, of op het elektronische equivalent van omslagen als het een elektronische vorm van het Document betreft. Is dat niet geval, dan moeten ze voorkomen op de gedrukte omslagen die het gehele Aggregaat omgeven.
VERTALING Vertaling wordt beschouwd als een vorm van wijziging, dus u mag vertalingen van het Document verspreiden onder de condities gesteld in sectie 4. Het vervangen van Invariante Secties door vertalingen ervan vereist speciale toestemming van de houder van de auteursrechten, maar het opnemen van vertalingen van sommige of alle Invariante Secties naast de oorspronkelijke versies van deze Invariante Sectie is toegestaan. U mag een vertaling van deze Licentie, alle auteursrechtelijke kennisgevingen in het Document en alle Garantiebepalingen opnemen in het Document, mits u tevens de originele Engelse versie van deze Licentie en de originele versies van deze kennisgevingen en bepalingen opneemt. In geval van tegenstrijdigheid tussen de vertaling en de oorspronkelijk versie van deze Licentie of een kennisgeving of bepaling, prevaleert de oorspronkelijke versie. Indien een sectie in het Document is Betiteld als "Dankbetuigingen", "Toewijdingen" of "Historie", dan vereist de verplichting (zie sectie 4) tot het Behouden van een Titel (zie sectie 1) typisch dat de daadwerkelijke titel wordt veranderd.
ONTBINDING Het is u niet toegestaan dit Document te kopiëren, wijzigen, distribueren of sublicenties te verlenen, anders dan binnen de uitdrukkelijke voorwaarden van deze Licentie. Iedere andere poging tot kopiëren, wijzigen, distribueren of sublicentie verlenen is nietig en doet automatisch uw rechten binnen deze Licentie vervallen. Echter, de licentie van partijen die kopieën, of rechten, van u hebben ontvangen onder deze Licentie wordt niet nietig verklaard, zolang dergelijke partijen deze Licentie volledig blijven nakomen.
TOEKOMSTIGE HERZIENINGEN VAN DEZE LICENTIE De Free Software Foundation kan van tijd tot tijd nieuwe, herziene versies van de GNU Vrije Documentatie Licentie publiceren. Dergelijke nieuwe versies zullen in de geest overeenkomen met de huidige versie, maar kunnen in detail verschillen opdat ze zich kunnen richten op nieuwe problemen of aangelegenheden. Zie http://www.gnu.org/copyleft/. Iedere versie van de Licentie wordt voorzien van een onderscheidend versienummer. Indien het Document aangeeft dat een specifieke versie van deze Licentie "of enige latere versie" van toepassing is, dan heeft u de keuze om de voorwaarden en bepalingen te volgen van ofwel de gespecificeerde versie of enige latere versie die is uitgebracht (niet als concept) door de Free Software Foundation. Specificeert het Document geen versienummer van deze Licentie, dan staat het u vrij om er zelf één te kiezen uit alle ooit door de Free Software Foundation uitgebrachte versies (niet als concept).
Hoe deze licentie te gebruiken in uw documenten Ten einde deze Licentie te gebruiken in een document dat u heeft geschreven neemt u een kopie van de Licentie op in het document en plaatst u de volgende auteursrechtelijke en licentiekennisgevingen vlak na de titelpagina: Heeft u Invariante Secties, Omslagteksten voor de Voorkant en Omslagteksten voor de Achterkant, dan vervangt u de tekst "zonder...Achterkant." door:
met als Invariante Secties SOM HUN TITELS OP, met als Omslagteksten voor de Voorkant OPSOMMING en met als Omslagteksten voor de Achterkant OPSOMMING.
Heeft u Invariante Secties zonder Omslagteksten, of een andere combinatie van die drie, voeg de twee alternatieven dan samen, zodanig dat ze passen bij uw situatie. Bevat uw document niet-triviale voorbeelden van programmacode, dan raden we u aan deze parallel vrij te geven onder een vrije software licentie van uw keuze, zoals de GNU General Public License, zodat ze gebruikt kunnen worden in vrije software.
gnome-hearts-0.3/help/it/0000777000175000017500000000000011042174156012317 500000000000000gnome-hearts-0.3/help/it/gnome-hearts-it.omf0000644000175000017500000000136111042105055015732 00000000000000 s.marechal@jejik.com (Sander Marechal) Hearts User Manual 2006-05-31 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/it/Makefile.am0000644000175000017500000000034511042105055014261 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = it omffile = gnome-hearts-it.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/it/Makefile.in0000644000175000017500000003705311042107704014303 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/it ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = it omffile = gnome-hearts-it.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/it/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/it/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/it/legal.xml0000644000175000017500000000713011042105055014032 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/it/gnome-hearts.xml0000644000175000017500000002735611042105055015353 00000000000000 ]>
Gnome Hearts Documentazione Utente 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; Questa documentazione è per la versione TRUNK di gnome-hearts
Introduzione Hearts è un gioco di carte al quale prendono parte quattro giocatori. L'obiettivo del gioco è di realizzare meno punti possibili, le "carte punto" normalmente sono tutte le carte di cuori e la Regina di picche. Nel momento in cui uno dei giocatori raggiunge il punteggio massimo previsto dal gioco, la partita termina e il giocatore che ha realizzato il punteggio più basso vince la partita. Giocare a Hearts The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Ogni giocatore riceve delle carte all'inizio di ogni mano. Bisogna selezionare le carte che non si desiderano per passarle ad un avversario. alla prima mano la carte vengono passate all'avversario di sinistra, alla seconda mano all'aversario difronte, alla terza esse vengono passate all'avversario di destra, alla quarta mano infine non viene passata nessuna carta. Le carte da selezionare sono tre, in seguito bisogna cliccare sul giocatore al quale devono essere passate. Dopo che le carte sono sono state passate, la mano inizia automaticamente. Ogni mano è costituita da più giocate. Ogni giocatore gioca una carte durante una giocata. Ogni giocata è iniziata dal giocatore che ha preso nella giocata precedente. Gli altri giocatori devono giocare una carta dello stesso seme della carta lanciata all'inizio della giocata. Se non è possibile rispondere con lo stesso seme è possibile giocare una carta di seme diverso. Clicca su una delle tue carte per giocarla. Una carta può sessere giocata se passandovi sopra il cursore, essa diventa di colore blu. Il giocatore che ha giocato la carta più alta del seme che ha iniziato la giocata, prende le carte che sono sul tavolo, realizzando gli eventuali punti. La mano termina nel momento in cui tutte le carte sono state giocate. Tutti i punti che ogni giocatore ha accumulato ad ogni mano vengono sommati tra loro. Se nessun giocatore ha raggiunto la soglia limite viene giocata un'altra mano. Menu La barra dei menu in cima all'applicazione contiene i seguenti menu: Game CtrlN New game - Start a new game of Hearts Restart - Restart the current round Scores - Show the score table Preferences - Open the preferences dialog CtrlQ Quit - Quit Hearts Visualizzazione F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Mosse CtrlZ Undo - Undo your last move CtrlShiftZ Redo - Redo a previously undone move F1 Hint - Have the computer give you a tip on what you should do Guida CtrlH Help - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Opzioni La finestra delle opzioni contiene tre schede: Game In questa scheda possono essere scelte le regole da applicare alla partita e possono essere selezionate alcune regole di correttezza. Ognuna di queste regole rappresenta una variante di hearts. Standard The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus La modalità omnibus è molto simile alla modalità classica. Al giocatore che conquista il jack di quadri verranno tolti 10 punti. Il jack di quadri non è necessario alla realizzazione del "cappotto". Omnibus Alternative Questa modalità è identica alla Omnibus, con l'unica differenza che la carta bonus è il 10 di quadri. Spot Hearts All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. Puoi anche configurare le regole di correttezza da apllicare a qualsiasi modalità di gioco: il due di fiori inizia la mano Quando questa opzione è attivata, il giocatore che ha il due di fiori sarà il primo a cominciare durante la prima giocata della mano, lanciando proprio il due di fiori. Se questa opzione non è attivata, l'utente inizierà sempre per primo durante la prima giocata. I cuori devono essere "infranti" prima di giocarli Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Le carte punto non possono essere giocate durante la prima giocata Quando è attivata, questa regola non permette di giocare una carta di cuori o la regina di picche durante la prima giocata della mano. E' possibile giocare le carte bonus durante la prima giocata se è attiva una delle modalità Omnibus. Avversari On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Stile Questa scheda permette di modificare l'aspetto di Hearts. Possono essere modificati lo sfondo del tavolo da gioco e il mazzo di carte. Se l'applicazione gnome-games è installata sul sitema, alternativamente con il pacchetto gnome-games-extra-data è possibile scegliere il mazzo di carte preferito. &GFDL;
gnome-hearts-0.3/help/it/fdl-appendix.xml0000644000175000017500000006525011042105055015330 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/help/pl/0000777000175000017500000000000011042174156012316 500000000000000gnome-hearts-0.3/help/pl/Makefile.am0000644000175000017500000000034511042105055014260 00000000000000## Process this file with automake to produce Makefile.in figdir = docname = gnome-hearts lang = pl omffile = gnome-hearts-pl.omf entities = fdl-appendix.xml legal.xml include $(top_srcdir)/xmldocs.make dist-hook: app-dist-hook gnome-hearts-0.3/help/pl/gnome-hearts-pl.omf0000644000175000017500000000140311042105055015725 00000000000000 s.marechal@jejik.com (Sander Marechal) Dokumentacja użytkownika gry Kierki 2006-11-06 GNOME Hearts is an implementation of the classic card game for the GNOME desktop. user's guide gnome-hearts-0.3/help/pl/Makefile.in0000644000175000017500000003705311042107704014302 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ # # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var/lib # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var/lib, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/omf.make $(top_srcdir)/xmldocs.make subdir = help/pl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ figdir = docname = gnome-hearts lang = pl omffile = gnome-hearts-pl.omf entities = fdl-appendix.xml legal.xml # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp omf_dest_dir = $(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/xmldocs.make $(top_srcdir)/omf.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/pl/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu help/pl/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 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 info: info-am info-am: install-data-am: install-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am 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 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-local .MAKE: install-am install-data-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-hook \ 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-data-local 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 \ uninstall-local omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ done touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(srcdir)/*.omf; do \ basefile=`basename $$file`; \ rm -f $(omf_dest_dir)/$$basefile; \ done -rmdir $(omf_dest_dir) -scrollkeeper-update -p $(scrollkeeper_localstate_dir) # If the following file is in a subdir (like help/) you need to add that to the path all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) dist-hook: app-dist-hook # 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: gnome-hearts-0.3/help/pl/legal.xml0000644000175000017500000000713011042105055014031 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. gnome-hearts-0.3/help/pl/gnome-hearts.xml0000644000175000017500000002636511042105055015351 00000000000000 ]>
Gnome Hearts User Documentation 2006 2007 Sander Marechal Sander Marechal Stichting Lone Wolves
s.marechal@jejik.com
&legal; This documentation is for the TRUNK version of gnome-hearts.
Wprowadzenie Kierki są grą dla czterech graczy opartą na lewach. Celem gry jest wzięcie jak najmniejszej liczby punktowanych kart, przy czym punktowanymi kartami są zazwyczaj wszystkie kiery i dama pik. Gdy tylko jeden z graczy osiągnie ustaloną liczbę punktów, następuje koniec gry i gracz z najmniejszą liczbą punktów zostaje zwycięzcą. Granie w Kierki The game is played with four players. North, east and west are computer players and you are the south player. A game is made up of several rounds. In each round players gain points by taking point cards. The objective is to gain as few points as possible. The game ends as soon as one player reaches a set amount of points. The player with the lowest amount of points is declared the winner. How many points a card is and when the game ends depends on the ruleset. See the game preferences for more details. Każdemu z graczy rozdawana jest pełna dłoń na początku rundy. Możesz wybrać trzy karty, których nie chcesz, i przekazać je innemu z graczy. W pierwszej rundzie gry karty przekazywane są w lewo, w drugiej przez środek stołu, w trzeciej w prawo, a w czwartej rundzie karty nie mogą być przekazane. Kliknij trzy karty, które chcesz przekazać, a następnie kliknij gracza, któremu chcesz je dać. Kiedy karty zostaną przekazane, zaczyna się runda. Rundy składają się z kolejnych lew. Każdy z graczy rzuca jedną kartę podczas lewy. Lewa jest rozpoczynana przez gracza, który wziął poprzednią lewę. Inni gracze muszą grać kartami tego samego koloru, co karta, która rozpoczęła lewę. Jeśli nie możesz zagrać do lewy, możesz zagrać inną kartą. Kliknij kartę na swojej ręce, by ją zagrać. Karta, którą możesz zagrać, po najechaniu na nią myszką stanie się niebieska. Gracz, który zagrał najwyższą kartę zgodną kolorem z rozpoczynającą kartą, zabiera lewę i dostaje punkty. Runda się kończy, kiedy wszystkie karty zostaną zagrane. Punkty zebrane przez każdego z graczy są do siebie dodawane. Jeśli żaden z graczy nie przekroczył limitu, rozpoczyna się kolejna runda. Menu Pasek menu w górnej części aplikacji zawiera następujące menu: Game CtrlN New game - Start a new game of Hearts Restart - Restart the current round Scores - Show the score table Preferences - Open the preferences dialog CtrlQ Quit - Quit Hearts Widok F11 Fullscreen - Toggle fullscreen mode on and off CtrlT Toolbar - Toggle the toolbar on and off Statusbar - Toggle the statusbar on and off Kontrola gry CtrlZ Undo - Undo your last move CtrlShiftZ Redo - Redo a previously undone move F1 Hint - Have the computer give you a tip on what you should do Pomoc CtrlH Help - Open the help file for Gnome Hearts About - Shows some information about the Gnome Hearts version you are using Preferencje Okno dialogowe preferencji zawiera trzy zakładki: Game W tej zakładce możesz wybrać zbiór zasad i pewne umowne zasady. Każdy ze zbiorów zasad to inna odmiana Kierek. Standardowy The standard ruleset is what most people will be familiar with. All of the hearts are worth one point and the queen of spades is worth 13 points. The game ends as soon as one player reaches 100 points. You can also "shoot the moon" - that is taking all the hearts and the queen of spades in a single round. Your score will be reduced 26 points instead of increased by 26 points. You can also "shoot the sun" by taking all the tricks in a round. In that case your score is reduced by 52 points. Omnibus Zbiór zasad omnibus jest prawie identyczny względem standardowego, ale z bonusową kartą. Graczowi, który weźmie waleta karo, odejmowanych jest 10 punktów. Nie musisz brać tej karty, jeśli chcesz zebrać wszystkie karty punktowane. Omnibus alternatywny Ten zbiór zasad od omnibusa różni się tylko tym, że bonusową kartą jest dziesiątka karo. Wypunktowane karo All the hearts cards are worth their face value, with 11 points for the jack, 12 points for the queen, 13 points for the king and 14 points for the ace. The queen of spades is worth 25 points and the game ends when the first player reaches 500 points. "Shooting the moon" will reduce your score by 129 points and shooting the sun will reduce it by 258 points. Możesz też ustalić pewne dodatkowe, umowne zasady. Dwójka pik zaczyna rundę Kiedy ta opcja jest zaznaczona, gracz posiadający dwójkę pik rozpoczyna pierwszą lewę w rundzie tą kartą. Kiedy nie jest zaznaczona, zawsze ty zaczynasz pierwszą lewę. Należy "złamać serca", zanim zacznie się lewę kierem Hearts are "broken" when a player cannot follow the suit in a trick and plays a hearts card instead. When this rule is enabled, you cannot start a trick with hearts until hearts are "broken" this way. Nie można zagrać punktowanymi kartami w pierwszej lewie Gdy ta opcja jest włączona, nie możesz zagrać kierem lub damą pik w pierwszej lewie rundy. Nadal możesz zagrać kartą bonusową, jeśli używasz któregoś ze zbiorów zasad omnibus. Rywale On this tab you can choose which computer opponents you want to play against. Simply select their names from the dropdown list. Hearts opponents are implemented in Python scripts. You can easily create and modify the players by editing these scripts. For more information about editing players, see the Developer Documentation on the hearts website. Styl Ta zakładka pozwala ci dostosować wygląd Kierek. Możesz ustawić obrazek na tło gry i wybrać, jaką talią kart chcesz grać. Jeśli masz zainstalowaną aplikację gnome-games, opcjonalnie wraz z pakietem gnome-games-extra-data, możesz wybrać również jedną z talii z tych pakietów. &GFDL;
gnome-hearts-0.3/help/pl/fdl-appendix.xml0000644000175000017500000006525011042105055015327 00000000000000 Version 1.1, March 2000 2000Free Software Foundation, Inc.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
GNU Free Documentation License 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title Page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled Acknowledgements or Dedications, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled Endorsements. Such a section may not be included in the Modified Version. N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version . 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. Addendum To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled GNU Free Documentation License.
If you have no Invariant Sections, write with no Invariant Sections instead of saying which ones are invariant. If you have no Front-Cover Texts, write no Front-Cover Texts instead of Front-Cover Texts being LIST; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
gnome-hearts-0.3/xmldocs.make0000644000175000017500000000612111042105057013171 00000000000000# # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # ************* Begin of section some packagers may need to modify ************** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. # docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) docdir = $(datadir)/gnome/help/$(docname)/$(lang) # ************** You should not have to edit below this line ******************* xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp # If the following file is in a subdir (like help/) you need to add that to the path include $(top_srcdir)/omf.make all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) gnome-hearts-0.3/Makefile.in0000644000175000017500000005423311042116772012743 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ TODO config.guess config.sub depcomp install-sh missing \ mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in 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 = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(desktopdir)" desktopDATA_INSTALL = $(INSTALL_DATA) DATA = $(desktop_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive 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); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = help man pixmaps po scripts src desktopdir = $(datadir)/applications/ desktop_in_files = gnome-hearts.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) EXTRA_DIST = \ gnome-hearts.desktop.in \ xmldocs.make \ omf.make \ COPYING-DOCS DISTCLEANFILES = \ gnome-hearts.desktop 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 '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ 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) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 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) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)" @list='$(desktop_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(desktopDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(desktopdir)/$$f'"; \ $(desktopDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(desktopdir)/$$f"; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(desktopdir)/$$f'"; \ rm -f "$(DESTDIR)$(desktopdir)/$$f"; \ done # 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): @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; \ (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): @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; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (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; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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 || \ tags="$$tags $$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; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ 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)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$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; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -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-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) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(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) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(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) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && 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 $(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: @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 $(DATA) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(desktopdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done 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 -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 info: info-recursive info-am: install-data-am: install-desktopDATA install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive 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: uninstall-desktopDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ dist-lzma dist-shar dist-tarZ dist-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-desktopDATA 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 \ uninstall-desktopDATA @INTLTOOL_DESKTOP_RULE@ # 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: gnome-hearts-0.3/TODO0000644000175000017500000000024311042105057011350 00000000000000gnome-hearts -- TODO * Undo/redo support * Implement suitable structs as proper GObjects * More and better AI's * More rulesets * Add better icons and card decks gnome-hearts-0.3/install-sh0000755000175000017500000003246411042107704012677 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-12-25.00 # 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-end: "$" # End: gnome-hearts-0.3/man/0000777000175000017500000000000011042174156011526 500000000000000gnome-hearts-0.3/man/Makefile.am0000644000175000017500000000015711042105056013472 00000000000000## Process this file with automake to produce Makefile.in man_MANS = gnome-hearts.6 EXTRA_DIST = $(man_MANS) gnome-hearts-0.3/man/gnome-hearts.60000644000175000017500000000230011042105056014106 00000000000000.TH "GNOME-HEARTS" "6" .SH "NAME" gnome-hearts \(em play a game of hearts .SH "USAGE" .PP gnome-hearts [--show-cards] .PP Gnome hearts is an implementation of the classic card game for the GNOME desktop, featuring configurable rulesets and editable computer opponents to satisfy widely diverging playing styles. .PP The full documentation is written in DocBook XML and can be accessed through the GNOME help system. .SH "OPTIONS" .IP --show-cards Show all the card faces when playing the game. Useful for debugging your own AI players. .SH "FILES" .I $XDG_CONFIG_HOME/gnome-hearts/gnome-hearts.cfg .RS This file stores the configuration for gnome-hearts. It is automatically created when you start the game for the first time. On most systems, $XDG_CONFIG_HOME points to ~/.config .SH "AUTHOR" .PP Gnome Hearts was written by Sander Marechal .PP This manual page was written by Sander Marechal . Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. gnome-hearts-0.3/man/Makefile.in0000644000175000017500000002736311042107705013516 00000000000000# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 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@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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 = : subdir = man 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.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = man6dir = $(mandir)/man6 am__installdirs = "$(DESTDIR)$(man6dir)" NROFF = nroff MANS = $(man_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_DATA_DIR = @CONFIG_DATA_DIR@ 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_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_HEARTS_CFLAGS = @GNOME_HEARTS_CFLAGS@ GNOME_HEARTS_LIBS = @GNOME_HEARTS_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_DIR = @PYTHON_DIR@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SCROLLKEEPER_BUILD_REQUIRED = @SCROLLKEEPER_BUILD_REQUIRED@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ man_MANS = gnome-hearts.6 EXTRA_DIST = $(man_MANS) 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 \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu man/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 install-man6: $(man6_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man6dir)" || $(MKDIR_P) "$(DESTDIR)$(man6dir)" @list='$(man6_MANS) $(dist_man6_MANS) $(nodist_man6_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.6*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 6*) ;; \ *) ext='6' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man6dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man6dir)/$$inst"; \ done uninstall-man6: @$(NORMAL_UNINSTALL) @list='$(man6_MANS) $(dist_man6_MANS) $(nodist_man6_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.6*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 6*) ;; \ *) ext='6' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " rm -f '$(DESTDIR)$(man6dir)/$$inst'"; \ rm -f "$(DESTDIR)$(man6dir)/$$inst"; \ done 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 $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$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 $(MANS) installdirs: for dir in "$(DESTDIR)$(man6dir)"; 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) 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 info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-man6 install-pdf: install-pdf-am install-ps: 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-man uninstall-man: uninstall-man6 .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-man6 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-man uninstall-man6 # 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: gnome-hearts-0.3/NEWS0000644000175000017500000000170711042105057011365 00000000000000gnome-hearts NEWS -- history of user-visible changes. Version 0.3 * Added three new AI players and improved the others * Player scores can be displayed on the playing area * Queen of Spades can optionally break hearts * Added a --show-cards commandline option for AI writers * Updated all translations Version 0.2.1 * Fixed several bugs that could cause a crash * Merged in the new translations from Rosetta * Added Greek and Slovak translations * Added Simplified Chineese, German and Spanish documentation Version 0.2 * Ported the AI scripts from Lua to Python * Added the "shooting the sun" rule. * Merged in the new translations from Rosetta Version 0.1.3 * Added Polish docomentation * Merged in the new translations from Rosetta Version 0.1.2 * Merged in the new translations from Rosetta Version 0.1.1 * gnome-hearts now build properly on Suse and other distributions that package Lua as liblua instead of liblua50. Version 0.1 * Initial release