From 63181522c711044d12b9c86514049c8aac9e1101 Mon Sep 17 00:00:00 2001 From: Christoph Egger Date: Sat, 3 Jan 2009 22:15:40 +0100 Subject: [PATCH] Import upstream Source --- AUTHORS | 0 COPYING | 340 +++ ChangeLog | 0 INSTALL | 182 ++ Makefile | 418 +++ Makefile.am | 48 + Makefile.in | 418 +++ NEWS | 0 README | 0 acconfig.h | 7 + aclocal.m4 | 648 ++++ autogen.sh | 19 + autoscan-2.53.log | 15 + autoscan.log | 15 + compile | 99 + config.h | 138 + config.h.in | 137 + config.log | 680 +++++ config.status | 1008 +++++++ configure | 6830 +++++++++++++++++++++++++++++++++++++++++++ configure.in | 34 + configure.in-bak | 34 + configure.scan | 28 + depcomp | 423 +++ gamazons.glade | 2135 ++++++++++++++ gamazons.glade.bak | 2135 ++++++++++++++ gamazons.gladep | 7 + gamazons.gladep.bak | 7 + install-sh | 251 ++ missing | 198 ++ mkinstalldirs | 40 + pixmaps/Makefile | 322 ++ pixmaps/Makefile.am | 47 + pixmaps/Makefile.in | 322 ++ pixmaps/a_black.png | Bin 0 -> 2433 bytes pixmaps/a_black_square.png | Bin 0 -> 507 bytes pixmaps/a_grey_square.png | Bin 0 -> 629 bytes pixmaps/a_white.png | Bin 0 -> 1750 bytes pixmaps/a_white_square.png | Bin 0 -> 605 bytes pixmaps/aaron.theme | 6 + pixmaps/aaron2.theme | 6 + pixmaps/b_black.png | Bin 0 -> 2444 bytes pixmaps/b_black_square.png | Bin 0 -> 507 bytes pixmaps/b_grey_square.png | Bin 0 -> 666 bytes pixmaps/b_white.png | Bin 0 -> 1828 bytes pixmaps/b_white_square.png | Bin 0 -> 605 bytes pixmaps/black.png | Bin 0 -> 385 bytes pixmaps/black_square.png | Bin 0 -> 151 bytes pixmaps/charcoal_square.png | Bin 0 -> 1889 bytes pixmaps/default.theme | 6 + pixmaps/gamazons.desktop | 37 + pixmaps/gnome-gamazons.png | Bin 0 -> 2485 bytes pixmaps/gold.png | Bin 0 -> 2449 bytes pixmaps/grey_square.png | Bin 0 -> 152 bytes pixmaps/pearl.png | Bin 0 -> 2348 bytes pixmaps/plain.theme | 6 + pixmaps/purple.png | Bin 0 -> 2157 bytes pixmaps/purple2.png | Bin 0 -> 2386 bytes pixmaps/white.png | Bin 0 -> 374 bytes pixmaps/white_square.png | Bin 0 -> 151 bytes po/ChangeLog | 0 po/Makefile | 247 ++ po/Makefile.in | 243 ++ po/Makefile.in.in | 243 ++ po/POTFILES | 4 + po/POTFILES.in | 6 + src/.board.c.swn | Bin 0 -> 16384 bytes src/.board.c.swo | Bin 0 -> 16384 bytes src/.board.c.swp | Bin 0 -> 16384 bytes src/.bstate.c.swp | Bin 0 -> 36864 bytes src/.bstate.h.swp | Bin 0 -> 12288 bytes src/.callbacks.c.swp | Bin 0 -> 53248 bytes src/.chess-board.h.swp | Bin 0 -> 12288 bytes src/.deps/board.P | 756 +++++ src/.deps/bstate.P | 754 +++++ src/.deps/callbacks.P | 764 +++++ src/.deps/eval.P | 45 + src/.deps/interface.P | 760 +++++ src/.deps/main.P | 760 +++++ src/.deps/moves.P | 757 +++++ src/.deps/support.P | 757 +++++ src/.deps/unit-test.P | 29 + src/.main.c.swp | Bin 0 -> 12288 bytes src/Makefile | 383 +++ src/Makefile.am | 44 + src/Makefile.in | 383 +++ src/amazons.h | 238 ++ src/board.c | 1481 ++++++++++ src/board.c-bak | 1724 +++++++++++ src/board.h | 136 + src/bstate.c | 569 ++++ src/bstate.h | 48 + src/bugs | 3 + src/callbacks.c | 1074 +++++++ src/callbacks.h | 104 + src/docs | 2 + src/eval.c | 1097 +++++++ src/gamazon.bugs | 43 + src/gamazons.html | 201 ++ src/interface.c | 1002 +++++++ src/interface.c.bak | 996 +++++++ src/interface.h | 6 + src/interface.h.bak | 6 + src/main-boarddrawn.c | 249 ++ src/main.c | 62 + src/moves.c | 2203 ++++++++++++++ src/networking.txt | 77 + src/support.c | 115 + src/support.h | 37 + src/thots | 360 +++ src/topic.dat | 5 + src/unit-test.c | 231 ++ src/unit-test.h | 8 + stamp-h | 1 + stamp-h.in | 1 + stamp-h1.in | 0 stamp-h2.in | 0 stamp-h3.in | 0 stamp-h4.in | 0 119 files changed, 36060 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 INSTALL create mode 100644 Makefile create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 acconfig.h create mode 100644 aclocal.m4 create mode 100755 autogen.sh create mode 100644 autoscan-2.53.log create mode 100644 autoscan.log create mode 100755 compile create mode 100644 config.h create mode 100644 config.h.in create mode 100644 config.log create mode 100755 config.status create mode 100755 configure create mode 100644 configure.in create mode 100644 configure.in-bak create mode 100644 configure.scan create mode 100755 depcomp create mode 100644 gamazons.glade create mode 100644 gamazons.glade.bak create mode 100644 gamazons.gladep create mode 100644 gamazons.gladep.bak create mode 100755 install-sh create mode 100755 missing create mode 100755 mkinstalldirs create mode 100644 pixmaps/Makefile create mode 100644 pixmaps/Makefile.am create mode 100644 pixmaps/Makefile.in create mode 100644 pixmaps/a_black.png create mode 100644 pixmaps/a_black_square.png create mode 100644 pixmaps/a_grey_square.png create mode 100644 pixmaps/a_white.png create mode 100644 pixmaps/a_white_square.png create mode 100644 pixmaps/aaron.theme create mode 100644 pixmaps/aaron2.theme create mode 100644 pixmaps/b_black.png create mode 100644 pixmaps/b_black_square.png create mode 100644 pixmaps/b_grey_square.png create mode 100644 pixmaps/b_white.png create mode 100644 pixmaps/b_white_square.png create mode 100644 pixmaps/black.png create mode 100644 pixmaps/black_square.png create mode 100644 pixmaps/charcoal_square.png create mode 100644 pixmaps/default.theme create mode 100644 pixmaps/gamazons.desktop create mode 100644 pixmaps/gnome-gamazons.png create mode 100644 pixmaps/gold.png create mode 100644 pixmaps/grey_square.png create mode 100644 pixmaps/pearl.png create mode 100644 pixmaps/plain.theme create mode 100644 pixmaps/purple.png create mode 100644 pixmaps/purple2.png create mode 100644 pixmaps/white.png create mode 100644 pixmaps/white_square.png create mode 100644 po/ChangeLog create mode 100644 po/Makefile create mode 100644 po/Makefile.in create mode 100644 po/Makefile.in.in create mode 100644 po/POTFILES create mode 100644 po/POTFILES.in create mode 100644 src/.board.c.swn create mode 100644 src/.board.c.swo create mode 100644 src/.board.c.swp create mode 100644 src/.bstate.c.swp create mode 100644 src/.bstate.h.swp create mode 100644 src/.callbacks.c.swp create mode 100644 src/.chess-board.h.swp create mode 100644 src/.deps/board.P create mode 100644 src/.deps/bstate.P create mode 100644 src/.deps/callbacks.P create mode 100644 src/.deps/eval.P create mode 100644 src/.deps/interface.P create mode 100644 src/.deps/main.P create mode 100644 src/.deps/moves.P create mode 100644 src/.deps/support.P create mode 100644 src/.deps/unit-test.P create mode 100644 src/.main.c.swp create mode 100644 src/Makefile create mode 100644 src/Makefile.am create mode 100644 src/Makefile.in create mode 100644 src/amazons.h create mode 100644 src/board.c create mode 100644 src/board.c-bak create mode 100644 src/board.h create mode 100644 src/bstate.c create mode 100644 src/bstate.h create mode 100644 src/bugs create mode 100644 src/callbacks.c create mode 100644 src/callbacks.h create mode 100644 src/docs create mode 100644 src/eval.c create mode 100644 src/gamazon.bugs create mode 100644 src/gamazons.html create mode 100644 src/interface.c create mode 100644 src/interface.c.bak create mode 100644 src/interface.h create mode 100644 src/interface.h.bak create mode 100644 src/main-boarddrawn.c create mode 100644 src/main.c create mode 100644 src/moves.c create mode 100644 src/networking.txt create mode 100644 src/support.c create mode 100644 src/support.h create mode 100644 src/thots create mode 100644 src/topic.dat create mode 100644 src/unit-test.c create mode 100644 src/unit-test.h create mode 100644 stamp-h create mode 100644 stamp-h.in create mode 100644 stamp-h1.in create mode 100644 stamp-h2.in create mode 100644 stamp-h3.in create mode 100644 stamp-h4.in diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + 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. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..e69de29 diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..b42a17a --- /dev/null +++ b/INSTALL @@ -0,0 +1,182 @@ +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, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + 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 at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' 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. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +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 supports 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=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH 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=PATH' 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' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +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 host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +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. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--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. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3727240 --- /dev/null +++ b/Makefile @@ -0,0 +1,418 @@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 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. + + +SHELL = /bin/sh + +srcdir = . +top_srcdir = . + +prefix = /usr/local +exec_prefix = ${prefix} + +bindir = ${exec_prefix}/bin +sbindir = ${exec_prefix}/sbin +libexecdir = ${exec_prefix}/libexec +datadir = ${prefix}/share +sysconfdir = ${prefix}/etc +sharedstatedir = ${prefix}/com +localstatedir = ${prefix}/var +libdir = ${exec_prefix}/lib +infodir = ${prefix}/info +mandir = ${prefix}/man +includedir = ${prefix}/include +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/gamazons +pkglibdir = $(libdir)/gamazons +pkgincludedir = $(includedir)/gamazons + +top_builddir = . + +ACLOCAL = aclocal-1.4 +AUTOCONF = autoconf +AUTOMAKE = automake-1.4 +AUTOHEADER = autoheader + +INSTALL = /usr/bin/install -c +INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_SCRIPT = ${INSTALL} +transform = s,x,x, + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CATALOGS = +CATOBJEXT = .gmo +CC = gcc +DATADIRNAME = share +GETTEXT_PACKAGE = gamazons +GMOFILES = +GMSGFMT = /usr/bin/msgfmt +INSTOBJEXT = .mo +INTLDEPS = +INTLLIBS = +INTLOBJS = +MAINT = # +MAKEINFO = makeinfo +MKINSTALLDIRS = ./mkinstalldirs +PACKAGE = gamazons +PACKAGE_CFLAGS = -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include +PACKAGE_LIBS = -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lxml2 -lz -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lpthread -lglib-2.0 +PKG_CONFIG = /usr/bin/pkg-config +POFILES = +POSUB = po +RANLIB = ranlib +USE_NLS = yes +VERSION = 0.83rc3 + +SUBDIRS = src po pixmaps + +EXTRA_DIST = \ + autogen.sh \ + gamazons.glade \ + gamazons.gladep + +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ +Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.h.in \ +configure configure.in install-sh missing mkinstalldirs + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + +$(ACLOCAL_M4): # configure.in + cd $(srcdir) && $(ACLOCAL) + +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +$(srcdir)/configure: #$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) + +config.h: stamp-h + @if test ! -f $@; then \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ + else :; fi +stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES= CONFIG_HEADERS=config.h \ + $(SHELL) ./config.status + @echo timestamp > stamp-h 2> /dev/null +$(srcdir)/config.h.in: #$(srcdir)/stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/stamp-h.in; \ + $(MAKE) $(srcdir)/stamp-h.in; \ + else :; fi +$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null + +mostlyclean-hdr: + +clean-hdr: + +distclean-hdr: + -rm -f config.h + +maintainer-clean-hdr: + +# 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. + + + +all-recursive install-data-recursive install-exec-recursive \ +installdirs-recursive install-recursive uninstall-recursive \ +check-recursive installcheck-recursive info-recursive dvi-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + 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) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ + rev="$$subdir $$rev"; \ + test "$$subdir" != "." || dot_seen=yes; \ + done; \ + test "$$dot_seen" = "no" && 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) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(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 + -rm -rf $(distdir) + GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz + mkdir $(distdir)/=build + mkdir $(distdir)/=inst + dc_install_base=`cd $(distdir)/=inst && pwd`; \ + cd $(distdir)/=build \ + && ../configure --srcdir=.. --prefix=$$dc_install_base \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist + -rm -rf $(distdir) + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" +dist: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +dist-all: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +distdir: $(DISTFILES) + -rm -rf $(distdir) + mkdir $(distdir) + -chmod 777 $(distdir) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + for subdir in $(SUBDIRS); do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive +check-am: all-am +check: check-recursive +installcheck-am: +installcheck: installcheck-recursive +all-recursive-am: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +install-exec-am: +install-exec: install-exec-recursive + +install-data-am: install-data-local +install-data: install-data-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-recursive +uninstall-am: +uninstall: uninstall-recursive +all-am: Makefile config.h +all-redirect: all-recursive-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: installdirs-recursive +installdirs-am: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic + +mostlyclean: mostlyclean-recursive + +clean-am: clean-hdr clean-tags clean-generic mostlyclean-am + +clean: clean-recursive + +distclean-am: distclean-hdr distclean-tags distclean-generic clean-am + +distclean: distclean-recursive + -rm -f config.status + +maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ + maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-recursive + -rm -f config.status + +.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +install-data-recursive uninstall-data-recursive install-exec-recursive \ +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +all-recursive check-recursive installcheck-recursive info-recursive \ +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ +install-exec-am install-exec install-data-local install-data-am \ +install-data install-am install uninstall-am uninstall all-redirect \ +all-am all installdirs-am installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean + + +install-data-local: + @$(NORMAL_INSTALL) + if test -d $(srcdir)/pixmaps; then \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + for pixmap in $(srcdir)/pixmaps/*.png; do \ + if test -f $$pixmap; then \ + $(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + fi \ + done \ + fi + + if test -d $(srcdir)/pixmaps; then \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + for pixmap in $(srcdir)/pixmaps/*.theme; do \ + if test -f $$pixmap; then \ + $(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/$(PACKAGE); \ + fi \ + done \ + fi + +dist-hook: + if test -d pixmaps; then \ + mkdir $(distdir)/pixmaps; \ + for pixmap in pixmaps/*.png; do \ + if test -f $$pixmap; then \ + cp -p $$pixmap $(distdir)/pixmaps; \ + fi \ + done \ + fi + + if test -d pixmaps; then \ + mkdir $(distdir)/pixmaps; \ + for pixmap in pixmaps/*.theme; do \ + if test -f $$pixmap; then \ + cp -p $$pixmap $(distdir)/$(PACKAGE); \ + fi \ + done \ + fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..6281bdf --- /dev/null +++ b/Makefile.am @@ -0,0 +1,48 @@ +## Process this file with automake to produce Makefile.in + +SUBDIRS = src po pixmaps + +EXTRA_DIST = \ + autogen.sh \ + gamazons.glade \ + gamazons.gladep + +install-data-local: + @$(NORMAL_INSTALL) + if test -d $(srcdir)/pixmaps; then \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + for pixmap in $(srcdir)/pixmaps/*.png; do \ + if test -f $$pixmap; then \ + $(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + fi \ + done \ + fi + + if test -d $(srcdir)/pixmaps; then \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + for pixmap in $(srcdir)/pixmaps/*.theme; do \ + if test -f $$pixmap; then \ + $(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/$(PACKAGE); \ + fi \ + done \ + fi + +dist-hook: + if test -d pixmaps; then \ + mkdir $(distdir)/pixmaps; \ + for pixmap in pixmaps/*.png; do \ + if test -f $$pixmap; then \ + cp -p $$pixmap $(distdir)/pixmaps; \ + fi \ + done \ + fi + + if test -d pixmaps; then \ + mkdir $(distdir)/pixmaps; \ + for pixmap in pixmaps/*.theme; do \ + if test -f $$pixmap; then \ + cp -p $$pixmap $(distdir)/$(PACKAGE); \ + fi \ + done \ + fi + diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..6d4a07b --- /dev/null +++ b/Makefile.in @@ -0,0 +1,418 @@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 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. + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = . + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +DATADIRNAME = @DATADIRNAME@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +INSTOBJEXT = @INSTOBJEXT@ +INTLDEPS = @INTLDEPS@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +PACKAGE = @PACKAGE@ +PACKAGE_CFLAGS = @PACKAGE_CFLAGS@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ + +SUBDIRS = src po pixmaps + +EXTRA_DIST = \ + autogen.sh \ + gamazons.glade \ + gamazons.gladep + +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ +Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.h.in \ +configure configure.in install-sh missing mkinstalldirs + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in + cd $(srcdir) && $(ACLOCAL) + +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) + +config.h: stamp-h + @if test ! -f $@; then \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ + else :; fi +stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES= CONFIG_HEADERS=config.h \ + $(SHELL) ./config.status + @echo timestamp > stamp-h 2> /dev/null +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/stamp-h.in; \ + $(MAKE) $(srcdir)/stamp-h.in; \ + else :; fi +$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null + +mostlyclean-hdr: + +clean-hdr: + +distclean-hdr: + -rm -f config.h + +maintainer-clean-hdr: + +# 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. + +@SET_MAKE@ + +all-recursive install-data-recursive install-exec-recursive \ +installdirs-recursive install-recursive uninstall-recursive \ +check-recursive installcheck-recursive info-recursive dvi-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + 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) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ + rev="$$subdir $$rev"; \ + test "$$subdir" != "." || dot_seen=yes; \ + done; \ + test "$$dot_seen" = "no" && 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) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(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 + -rm -rf $(distdir) + GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz + mkdir $(distdir)/=build + mkdir $(distdir)/=inst + dc_install_base=`cd $(distdir)/=inst && pwd`; \ + cd $(distdir)/=build \ + && ../configure --srcdir=.. --prefix=$$dc_install_base \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist + -rm -rf $(distdir) + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" +dist: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +dist-all: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +distdir: $(DISTFILES) + -rm -rf $(distdir) + mkdir $(distdir) + -chmod 777 $(distdir) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + for subdir in $(SUBDIRS); do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive +check-am: all-am +check: check-recursive +installcheck-am: +installcheck: installcheck-recursive +all-recursive-am: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +install-exec-am: +install-exec: install-exec-recursive + +install-data-am: install-data-local +install-data: install-data-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-recursive +uninstall-am: +uninstall: uninstall-recursive +all-am: Makefile config.h +all-redirect: all-recursive-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: installdirs-recursive +installdirs-am: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic + +mostlyclean: mostlyclean-recursive + +clean-am: clean-hdr clean-tags clean-generic mostlyclean-am + +clean: clean-recursive + +distclean-am: distclean-hdr distclean-tags distclean-generic clean-am + +distclean: distclean-recursive + -rm -f config.status + +maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ + maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-recursive + -rm -f config.status + +.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +install-data-recursive uninstall-data-recursive install-exec-recursive \ +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +all-recursive check-recursive installcheck-recursive info-recursive \ +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ +install-exec-am install-exec install-data-local install-data-am \ +install-data install-am install uninstall-am uninstall all-redirect \ +all-am all installdirs-am installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean + + +install-data-local: + @$(NORMAL_INSTALL) + if test -d $(srcdir)/pixmaps; then \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + for pixmap in $(srcdir)/pixmaps/*.png; do \ + if test -f $$pixmap; then \ + $(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + fi \ + done \ + fi + + if test -d $(srcdir)/pixmaps; then \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \ + for pixmap in $(srcdir)/pixmaps/*.theme; do \ + if test -f $$pixmap; then \ + $(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/$(PACKAGE); \ + fi \ + done \ + fi + +dist-hook: + if test -d pixmaps; then \ + mkdir $(distdir)/pixmaps; \ + for pixmap in pixmaps/*.png; do \ + if test -f $$pixmap; then \ + cp -p $$pixmap $(distdir)/pixmaps; \ + fi \ + done \ + fi + + if test -d pixmaps; then \ + mkdir $(distdir)/pixmaps; \ + for pixmap in pixmaps/*.theme; do \ + if test -f $$pixmap; then \ + cp -p $$pixmap $(distdir)/$(PACKAGE); \ + fi \ + done \ + fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..e69de29 diff --git a/acconfig.h b/acconfig.h new file mode 100644 index 0000000..0a76fa0 --- /dev/null +++ b/acconfig.h @@ -0,0 +1,7 @@ +#undef ENABLE_NLS +#undef HAVE_CATGETS +#undef HAVE_GETTEXT +#undef GETTEXT_PACKAGE +#undef HAVE_LC_MESSAGES +#undef HAVE_STPCPY +#undef HAVE_LIBSM diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..4dfc802 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,648 @@ +dnl aclocal.m4 generated automatically by aclocal 1.4-p6 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 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 This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +# Do all the work for Automake. 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. + +# serial 1 + +dnl Usage: +dnl AM_INIT_AUTOMAKE(package,version, [no-define]) + +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL]) +PACKAGE=[$1] +AC_SUBST(PACKAGE) +VERSION=[$2] +AC_SUBST(VERSION) +dnl test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi +ifelse([$3],, +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) +AC_REQUIRE([AM_SANITY_CHECK]) +AC_REQUIRE([AC_ARG_PROGRAM]) +dnl FIXME This is truly gross. +missing_dir=`cd $ac_aux_dir && pwd` +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) +AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) +AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) +AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) +AC_REQUIRE([AC_PROG_MAKE_SET])]) + +# Copyright 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# 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. +AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.4-p6])]) + +# +# Check to make sure that the build environment is sane. +# + +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftestfile +# 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 conftestfile 2> /dev/null` + if test "[$]*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftestfile` + fi + if test "[$]*" != "X $srcdir/configure conftestfile" \ + && test "[$]*" != "X conftestfile $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" = conftestfile + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +rm -f conftest* +AC_MSG_RESULT(yes)]) + +dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) +dnl The program must properly implement --version. +AC_DEFUN([AM_MISSING_PROG], +[AC_MSG_CHECKING(for working $2) +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if ($2 --version) < /dev/null > /dev/null 2>&1; then + $1=$2 + AC_MSG_RESULT(found) +else + $1="$3/missing $2" + AC_MSG_RESULT(missing) +fi +AC_SUBST($1)]) + +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# serial 1 + +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 +] +) + +# Define a conditional. + +AC_DEFUN([AM_CONDITIONAL], +[AC_SUBST($1_TRUE) +AC_SUBST($1_FALSE) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. + +AC_DEFUN([AM_CONFIG_HEADER], +[AC_PREREQ([2.12]) +AC_CONFIG_HEADER([$1]) +dnl When config.status generates a header, we must update the stamp-h file. +dnl This file resides in the same directory as the config header +dnl that is generated. We must strip everything past the first ":", +dnl and everything past the last "/". +AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl +ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, +<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, +<>; do + case " <<$>>CONFIG_HEADERS " in + *" <<$>>am_file "*<<)>> + echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx + ;; + esac + am_indx=`expr "<<$>>am_indx" + 1` +done<<>>dnl>>) +changequote([,]))]) + +# isc-posix.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + +# This test replaces the one in autoconf. +# Currently this macro should have the same name as the autoconf macro +# because gettext's gettext.m4 (distributed in the automake package) +# still uses it. Otherwise, the use in gettext.m4 makes autoheader +# give these diagnostics: +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + +undefine([AC_ISC_POSIX]) + +AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] +) + + +# serial 1 + +# @defmac AC_PROG_CC_STDC +# @maindex PROG_CC_STDC +# @ovindex CC +# If the C compiler in not in ANSI C mode by default, try to add an option +# to output variable @code{CC} to make it so. This macro tries various +# options that select ANSI C on some system or another. It considers the +# compiler to be in ANSI C mode if it handles function prototypes correctly. +# +# If you use this macro, you should check after calling it whether the C +# compiler has been set to accept ANSI C; if not, the shell variable +# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source +# code in ANSI C, you can make an un-ANSIfied copy of it by using the +# program @code{ansi2knr}, which comes with Ghostscript. +# @end defmac + +AC_DEFUN([AM_PROG_CC_STDC], +[AC_REQUIRE([AC_PROG_CC]) +AC_BEFORE([$0], [AC_C_INLINE]) +AC_BEFORE([$0], [AC_C_CONST]) +dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require +dnl a magic option to avoid problems with ANSI preprocessor commands +dnl like #elif. +dnl FIXME: can't do this because then AC_AIX won't work due to a +dnl circular dependency. +dnl AC_BEFORE([$0], [AC_PROG_CPP]) +AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) +AC_CACHE_VAL(am_cv_prog_cc_stdc, +[am_cv_prog_cc_stdc=no +ac_save_CC="$CC" +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + AC_TRY_COMPILE( +[#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; +} +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; +], [ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; +], +[am_cv_prog_cc_stdc="$ac_arg"; break]) +done +CC="$ac_save_CC" +]) +if test -z "$am_cv_prog_cc_stdc"; then + AC_MSG_RESULT([none needed]) +else + AC_MSG_RESULT($am_cv_prog_cc_stdc) +fi +case "x$am_cv_prog_cc_stdc" in + x|xno) ;; + *) CC="$CC $am_cv_prog_cc_stdc" ;; +esac +]) + + +dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) +dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page +dnl also defines GSTUFF_PKG_ERRORS on error +AC_DEFUN(PKG_CHECK_MODULES, [ + succeeded=no + + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + AC_MSG_CHECKING(for $2) + + if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + AC_MSG_CHECKING($1_CFLAGS) + $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` + AC_MSG_RESULT($$1_CFLAGS) + + AC_MSG_CHECKING($1_LIBS) + $1_LIBS=`$PKG_CONFIG --libs "$2"` + AC_MSG_RESULT($$1_LIBS) + else + $1_CFLAGS="" + $1_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + ifelse([$4], ,echo $$1_PKG_ERRORS,) + fi + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_LIBS) + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + ifelse([$3], , :, [$3]) + else + ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) + fi +]) + + + +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor , 12/15/1998 +# +# +# 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. +# Please note that the actual code is *not* freely available. +# +# +# If you make changes to this file, you MUST update the copy in +# acinclude.m4. [ aclocal dies on duplicate macros, so if +# we run 'aclocal -I macros/' then we'll run into problems +# once we've installed glib-gettext.m4 :-( ] +# + +AC_DEFUN([AM_GLIB_LC_MESSAGES], + [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]) + +dnl AM_GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_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 +]) + +# serial 5 + +AC_DEFUN(AM_GLIB_WITH_NLS, + dnl NLS is obligatory + [USE_NLS=yes + AC_SUBST(USE_NLS) + + dnl Figure out what method + nls_cv_force_use_gnu_gettext="no" + + 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 gettext or catgets are available (in this order) we + dnl use this. Else we have to fall back to GNU NLS library. + dnl catgets is only used if permitted by option --with-catgets. + nls_cv_header_intl= + nls_cv_header_libgt= + CATOBJEXT=NONE + XGETTEXT=: + + AC_CHECK_HEADER(libintl.h, + [AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, + [AC_TRY_LINK([#include ], [return (int) dgettext ("","")], + gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no)]) + + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + if test "$gt_cv_func_dgettext_libc" != "yes" ; then + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, dgettext, + gt_cv_func_dgettext_libintl=yes)]) + + if test "$gt_cv_func_dgettext_libc" != "yes" ; then + AC_MSG_CHECKING([if -liconv is needed to use gettext]) + AC_MSG_RESULT([]) + AC_CHECK_LIB(intl, dcgettext, + [gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv], + :,-liconv) + fi + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + LIBS="$LIBS -lintl $libintl_extra_libs"; + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + AC_DEFINE(HAVE_GETTEXT,1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AM_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 + AC_CHECK_FUNCS(dcgettext) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + AM_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], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + INSTOBJEXT=.mo + fi + fi + + # Added by Martin Baulig 12/15/98 for libc5 systems + if test "$gt_cv_func_dgettext_libc" != "yes" \ + && test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + LIBS=`echo $LIBS | sed -e 's/-lintl//'` + fi + ]) + + if test "$CATOBJEXT" = "NONE"; then + dnl Neither gettext nor catgets in included in the C library. + dnl Fall back on GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" != "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [always defined to indicate that i18n is enabled]) + else + dnl Unset this variable since we use the non-zero value as a flag. + CATOBJEXT= + fi + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no 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(INTLDEPS) + AC_SUBST(INTLLIBS) + AC_SUBST(INTLOBJS) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +AC_DEFUN(AM_GLIB_GNU_GETTEXT, + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ +unistd.h sys/param.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ +strdup __argz_count __argz_stringify __argz_next]) + + AM_GLIB_LC_MESSAGES + AM_GLIB_WITH_NLS + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + 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 Determine which catalog format we have (if any is needed) + dnl For now we know about two different formats: + dnl Linux libc-5 and the normal X/Open format + test -d po || mkdir po + if test "$CATOBJEXT" = ".cat"; then + AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) + + dnl Transform the SED scripts while copying because some dumb SEDs + dnl cannot handle comments. + sed -e '/^#/d' $srcdir/po/$msgformat-msg.sed > po/po2msg.sed + 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 + ]) + + diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..df6b078 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +PKG_NAME="the package." + +(test -f $srcdir/configure.in) || { + echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" + echo " top-level directory" + exit 1 +} + +which gnome-autogen.sh || { + echo "You need to install gnome-common from the GNOME CVS" + exit 1 +} +USE_GNOME2_MACROS=1 . gnome-autogen.sh diff --git a/autoscan-2.53.log b/autoscan-2.53.log new file mode 100644 index 0000000..e408b3c --- /dev/null +++ b/autoscan-2.53.log @@ -0,0 +1,15 @@ +autoscan-2.53: warning: missing AC_FUNC_MALLOC wanted by: + src/board.c:44 + src/eval.c:932 + src/eval.c:1007 + src/moves.c:1593 + src/moves.c:1710 +autoscan-2.53: warning: missing AC_PROG_AWK wanted by: + Makefile.in:209 + Makefile.in:224 + src/Makefile.in:230 + src/Makefile.in:240 +autoscan-2.53: warning: missing AC_PROG_LN_S wanted by: + Makefile.in:287 + pixmaps/Makefile.in:157 + src/Makefile.in:270 diff --git a/autoscan.log b/autoscan.log new file mode 100644 index 0000000..0816a1a --- /dev/null +++ b/autoscan.log @@ -0,0 +1,15 @@ +autoscan: warning: missing AC_FUNC_MALLOC wanted by: + src/board.c:44 + src/eval.c:932 + src/eval.c:1007 + src/moves.c:1593 + src/moves.c:1710 +autoscan: warning: missing AC_PROG_AWK wanted by: + Makefile.in:209 + Makefile.in:224 + src/Makefile.in:230 + src/Makefile.in:240 +autoscan: warning: missing AC_PROG_LN_S wanted by: + Makefile.in:287 + pixmaps/Makefile.in:157 + src/Makefile.in:270 diff --git a/compile b/compile new file mode 100755 index 0000000..9bb997a --- /dev/null +++ b/compile @@ -0,0 +1,99 @@ +#! /bin/sh + +# Wrapper for compilers which do not understand `-c -o'. + +# Copyright 1999, 2000 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, 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. + +# Usage: +# compile PROGRAM [ARGS]... +# `-o FOO.o' is removed from the args passed to the actual compile. + +prog=$1 +shift + +ofile= +cfile= +args= +while test $# -gt 0; do + case "$1" in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we do something ugly here. + ofile=$2 + shift + case "$ofile" in + *.o | *.obj) + ;; + *) + args="$args -o $ofile" + ofile= + ;; + esac + ;; + *.c) + cfile=$1 + args="$args $1" + ;; + *) + args="$args $1" + ;; + esac + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$prog" $args +fi + +# Name of file we expect compiler to create. +cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir $lockdir > /dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir $lockdir; exit 1" 1 2 15 + +# Run the compile. +"$prog" $args +status=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +fi + +rmdir $lockdir +exit $status diff --git a/config.h b/config.h new file mode 100644 index 0000000..a067ee6 --- /dev/null +++ b/config.h @@ -0,0 +1,138 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define if you have and it should be used (not on Ultrix). */ +#define HAVE_ALLOCA_H 1 + +/* Define if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define as __inline if that's what the C compiler calls it. */ +/* #undef inline */ + +/* Define to `long' if doesn't define. */ +/* #undef off_t */ + +/* Define to `unsigned' if doesn't define. */ +/* #undef size_t */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +/* #undef STACK_DIRECTION */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +#define ENABLE_NLS 1 +/* #undef HAVE_CATGETS */ +#define HAVE_GETTEXT 1 +#define GETTEXT_PACKAGE "gamazons" +#define HAVE_LC_MESSAGES 1 +/* #undef HAVE_STPCPY */ +/* #undef HAVE_LIBSM */ + +/* Define if you have the __argz_count function. */ +#define HAVE___ARGZ_COUNT 1 + +/* Define if you have the __argz_next function. */ +#define HAVE___ARGZ_NEXT 1 + +/* Define if you have the __argz_stringify function. */ +#define HAVE___ARGZ_STRINGIFY 1 + +/* Define if you have the dcgettext function. */ +#define HAVE_DCGETTEXT 1 + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 + +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + +/* Define if you have the strdup function. */ +#define HAVE_STRDUP 1 + +/* Define if you have the header file. */ +#define HAVE_ARGZ_H 1 + +/* Define if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "gamazons" + +/* Version number of package */ +#define VERSION "0.83rc3" + +/* Define if your file defines LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#define HAVE_GETTEXT 1 + +/* always defined to indicate that i18n is enabled */ +#define ENABLE_NLS 1 + diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..3e055cd --- /dev/null +++ b/config.h.in @@ -0,0 +1,137 @@ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if using alloca.c. */ +#undef C_ALLOCA + +/* Define to empty if the keyword does not work. */ +#undef const + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +#undef CRAY_STACKSEG_END + +/* Define if you have alloca, as a function or macro. */ +#undef HAVE_ALLOCA + +/* Define if you have and it should be used (not on Ultrix). */ +#undef HAVE_ALLOCA_H + +/* Define if you have a working `mmap' system call. */ +#undef HAVE_MMAP + +/* Define as __inline if that's what the C compiler calls it. */ +#undef inline + +/* Define to `long' if doesn't define. */ +#undef off_t + +/* Define to `unsigned' if doesn't define. */ +#undef size_t + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +#undef STACK_DIRECTION + +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS + +#undef ENABLE_NLS +#undef HAVE_CATGETS +#undef HAVE_GETTEXT +#undef GETTEXT_PACKAGE +#undef HAVE_LC_MESSAGES +#undef HAVE_STPCPY +#undef HAVE_LIBSM + +/* Define if you have the __argz_count function. */ +#undef HAVE___ARGZ_COUNT + +/* Define if you have the __argz_next function. */ +#undef HAVE___ARGZ_NEXT + +/* Define if you have the __argz_stringify function. */ +#undef HAVE___ARGZ_STRINGIFY + +/* Define if you have the dcgettext function. */ +#undef HAVE_DCGETTEXT + +/* Define if you have the getcwd function. */ +#undef HAVE_GETCWD + +/* Define if you have the getpagesize function. */ +#undef HAVE_GETPAGESIZE + +/* Define if you have the munmap function. */ +#undef HAVE_MUNMAP + +/* Define if you have the putenv function. */ +#undef HAVE_PUTENV + +/* Define if you have the setenv function. */ +#undef HAVE_SETENV + +/* Define if you have the setlocale function. */ +#undef HAVE_SETLOCALE + +/* Define if you have the strcasecmp function. */ +#undef HAVE_STRCASECMP + +/* Define if you have the strchr function. */ +#undef HAVE_STRCHR + +/* Define if you have the strdup function. */ +#undef HAVE_STRDUP + +/* Define if you have the header file. */ +#undef HAVE_ARGZ_H + +/* Define if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define if you have the header file. */ +#undef HAVE_NL_TYPES_H + +/* Define if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define if you have the header file. */ +#undef HAVE_STRING_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Version number of package */ +#undef VERSION + +/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* always defined to indicate that i18n is enabled */ +#undef ENABLE_NLS + diff --git a/config.log b/config.log new file mode 100644 index 0000000..0f4cf6e --- /dev/null +++ b/config.log @@ -0,0 +1,680 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by configure, which was +generated by GNU Autoconf 2.53. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = donut +uname -m = i686 +uname -r = 2.4.18 +uname -s = Linux +uname -v = #1 Thu Nov 14 10:10:27 PST 2002 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = i686 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /bin +PATH: /usr/X11R6/bin +PATH: /usr/sbin +PATH: /usr/local/sbin +PATH: /sbin +PATH: /usr/local/j2sdk1.4.0/bin +PATH: /home/yorgasor/bin + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1228: checking for a BSD-compatible install +configure:1282: result: /usr/bin/install -c +configure:1293: checking whether build environment is sane +configure:1336: result: yes +configure:1351: checking whether make sets ${MAKE} +configure:1371: result: yes +configure:1403: checking for working aclocal-1.4 +configure:1410: result: found +configure:1418: checking for working autoconf +configure:1425: result: found +configure:1433: checking for working automake-1.4 +configure:1440: result: found +configure:1448: checking for working autoheader +configure:1455: result: found +configure:1463: checking for working makeinfo +configure:1470: result: found +configure:1479: checking whether to enable maintainer-specific portions of Makefiles +configure:1488: result: no +configure:1554: checking for gcc +configure:1570: found /usr/bin/gcc +configure:1580: result: gcc +configure:1824: checking for C compiler version +configure:1827: gcc --version &5 +gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7) +Copyright (C) 2002 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. + +configure:1830: $? = 0 +configure:1832: gcc -v &5 +Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit +Thread model: posix +gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7) +configure:1835: $? = 0 +configure:1837: gcc -V &5 +gcc: argument to `-V' is missing +configure:1840: $? = 1 +configure:1866: checking for C compiler default output +configure:1869: gcc conftest.c >&5 +configure:1872: $? = 0 +configure:1905: result: a.out +configure:1910: checking whether the C compiler works +configure:1916: ./a.out +configure:1919: $? = 0 +configure:1934: result: yes +configure:1941: checking whether we are cross compiling +configure:1943: result: no +configure:1946: checking for suffix of executables +configure:1948: gcc -o conftest conftest.c >&5 +configure:1951: $? = 0 +configure:1973: result: +configure:1979: checking for suffix of object files +configure:2003: gcc -c conftest.c >&5 +configure:2006: $? = 0 +configure:2025: result: o +configure:2029: checking whether we are using the GNU C compiler +configure:2056: gcc -c conftest.c >&5 +configure:2059: $? = 0 +configure:2062: test -s conftest.o +configure:2065: $? = 0 +configure:2077: result: yes +configure:2083: checking whether gcc accepts -g +configure:2107: gcc -c -g conftest.c >&5 +configure:2110: $? = 0 +configure:2113: test -s conftest.o +configure:2116: $? = 0 +configure:2126: result: yes +configure:2153: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: parse error before "me" +configure:2156: $? = 1 +configure: failed program was: +#ifndef __cplusplus + choke me +#endif +configure:2268: checking for strerror in -lcposix +configure:2301: gcc -o conftest -g -O2 conftest.c -lcposix >&5 +/usr/bin/ld: cannot find -lcposix +collect2: ld returned 1 exit status +configure:2304: $? = 1 +configure: failed program was: +#line 2275 "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +strerror (); + ; + return 0; +} +configure:2321: result: no +configure:2375: checking for gcc +configure:2401: result: gcc +configure:2645: checking for C compiler version +configure:2648: gcc --version &5 +gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7) +Copyright (C) 2002 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. + +configure:2651: $? = 0 +configure:2653: gcc -v &5 +Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit +Thread model: posix +gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7) +configure:2656: $? = 0 +configure:2658: gcc -V &5 +gcc: argument to `-V' is missing +configure:2661: $? = 1 +configure:2664: checking whether we are using the GNU C compiler +configure:2712: result: yes +configure:2718: checking whether gcc accepts -g +configure:2761: result: yes +configure:2788: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: parse error before "me" +configure:2791: $? = 1 +configure: failed program was: +#ifndef __cplusplus + choke me +#endif +configure:2904: checking for gcc option to accept ANSI C +configure:2969: gcc -c -g -O2 conftest.c >&5 +configure:2972: $? = 0 +configure:2975: test -s conftest.o +configure:2978: $? = 0 +configure:2992: result: none needed +configure:3008: checking how to run the C preprocessor +configure:3034: gcc -E conftest.c +configure:3040: $? = 0 +configure:3067: gcc -E conftest.c +configure:3063:28: ac_nonexistent.h: No such file or directory +configure:3073: $? = 1 +configure: failed program was: +#line 3062 "configure" +#include "confdefs.h" +#include +configure:3110: result: gcc -E +configure:3125: gcc -E conftest.c +configure:3131: $? = 0 +configure:3158: gcc -E conftest.c +configure:3154:28: ac_nonexistent.h: No such file or directory +configure:3164: $? = 1 +configure: failed program was: +#line 3153 "configure" +#include "confdefs.h" +#include +configure:3204: checking for ANSI C header files +configure:3218: gcc -E conftest.c +configure:3224: $? = 0 +configure:3309: gcc -o conftest -g -O2 conftest.c >&5 +configure:3312: $? = 0 +configure:3314: ./conftest +configure:3317: $? = 0 +configure:3331: result: yes +configure:3351: checking for pkg-config +configure:3369: found /usr/bin/pkg-config +configure:3382: result: /usr/bin/pkg-config +configure:3399: checking for libgnomeui-2.0 +configure:3403: result: yes +configure:3407: checking PACKAGE_CFLAGS +configure:3410: result: -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include +configure:3413: checking PACKAGE_LIBS +configure:3416: result: -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lxml2 -lz -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lpthread -lglib-2.0 +configure:3495: checking for ranlib +configure:3511: found /usr/bin/ranlib +configure:3522: result: ranlib +configure:3534: checking for gcc option to accept ANSI C +configure:3597: gcc -c -g -O2 conftest.c >&5 +configure:3600: $? = 0 +configure:3603: test -s conftest.o +configure:3606: $? = 0 +configure:3623: result: none needed +configure:3631: checking for an ANSI C-conforming const +configure:3701: gcc -c -g -O2 conftest.c >&5 +configure:3704: $? = 0 +configure:3707: test -s conftest.o +configure:3710: $? = 0 +configure:3720: result: yes +configure:3730: checking for inline +configure:3747: gcc -c -g -O2 conftest.c >&5 +configure:3750: $? = 0 +configure:3753: test -s conftest.o +configure:3756: $? = 0 +configure:3767: result: inline +configure:3796: checking for sys/types.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for sys/stat.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for stdlib.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for string.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for memory.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for strings.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for inttypes.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for stdint.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3796: checking for unistd.h +configure:3809: gcc -c -g -O2 conftest.c >&5 +configure:3812: $? = 0 +configure:3815: test -s conftest.o +configure:3818: $? = 0 +configure:3828: result: yes +configure:3840: checking for off_t +configure:3867: gcc -c -g -O2 conftest.c >&5 +configure:3870: $? = 0 +configure:3873: test -s conftest.o +configure:3876: $? = 0 +configure:3886: result: yes +configure:3898: checking for size_t +configure:3925: gcc -c -g -O2 conftest.c >&5 +configure:3928: $? = 0 +configure:3931: test -s conftest.o +configure:3934: $? = 0 +configure:3944: result: yes +configure:3958: checking for working alloca.h +configure:3982: gcc -o conftest -g -O2 conftest.c >&5 +configure:3985: $? = 0 +configure:3988: test -s conftest +configure:3991: $? = 0 +configure:4001: result: yes +configure:4011: checking for alloca +configure:4055: gcc -o conftest -g -O2 conftest.c >&5 +configure:4058: $? = 0 +configure:4061: test -s conftest +configure:4064: $? = 0 +configure:4074: result: yes +configure:4270: checking for stdlib.h +configure:4275: result: yes +configure:4270: checking for unistd.h +configure:4275: result: yes +configure:4383: checking for getpagesize +configure:4426: gcc -o conftest -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -s conftest +configure:4435: $? = 0 +configure:4445: result: yes +configure:4455: checking for working mmap +configure:4594: gcc -o conftest -g -O2 conftest.c >&5 +configure:4597: $? = 0 +configure:4599: ./conftest +configure:4602: $? = 0 +configure:4615: result: yes +configure:4649: checking argz.h usability +configure:4658: gcc -c -g -O2 conftest.c >&5 +configure:4661: $? = 0 +configure:4664: test -s conftest.o +configure:4667: $? = 0 +configure:4676: result: yes +configure:4680: checking argz.h presence +configure:4687: gcc -E conftest.c +configure:4693: $? = 0 +configure:4711: result: yes +configure:4729: checking for argz.h +configure:4736: result: yes +configure:4649: checking limits.h usability +configure:4658: gcc -c -g -O2 conftest.c >&5 +configure:4661: $? = 0 +configure:4664: test -s conftest.o +configure:4667: $? = 0 +configure:4676: result: yes +configure:4680: checking limits.h presence +configure:4687: gcc -E conftest.c +configure:4693: $? = 0 +configure:4711: result: yes +configure:4729: checking for limits.h +configure:4736: result: yes +configure:4649: checking locale.h usability +configure:4658: gcc -c -g -O2 conftest.c >&5 +configure:4661: $? = 0 +configure:4664: test -s conftest.o +configure:4667: $? = 0 +configure:4676: result: yes +configure:4680: checking locale.h presence +configure:4687: gcc -E conftest.c +configure:4693: $? = 0 +configure:4711: result: yes +configure:4729: checking for locale.h +configure:4736: result: yes +configure:4649: checking nl_types.h usability +configure:4658: gcc -c -g -O2 conftest.c >&5 +configure:4661: $? = 0 +configure:4664: test -s conftest.o +configure:4667: $? = 0 +configure:4676: result: yes +configure:4680: checking nl_types.h presence +configure:4687: gcc -E conftest.c +configure:4693: $? = 0 +configure:4711: result: yes +configure:4729: checking for nl_types.h +configure:4736: result: yes +configure:4649: checking malloc.h usability +configure:4658: gcc -c -g -O2 conftest.c >&5 +configure:4661: $? = 0 +configure:4664: test -s conftest.o +configure:4667: $? = 0 +configure:4676: result: yes +configure:4680: checking malloc.h presence +configure:4687: gcc -E conftest.c +configure:4693: $? = 0 +configure:4711: result: yes +configure:4729: checking for malloc.h +configure:4736: result: yes +configure:4640: checking for string.h +configure:4645: result: yes +configure:4640: checking for unistd.h +configure:4645: result: yes +configure:4649: checking sys/param.h usability +configure:4658: gcc -c -g -O2 conftest.c >&5 +configure:4661: $? = 0 +configure:4664: test -s conftest.o +configure:4667: $? = 0 +configure:4676: result: yes +configure:4680: checking sys/param.h presence +configure:4687: gcc -E conftest.c +configure:4693: $? = 0 +configure:4711: result: yes +configure:4729: checking for sys/param.h +configure:4736: result: yes +configure:4764: checking for getcwd +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for munmap +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for putenv +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for setenv +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for setlocale +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for strchr +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4779: warning: conflicting types for built-in function `strchr' +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for strcasecmp +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for strdup +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for __argz_count +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for __argz_stringify +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4764: checking for __argz_next +configure:4807: gcc -o conftest -g -O2 conftest.c >&5 +configure:4810: $? = 0 +configure:4813: test -s conftest +configure:4816: $? = 0 +configure:4826: result: yes +configure:4838: checking for LC_MESSAGES +configure:4862: gcc -o conftest -g -O2 conftest.c >&5 +configure:4865: $? = 0 +configure:4868: test -s conftest +configure:4871: $? = 0 +configure:4881: result: yes +configure:4913: checking libintl.h usability +configure:4922: gcc -c -g -O2 conftest.c >&5 +configure:4925: $? = 0 +configure:4928: test -s conftest.o +configure:4931: $? = 0 +configure:4940: result: yes +configure:4944: checking libintl.h presence +configure:4951: gcc -E conftest.c +configure:4957: $? = 0 +configure:4975: result: yes +configure:4993: checking for libintl.h +configure:5000: result: yes +configure:5005: checking for dgettext in libc +configure:5029: gcc -o conftest -g -O2 conftest.c >&5 +configure:5032: $? = 0 +configure:5035: test -s conftest +configure:5038: $? = 0 +configure:5048: result: yes +configure:5256: checking for msgfmt +configure:5283: result: /usr/bin/msgfmt +configure:5294: checking for dcgettext +configure:5337: gcc -o conftest -g -O2 conftest.c >&5 +configure:5340: $? = 0 +configure:5343: test -s conftest +configure:5346: $? = 0 +configure:5356: result: yes +configure:5368: checking for gmsgfmt +configure:5399: result: /usr/bin/msgfmt +configure:5408: checking for xgettext +configure:5435: result: /usr/bin/xgettext +configure:5462: gcc -o conftest -g -O2 conftest.c >&5 +configure:5465: $? = 0 +configure:5468: test -s conftest +configure:5471: $? = 0 +configure:5786: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.53. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on donut + +config.status:616: creating Makefile +config.status:616: creating src/Makefile +config.status:616: creating pixmaps/Makefile +config.status:616: creating po/Makefile.in +config.status:720: creating config.h +config.status:903: config.h is unchanged +config.status:998: executing default-1 commands +config.status:998: executing default-2 commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_c_inline=inline +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_func___argz_count=yes +ac_cv_func___argz_next=yes +ac_cv_func___argz_stringify=yes +ac_cv_func_alloca_works=yes +ac_cv_func_dcgettext=yes +ac_cv_func_getcwd=yes +ac_cv_func_getpagesize=yes +ac_cv_func_mmap_fixed_mapped=yes +ac_cv_func_munmap=yes +ac_cv_func_putenv=yes +ac_cv_func_setenv=yes +ac_cv_func_setlocale=yes +ac_cv_func_strcasecmp=yes +ac_cv_func_strchr=yes +ac_cv_func_strdup=yes +ac_cv_header_argz_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_libintl_h=yes +ac_cv_header_limits_h=yes +ac_cv_header_locale_h=yes +ac_cv_header_malloc_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_nl_types_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_param_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_lib_cposix_strerror=no +ac_cv_objext=o +ac_cv_path_GMSGFMT=/usr/bin/msgfmt +ac_cv_path_MSGFMT=/usr/bin/msgfmt +ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config +ac_cv_path_XGETTEXT=/usr/bin/xgettext +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_make_make_set=yes +ac_cv_type_off_t=yes +ac_cv_type_size_t=yes +ac_cv_working_alloca_h=yes +am_cv_prog_cc_stdc= +am_cv_val_LC_MESSAGES=yes +gt_cv_func_dgettext_libc=yes +gt_cv_func_dgettext_libintl=no +nls_cv_force_use_gnu_gettext=no +nls_cv_header_intl= +nls_cv_header_libgt= +nls_cv_use_gnu_gettext=no + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_NAME "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" +#define PACKAGE_STRING "" +#define PACKAGE_BUGREPORT "" +#define PACKAGE "gamazons" +#define VERSION "0.83rc3" +#define STDC_HEADERS 1 +#define GETTEXT_PACKAGE "gamazons" +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_ALLOCA_H 1 +#define HAVE_ALLOCA 1 +#define HAVE_STDLIB_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_GETPAGESIZE 1 +#define HAVE_MMAP 1 +#define HAVE_ARGZ_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_LOCALE_H 1 +#define HAVE_NL_TYPES_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_STRING_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_SYS_PARAM_H 1 +#define HAVE_GETCWD 1 +#define HAVE_MUNMAP 1 +#define HAVE_PUTENV 1 +#define HAVE_SETENV 1 +#define HAVE_SETLOCALE 1 +#define HAVE_STRCHR 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRDUP 1 +#define HAVE___ARGZ_COUNT 1 +#define HAVE___ARGZ_STRINGIFY 1 +#define HAVE___ARGZ_NEXT 1 +#define HAVE_LC_MESSAGES 1 +#define HAVE_GETTEXT 1 +#define HAVE_DCGETTEXT 1 +#define ENABLE_NLS 1 + +configure: exit 0 diff --git a/config.status b/config.status new file mode 100755 index 0000000..dd05745 --- /dev/null +++ b/config.status @@ -0,0 +1,1008 @@ +#! /bin/sh +# Generated by configure. +# 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 +SHELL=${CONFIG_SHELL-/bin/sh} + +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# NLS nuisances. +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + +(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && + { $as_unset LANG || test "${LANG+set}" != set; } || + { LANG=C; export LANG; } +(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && + { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || + { LC_ALL=C; export LC_ALL; } +(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && + { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || + { LC_TIME=C; export LC_TIME; } +(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && + { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || + { LC_CTYPE=C; export LC_CTYPE; } +(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && + { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || + { LANGUAGE=C; export LANGUAGE; } +(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && + { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || + { LC_COLLATE=C; export LC_COLLATE; } +(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && + { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || + { LC_NUMERIC=C; export LC_NUMERIC; } +(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && + { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || + { LC_MESSAGES=C; export LC_MESSAGES; } + + +# Name of the executable. +as_me=`(basename "$0") 2>/dev/null || +$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'` + +# PATH needs CR, and LINENO needs CR and PATH. +# 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" >conftest.sh + echo "exit 0" >>conftest.sh + chmod +x conftest.sh + if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conftest.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + 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 + + ;; + 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_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + 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=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # 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 before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, 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 + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +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 sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +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$$.file + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.53. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +config_files=" Makefile src/Makefile pixmaps/Makefile po/Makefile.in" +config_headers=" config.h" +config_commands=" default-1 default-2" + +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, then exit + -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 ." +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.53, + with options \"\" + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=. +INSTALL="/usr/bin/install -c" +# 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[^=]*=\(.*\)'` + shift + set dummy "$ac_option" "$ac_optarg" ${1+"$@"} + shift + ;; + -*);; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_need_defaults=false;; + esac + + case $1 in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running /bin/sh ./configure " " --no-create --no-recursion" + exec /bin/sh ./configure --no-create --no-recursion ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +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 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + shift + CONFIG_FILES="$CONFIG_FILES $1" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + shift + CONFIG_HEADERS="$CONFIG_HEADERS $1" + ac_need_defaults=false;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +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" ;; + + esac + shift +done + +# +# INIT-COMMANDS section. +# + + + + +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "pixmaps/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;; + "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "default-2" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-2" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { 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 + +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. +: ${TMPDIR=/tmp} +{ + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=$TMPDIR/cs$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } +} + + +# +# 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 + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF +s,@SHELL@,/bin/sh,;t t +s,@PATH_SEPARATOR@,:,;t t +s,@PACKAGE_NAME@,,;t t +s,@PACKAGE_TARNAME@,,;t t +s,@PACKAGE_VERSION@,,;t t +s,@PACKAGE_STRING@,,;t t +s,@PACKAGE_BUGREPORT@,,;t t +s,@exec_prefix@,${prefix},;t t +s,@prefix@,/usr/local,;t t +s,@program_transform_name@,s,x,x,,;t t +s,@bindir@,${exec_prefix}/bin,;t t +s,@sbindir@,${exec_prefix}/sbin,;t t +s,@libexecdir@,${exec_prefix}/libexec,;t t +s,@datadir@,${prefix}/share,;t t +s,@sysconfdir@,${prefix}/etc,;t t +s,@sharedstatedir@,${prefix}/com,;t t +s,@localstatedir@,${prefix}/var,;t t +s,@libdir@,${exec_prefix}/lib,;t t +s,@includedir@,${prefix}/include,;t t +s,@oldincludedir@,/usr/include,;t t +s,@infodir@,${prefix}/info,;t t +s,@mandir@,${prefix}/man,;t t +s,@build_alias@,,;t t +s,@host_alias@,,;t t +s,@target_alias@,,;t t +s,@DEFS@,-DHAVE_CONFIG_H,;t t +s,@ECHO_C@,,;t t +s,@ECHO_N@,-n,;t t +s,@ECHO_T@,,;t t +s,@LIBS@,,;t t +s,@INSTALL_PROGRAM@,${INSTALL},;t t +s,@INSTALL_SCRIPT@,${INSTALL},;t t +s,@INSTALL_DATA@,${INSTALL} -m 644,;t t +s,@PACKAGE@,gamazons,;t t +s,@VERSION@,0.83rc3,;t t +s,@ACLOCAL@,aclocal-1.4,;t t +s,@AUTOCONF@,autoconf,;t t +s,@AUTOMAKE@,automake-1.4,;t t +s,@AUTOHEADER@,autoheader,;t t +s,@MAKEINFO@,makeinfo,;t t +s,@SET_MAKE@,,;t t +s,@MAINTAINER_MODE_TRUE@,#,;t t +s,@MAINTAINER_MODE_FALSE@,,;t t +s,@MAINT@,#,;t t +s,@CC@,gcc,;t t +s,@CFLAGS@,-g -O2,;t t +s,@LDFLAGS@,,;t t +s,@CPPFLAGS@,,;t t +s,@ac_ct_CC@,gcc,;t t +s,@EXEEXT@,,;t t +s,@OBJEXT@,o,;t t +s,@CPP@,gcc -E,;t t +s,@PKG_CONFIG@,/usr/bin/pkg-config,;t t +s,@PACKAGE_CFLAGS@, -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include ,;t t +s,@PACKAGE_LIBS@, -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lxml2 -lz -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lpthread -lglib-2.0 ,;t t +s,@GETTEXT_PACKAGE@,gamazons,;t t +s,@RANLIB@,ranlib,;t t +s,@ac_ct_RANLIB@,ranlib,;t t +s,@ALLOCA@,,;t t +s,@USE_NLS@,yes,;t t +s,@MSGFMT@,/usr/bin/msgfmt,;t t +s,@GMSGFMT@,/usr/bin/msgfmt,;t t +s,@XGETTEXT@,/usr/bin/xgettext,;t t +s,@CATALOGS@,,;t t +s,@CATOBJEXT@,.gmo,;t t +s,@DATADIRNAME@,share,;t t +s,@GMOFILES@,,;t t +s,@INSTOBJEXT@,.mo,;t t +s,@INTLDEPS@,,;t t +s,@INTLLIBS@,,;t t +s,@INTLOBJS@,,;t t +s,@POFILES@,,;t t +s,@POSUB@,po,;t t +s,@MKINSTALLDIRS@,./mkinstalldirs,;t t +CEOF + + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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'` + { case "$ac_dir" in + [\\/]* | ?:[\\/]* ) as_incr_dir=;; + *) as_incr_dir=.;; +esac +as_dummy="$ac_dir" +for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do + case $as_mkdir_dir in + # Skip DOS drivespec + ?:) as_incr_dir=$as_mkdir_dir ;; + *) + as_incr_dir=$as_incr_dir/$as_mkdir_dir + test -d "$as_incr_dir" || + mkdir "$as_incr_dir" || + { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; } + ;; + esac +done; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # 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. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo $f;; + *) # Relative + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo $f;; + *) # Relative + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + + # Handle all the #define templates only if necessary. + if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then + # If there are no defines, we may have an empty if/fi + : + cat >$tmp/defines.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + cat >$tmp/defines.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + fi # egrep + + # Handle all the #undef templates + cat >$tmp/undefs.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + cat >$tmp/undefs.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + # 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. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if cmp -s $ac_file $tmp/config.h 2>/dev/null; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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'` + { case "$ac_dir" in + [\\/]* | ?:[\\/]* ) as_incr_dir=;; + *) as_incr_dir=.;; +esac +as_dummy="$ac_dir" +for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do + case $as_mkdir_dir in + # Skip DOS drivespec + ?:) as_incr_dir=$as_mkdir_dir ;; + *) + as_incr_dir=$as_incr_dir/$as_mkdir_dir + test -d "$as_incr_dir" || + mkdir "$as_incr_dir" || + { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; } + ;; + esac +done; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +done + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; + default-2 ) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + esac +done + +{ (exit 0); exit 0; } diff --git a/configure b/configure new file mode 100755 index 0000000..8fd53fd --- /dev/null +++ b/configure @@ -0,0 +1,6830 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.53. +# +# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + + +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# NLS nuisances. +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + +(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && + { $as_unset LANG || test "${LANG+set}" != set; } || + { LANG=C; export LANG; } +(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && + { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || + { LC_ALL=C; export LC_ALL; } +(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && + { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || + { LC_TIME=C; export LC_TIME; } +(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && + { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || + { LC_CTYPE=C; export LC_CTYPE; } +(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && + { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || + { LANGUAGE=C; export LANGUAGE; } +(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && + { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || + { LC_COLLATE=C; export LC_COLLATE; } +(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && + { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || + { LC_NUMERIC=C; export LC_NUMERIC; } +(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && + { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || + { LC_MESSAGES=C; export LC_MESSAGES; } + + +# Name of the executable. +as_me=`(basename "$0") 2>/dev/null || +$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'` + +# PATH needs CR, and LINENO needs CR and PATH. +# 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" >conftest.sh + echo "exit 0" >>conftest.sh + chmod +x conftest.sh + if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conftest.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + 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 + + ;; + 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_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + 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=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # 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 before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, 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 + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\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 sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +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$$.file + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } + + +# 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` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="configure.in" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + + +# 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. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +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 + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -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 | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$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" ;; + + -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'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + 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 ;; + + -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 ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + 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 ;; + + -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'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + 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; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + 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 paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +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 + + +# 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 its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$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 + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# 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 this package 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 \`..'] + +_ACEOF + + cat <<_ACEOF +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] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --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] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_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 + + 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 + +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 + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + 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. + +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style 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 + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +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 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.53. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +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` +hostinfo = `(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 + +} >&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. +# Also quote any args containing shell meta-characters. +ac_configure_args= +ac_sep= +for ac_arg +do + case $ac_arg in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n ) continue ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + ac_sep=" " ;; + esac + # Get rid of the leading space. +done + +# 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: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +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, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" 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 && + rm -rf 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 -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >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 -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; 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 `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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.4" +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 +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# 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" +# ./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/* | \ + /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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + 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 + + +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. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + 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 > conftestfile +# 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 conftestfile 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftestfile` + fi + if test "$*" != "X $srcdir/configure conftestfile" \ + && test "$*" != "X conftestfile $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" = conftestfile + ) +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 +rm -f conftest* +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 conftest.sed + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="${MAKE}"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$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 + + +PACKAGE=gamazons + +VERSION=0.83 + +if test "`cd $srcdir && pwd`" != "`pwd`" && 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 + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + + + +missing_dir=`cd $ac_aux_dir && pwd` +echo "$as_me:$LINENO: checking for working aclocal-${am__api_version}" >&5 +echo $ECHO_N "checking for working aclocal-${am__api_version}... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then + ACLOCAL=aclocal-${am__api_version} + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working autoconf" >&5 +echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (autoconf --version) < /dev/null > /dev/null 2>&1; then + AUTOCONF=autoconf + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + AUTOCONF="$missing_dir/missing autoconf" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working automake-${am__api_version}" >&5 +echo $ECHO_N "checking for working automake-${am__api_version}... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then + AUTOMAKE=automake-${am__api_version} + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + AUTOMAKE="$missing_dir/missing automake-${am__api_version}" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working autoheader" >&5 +echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (autoheader --version) < /dev/null > /dev/null 2>&1; then + AUTOHEADER=autoheader + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + AUTOHEADER="$missing_dir/missing autoheader" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working makeinfo" >&5 +echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (makeinfo --version) < /dev/null > /dev/null 2>&1; then + MAKEINFO=makeinfo + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + MAKEINFO="$missing_dir/missing makeinfo" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + + +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 or --disable-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 + + + +ac_config_headers="$ac_config_headers config.h" + +ac_config_commands="$ac_config_commands default-1" + + +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 $as_executable_p "$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 + +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 $as_executable_p "$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 + +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 + + CC=$ac_ct_CC +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 $as_executable_p "$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 + +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 "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_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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +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 + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +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 + set dummy "$as_dir/$ac_word" ${1+"$@"} + shift + ac_cv_prog_CC="$@" + 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 + 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 $as_executable_p "$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 + +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 +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 $as_executable_p "$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 + +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 + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH" >&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` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&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 +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe" +# 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" >&5 +echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null; + ls a.out conftest 2>/dev/null; + ls a.* conftest.* 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;; + a.out ) # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool --akim. + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables" >&5 +echo "$as_me: error: C compiler cannot create executables" >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check 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' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&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'." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'." >&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 +ac_clean_files=$ac_clean_files_save +# Check 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&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 +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&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 +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_compiler_gnu=no +fi +rm -f 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 +CFLAGS="-g" +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 + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_prog_cc_g=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +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 +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + ''\ + '#include ' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +$ac_declaration +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +continue +fi +rm -f conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_declaration +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +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 strerror in -lcposix" >&5 +echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 +if test "${ac_cv_lib_cposix_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcposix $LIBS" +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +strerror (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_cposix_strerror=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_cposix_strerror=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 +echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 +if test $ac_cv_lib_cposix_strerror = yes; then + LIBS="$LIBS -lcposix" +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 +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 $as_executable_p "$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 + +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 $as_executable_p "$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 + +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 + + CC=$ac_ct_CC +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 $as_executable_p "$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 + +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 "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_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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +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 + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +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 + set dummy "$as_dir/$ac_word" ${1+"$@"} + shift + ac_cv_prog_CC="$@" + 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 + 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 $as_executable_p "$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 + +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 +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 $as_executable_p "$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 + +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 + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH" >&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` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +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 +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_compiler_gnu=no +fi +rm -f 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 +CFLAGS="-g" +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 + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_prog_cc_g=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +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 +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + ''\ + '#include ' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +$ac_declaration +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +continue +fi +rm -f conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_declaration +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +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 ${CC-cc} option to accept ANSI C" >&5 +echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 +if test "${am_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + am_cv_prog_cc_stdc=no +ac_save_CC="$CC" +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "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; +} +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; + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_prog_cc_stdc="$ac_arg"; break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done +CC="$ac_save_CC" + +fi + +if test -z "$am_cv_prog_cc_stdc"; then + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 +else + echo "$as_me:$LINENO: result: $am_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 +fi +case "x$am_cv_prog_cc_stdc" in + x|xno) ;; + *) CC="$CC $am_cv_prog_cc_stdc" ;; +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 +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. + # 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 +#line $LINENO "configure" +#include "confdefs.h" +#include + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 + cat 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 non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 + cat 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. + # 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 +#line $LINENO "configure" +#include "confdefs.h" +#include + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 + cat 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 non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 + cat 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" >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&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 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 +#line $LINENO "configure" +#include "confdefs.h" +#include +#include +#include +#include + +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_header_stdc=no +fi +rm -f conftest.err 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 +#line $LINENO "configure" +#include "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 +#line $LINENO "configure" +#include "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 +#line $LINENO "configure" +#include "confdefs.h" +#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)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&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 +cat conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core core.* *.core 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 + + +GNOME_COMPILE_WARNINGS + +pkg_modules="libgnomeui-2.0" + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # 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_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 $as_executable_p "$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 + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +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 "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for $pkg_modules" >&5 +echo $ECHO_N "checking for $pkg_modules... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "$pkg_modules" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking PACKAGE_CFLAGS" >&5 +echo $ECHO_N "checking PACKAGE_CFLAGS... $ECHO_C" >&6 + PACKAGE_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules"` + echo "$as_me:$LINENO: result: $PACKAGE_CFLAGS" >&5 +echo "${ECHO_T}$PACKAGE_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking PACKAGE_LIBS" >&5 +echo $ECHO_N "checking PACKAGE_LIBS... $ECHO_C" >&6 + PACKAGE_LIBS=`$PKG_CONFIG --libs "$pkg_modules"` + echo "$as_me:$LINENO: result: $PACKAGE_LIBS" >&5 +echo "${ECHO_T}$PACKAGE_LIBS" >&6 + else + PACKAGE_CFLAGS="" + PACKAGE_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + PACKAGE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$pkg_modules"` + echo $PACKAGE_PKG_ERRORS + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + : + else + { { echo "$as_me:$LINENO: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { (exit 1); exit 1; }; } + fi + + + + +GETTEXT_PACKAGE=gamazons + +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + + +ALL_LINGUAS="" +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; 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_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "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; +} +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; +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_c_const=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#ifndef __cplusplus +static $ac_kw int static_foo () {return 0; } +$ac_kw int foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_inline=$ac_kw; break +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext +done + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 +case $ac_cv_c_inline in + inline | yes) ;; + no) +cat >>confdefs.h <<\_ACEOF +#define inline +_ACEOF + ;; + *) cat >>confdefs.h <<_ACEOF +#define inline $ac_cv_c_inline +_ACEOF + ;; +esac + +# 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 eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_Header=no" +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 + + +echo "$as_me:$LINENO: checking for off_t" >&5 +echo $ECHO_N "checking for off_t... $ECHO_C" >&6 +if test "${ac_cv_type_off_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +if ((off_t *) 0) + return 0; +if (sizeof (off_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_off_t=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_type_off_t=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 +echo "${ECHO_T}$ac_cv_type_off_t" >&6 +if test $ac_cv_type_off_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define off_t long +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_size_t=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_type_size_t=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned +_ACEOF + +fi + +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +echo "$as_me:$LINENO: checking for working alloca.h" >&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 +if test "${ac_cv_working_alloca_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_working_alloca_h=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_working_alloca_h=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 +if test $ac_cv_working_alloca_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA_H 1 +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6 +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# if HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +char *p = (char *) alloca (1); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_alloca_works=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_func_alloca_works=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 + +if test $ac_cv_func_alloca_works = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 +_ACEOF + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF +#define C_ALLOCA 1 +_ACEOF + + +echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#if defined(CRAY) && ! defined(CRAY2) +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6 +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; 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 eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +char (*f) (); + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +/* 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 +#else +f = $ac_func; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_var=no" +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + exit (find_stack_direction () < 0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_stack_direction=1 +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_c_stack_direction=-1 +fi +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 + +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + + + +for ac_header in stdlib.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f 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 +#line $LINENO "configure" +#include "confdefs.h" +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 + cat 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 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 preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; + 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: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 + + +for ac_func in getpagesize +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 eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +char (*f) (); + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +/* 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 +#else +f = $ac_func; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_var=no" +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&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 + +echo "$as_me:$LINENO: checking for working mmap" >&5 +echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_mmap_fixed_mapped=no +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc + +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. + + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ + +#include +#include + +#if !STDC_HEADERS && !HAVE_STDLIB_H +char *malloc (); +#endif + +/* This mess was copied from the GNU getpagesize.h. */ +#if !HAVE_GETPAGESIZE +/* Assume that all systems that can run configure have sys/param.h. */ +# if !HAVE_SYS_PARAM_H +# define HAVE_SYS_PARAM_H 1 +# endif + +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# if HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ + +#endif /* no HAVE_GETPAGESIZE */ + +int +main () +{ + char *data, *data2, *data3; + int i, pagesize; + int fd; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + exit (1); + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + exit (1); + if (write (fd, data, pagesize) != pagesize) + exit (1); + close (fd); + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + exit (1); + data2 = (char *) malloc (2 * pagesize); + if (!data2) + exit (1); + data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + exit (1); + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + exit (1); + if (read (fd, data3, pagesize) != pagesize) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + exit (1); + close (fd); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_mmap_fixed_mapped=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +( exit $ac_status ) +ac_cv_func_mmap_fixed_mapped=no +fi +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 +if test $ac_cv_func_mmap_fixed_mapped = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP 1 +_ACEOF + +fi +rm -f conftest.mmap + + + + + + + + + + +for ac_header in argz.h limits.h locale.h nl_types.h malloc.h string.h \ +unistd.h sys/param.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f 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 +#line $LINENO "configure" +#include "confdefs.h" +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 + cat 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 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 preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; + 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: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 + + + + + + + + + + + + +for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ +strdup __argz_count __argz_stringify __argz_next +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 eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +char (*f) (); + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +/* 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 +#else +f = $ac_func; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_var=no" +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&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 + + + 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 +#line $LINENO "configure" +#include "confdefs.h" +#include +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_val_LC_MESSAGES=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +am_cv_val_LC_MESSAGES=no +fi +rm -f conftest.$ac_objext 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 + + + nls_cv_force_use_gnu_gettext="no" + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + nls_cv_header_intl= + nls_cv_header_libgt= + CATOBJEXT=NONE + XGETTEXT=: + + 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 +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f 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 +#line $LINENO "configure" +#include "confdefs.h" +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 + cat 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 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 preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;};; + 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: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&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 + 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 +#line $LINENO "configure" +#include "confdefs.h" +#include +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +return (int) dgettext ("","") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_func_dgettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +gt_cv_func_dgettext_libc=no +fi +rm -f conftest.$ac_objext 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 + + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + if test "$gt_cv_func_dgettext_libc" != "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 +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char bindtextdomain (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +bindtextdomain (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_intl_bindtextdomain=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_intl_bindtextdomain=no +fi +rm -f conftest.$ac_objext 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 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 +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dgettext (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +dgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_intl_dgettext=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_intl_dgettext=no +fi +rm -f conftest.$ac_objext 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 + + + if test "$gt_cv_func_dgettext_libc" != "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 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 +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dcgettext (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +dcgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_intl_dcgettext=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_intl_dcgettext=no +fi +rm -f conftest.$ac_objext 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 + + fi + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + LIBS="$LIBS -lintl $libintl_extra_libs"; + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "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 + +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 eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +char (*f) (); + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +/* 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 +#else +f = $ac_func; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_var=no" +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&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 + + # 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 $as_executable_p "$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 + + 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 +#line $LINENO "configure" +#include "confdefs.h" + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +CATOBJEXT=.mo + DATADIRNAME=lib +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + INSTOBJEXT=.mo + fi + fi + + # Added by Martin Baulig 12/15/98 for libc5 systems + if test "$gt_cv_func_dgettext_libc" != "yes" \ + && test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + LIBS=`echo $LIBS | sed -e 's/-lintl//'` + fi + +fi + + + + if test "$CATOBJEXT" = "NONE"; then + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" != "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_NLS 1 +_ACEOF + + else + CATOBJEXT= + 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-2" + + + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + + + + + + + + + + + + + if test "x$CATOBJEXT" != "x"; 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 lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + 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 + + test -d po || mkdir po + if test "$CATOBJEXT" = ".cat"; then + if test "${ac_cv_header_linux_version_h+set}" = set; then + echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 +if test "${ac_cv_header_linux_version_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking linux/version.h usability" >&5 +echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f 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 linux/version.h presence" >&5 +echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 + cat 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 in + yes:no ) + { echo "$as_me:$LINENO: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;};; + no:yes ) + { echo "$as_me:$LINENO: WARNING: linux/version.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: linux/version.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: linux/version.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;};; +esac +echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 +if test "${ac_cv_header_linux_version_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_linux_version_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 + +fi +if test $ac_cv_header_linux_version_h = yes; then + msgformat=linux +else + msgformat=xopen +fi + + + + sed -e '/^#/d' $srcdir/po/$msgformat-msg.sed > po/po2msg.sed + 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 + + +ac_config_files="$ac_config_files Makefile src/Makefile pixmaps/Makefile po/Makefile.in" +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 overriden 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, don't put newlines in cache variables' values. +# 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. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *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 \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if cmp -s $cache_file confcache; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + 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}' + +# 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 + +DEFS=-DHAVE_CONFIG_H + + +: ${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 +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# NLS nuisances. +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + +(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && + { $as_unset LANG || test "${LANG+set}" != set; } || + { LANG=C; export LANG; } +(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && + { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || + { LC_ALL=C; export LC_ALL; } +(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && + { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || + { LC_TIME=C; export LC_TIME; } +(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && + { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || + { LC_CTYPE=C; export LC_CTYPE; } +(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && + { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || + { LANGUAGE=C; export LANGUAGE; } +(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && + { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || + { LC_COLLATE=C; export LC_COLLATE; } +(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && + { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || + { LC_NUMERIC=C; export LC_NUMERIC; } +(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && + { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || + { LC_MESSAGES=C; export LC_MESSAGES; } + + +# Name of the executable. +as_me=`(basename "$0") 2>/dev/null || +$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'` + +# PATH needs CR, and LINENO needs CR and PATH. +# 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" >conftest.sh + echo "exit 0" >>conftest.sh + chmod +x conftest.sh + if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conftest.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + 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 + + ;; + 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_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + 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=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # 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 before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, 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 + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +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 sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +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$$.file + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.53. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +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, then exit + -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="\\ +config.status +configured by $0, generated by GNU Autoconf 2.53, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_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[^=]*=\(.*\)'` + shift + set dummy "$ac_option" "$ac_optarg" ${1+"$@"} + shift + ;; + -*);; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_need_defaults=false;; + esac + + case $1 in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" + exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +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 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + shift + CONFIG_FILES="$CONFIG_FILES $1" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + shift + CONFIG_HEADERS="$CONFIG_HEADERS $1" + ac_need_defaults=false;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +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" ;; + + esac + shift +done + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + + + + +_ACEOF + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "pixmaps/Makefile" ) CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;; + "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "default-2" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-2" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { 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 + +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. +: ${TMPDIR=/tmp} +{ + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=$TMPDIR/cs$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# 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 + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t +s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t +s,@MAINT@,$MAINT,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@CPP@,$CPP,;t t +s,@PKG_CONFIG@,$PKG_CONFIG,;t t +s,@PACKAGE_CFLAGS@,$PACKAGE_CFLAGS,;t t +s,@PACKAGE_LIBS@,$PACKAGE_LIBS,;t t +s,@GETTEXT_PACKAGE@,$GETTEXT_PACKAGE,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@ALLOCA@,$ALLOCA,;t t +s,@USE_NLS@,$USE_NLS,;t t +s,@MSGFMT@,$MSGFMT,;t t +s,@GMSGFMT@,$GMSGFMT,;t t +s,@XGETTEXT@,$XGETTEXT,;t t +s,@CATALOGS@,$CATALOGS,;t t +s,@CATOBJEXT@,$CATOBJEXT,;t t +s,@DATADIRNAME@,$DATADIRNAME,;t t +s,@GMOFILES@,$GMOFILES,;t t +s,@INSTOBJEXT@,$INSTOBJEXT,;t t +s,@INTLDEPS@,$INTLDEPS,;t t +s,@INTLLIBS@,$INTLLIBS,;t t +s,@INTLOBJS@,$INTLOBJS,;t t +s,@POFILES@,$POFILES,;t t +s,@POSUB@,$POSUB,;t t +s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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'` + { case "$ac_dir" in + [\\/]* | ?:[\\/]* ) as_incr_dir=;; + *) as_incr_dir=.;; +esac +as_dummy="$ac_dir" +for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do + case $as_mkdir_dir in + # Skip DOS drivespec + ?:) as_incr_dir=$as_mkdir_dir ;; + *) + as_incr_dir=$as_incr_dir/$as_mkdir_dir + test -d "$as_incr_dir" || + mkdir "$as_incr_dir" || + { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; } + ;; + esac +done; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # 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. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo $f;; + *) # Relative + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +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,@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,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo $f;; + *) # Relative + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #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. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # egrep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # 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. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if cmp -s $ac_file $tmp/config.h 2>/dev/null; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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'` + { case "$ac_dir" in + [\\/]* | ?:[\\/]* ) as_incr_dir=;; + *) as_incr_dir=.;; +esac +as_dummy="$ac_dir" +for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do + case $as_mkdir_dir in + # Skip DOS drivespec + ?:) as_incr_dir=$as_mkdir_dir ;; + *) + as_incr_dir=$as_incr_dir/$as_mkdir_dir + test -d "$as_incr_dir" || + mkdir "$as_incr_dir" || + { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; } + ;; + esac +done; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; + default-2 ) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (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=: + exec 5>/dev/null + $SHELL $CONFIG_STATUS || 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 + + diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..25e785b --- /dev/null +++ b/configure.in @@ -0,0 +1,34 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(configure.in) +AM_INIT_AUTOMAKE(gamazons, 0.1) +AM_MAINTAINER_MODE +AM_CONFIG_HEADER(config.h) + +AC_ISC_POSIX +AC_PROG_CC +AM_PROG_CC_STDC +AC_HEADER_STDC + +GNOME_COMPILE_WARNINGS + +pkg_modules="libgnomeui-2.0" +PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) +AC_SUBST(PACKAGE_CFLAGS) +AC_SUBST(PACKAGE_LIBS) + +GETTEXT_PACKAGE=gamazons +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE") + +dnl Add the languages which your application supports here. +ALL_LINGUAS="" +AM_GLIB_GNU_GETTEXT + +AC_OUTPUT([ +Makefile +src/Makefile +pixmaps/Makefile +po/Makefile.in +]) + diff --git a/configure.in-bak b/configure.in-bak new file mode 100644 index 0000000..25e785b --- /dev/null +++ b/configure.in-bak @@ -0,0 +1,34 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(configure.in) +AM_INIT_AUTOMAKE(gamazons, 0.1) +AM_MAINTAINER_MODE +AM_CONFIG_HEADER(config.h) + +AC_ISC_POSIX +AC_PROG_CC +AM_PROG_CC_STDC +AC_HEADER_STDC + +GNOME_COMPILE_WARNINGS + +pkg_modules="libgnomeui-2.0" +PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) +AC_SUBST(PACKAGE_CFLAGS) +AC_SUBST(PACKAGE_LIBS) + +GETTEXT_PACKAGE=gamazons +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE") + +dnl Add the languages which your application supports here. +ALL_LINGUAS="" +AM_GLIB_GNU_GETTEXT + +AC_OUTPUT([ +Makefile +src/Makefile +pixmaps/Makefile +po/Makefile.in +]) + diff --git a/configure.scan b/configure.scan new file mode 100644 index 0000000..e3a3b98 --- /dev/null +++ b/configure.scan @@ -0,0 +1,28 @@ +# Process this file with autoconf to produce a configure script. +AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS) +AC_CONFIG_SRCDIR([acconfig.h]) +AC_CONFIG_HEADER([config.h]) + +# Checks for programs. +AC_PROG_AWK +AC_PROG_CC +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_RANLIB + +# Checks for libraries. + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([limits.h stdlib.h string.h unistd.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST + +# Checks for library functions. +AC_FUNC_MALLOC + +AC_CONFIG_FILES([Makefile + pixmaps/Makefile + src/Makefile]) +AC_OUTPUT diff --git a/depcomp b/depcomp new file mode 100755 index 0000000..807b991 --- /dev/null +++ b/depcomp @@ -0,0 +1,423 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, 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. + +# Originally written by Alexandre Oliva . + +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 +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +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. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + 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. 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. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + 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,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$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" + ;; + +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 + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab 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 proprocessed 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'. We will use -o /dev/null later, + # however we can't do the remplacement now because + # `-o $object' might simply not be used + 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 + "$@" -o /dev/null $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 $? + # 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 ;; + -*) + ;; + *) + 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 proprocessed 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 '/^# [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 proprocessed 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 diff --git a/gamazons.glade b/gamazons.glade new file mode 100644 index 0000000..22a5bac --- /dev/null +++ b/gamazons.glade @@ -0,0 +1,2135 @@ + + + + + + + + 770 + 510 + True + Gamazons + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + False + True + + + + + True + False + 0 + + + + True + + + + True + GNOMEUIINFO_MENU_GAME_TREE + + + + + + + True + GNOMEUIINFO_MENU_NEW_ITEM + _New + True + + + + + + + True + GNOMEUIINFO_MENU_OPEN_ITEM + + + + + + + True + GNOMEUIINFO_MENU_SAVE_AS_ITEM + + + + + + + True + + + + + + True + GNOMEUIINFO_MENU_EXIT_ITEM + + + + + + + + + + + True + GNOMEUIINFO_MENU_SETTINGS_TREE + + + + + + + + True + _Player + True + + + + + + + True + _Theme + True + + + + + + + + + + + True + GNOMEUIINFO_MENU_HELP_TREE + + + + + + + True + _How To Play + True + + + + + True + gtk-help + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + True + GNOMEUIINFO_MENU_ABOUT_ITEM + + + + + + + + + + 0 + False + False + + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_IN + + + + True + False + 0 + + + + 210 + True + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_IN + + + + True + 3 + 3 + False + 0 + 0 + + + + True + False + 0 + + + + 40 + 15 + True + a + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + b + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + c + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + d + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + e + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + f + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + g + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + h + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + i + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + j + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 1 + 2 + 0 + 1 + + + + + + True + False + 0 + + + + 15 + 40 + True + 10 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 9 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 8 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 7 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 6 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 5 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 4 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 3 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 2 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 1 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 0 + 1 + 1 + 2 + + + + + + True + False + 0 + + + + 15 + 40 + True + 10 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 9 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 8 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 7 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 6 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 5 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 4 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 3 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 2 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 1 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 2 + 3 + 1 + 2 + fill + + + + + + True + False + 0 + + + + 40 + 15 + True + a + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + b + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + c + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + d + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + e + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + f + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + g + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + h + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + i + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + j + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 1 + 2 + 2 + 3 + fill + + + + + + True + True + GTK_POLICY_NEVER + GTK_POLICY_NEVER + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 400 + 400 + True + True + False + 0 + 0 + 100 + 100 + 1 + + CNVS_GAMEBOARD + + + + + + 1 + 2 + 1 + 2 + fill + fill + + + + + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + 0 + 40 + True + Move History: + False + False + GTK_JUSTIFY_RIGHT + False + False + 0.55 + 0.72 + 0 + 0 + + + 0 + False + False + + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_NONE + + + + True + False + 0 + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 17 + True + GTK_SHADOW_NONE + + + + True + False + 0 + + + + 105 + True + GTK_BUTTONBOX_DEFAULT_STYLE + 0 + + + + 30 + True + True + True + Undo + True + GTK_RELIEF_NORMAL + + + + + + + 106 + 30 + True + True + True + Force Move + True + GTK_RELIEF_NORMAL + + + + + + + 30 + True + True + True + Autofinish + True + GTK_RELIEF_NORMAL + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + + + 7 + False + False + + + + + + True + GTK_BUTTONBOX_DEFAULT_STYLE + 7 + + + + 107 + True + True + True + Replay + True + GTK_RELIEF_NORMAL + + + + + + + 37 + True + True + True + Stop + True + GTK_RELIEF_NORMAL + + + + + + 0 + False + False + + + + + + True + Replay Delay + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0 + 0 + 4 + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 100 1 10 10 + + + 0 + False + False + + + + + + True + + + 7 + False + False + + + + + + True + False + 0 + + + + True + Movement Speed + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0 + 0 + 4 + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 10 1 10 10 + + + 0 + False + False + + + + + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 120 + True + True + False + GTK_JUSTIFY_LEFT + GTK_WRAP_NONE + False + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + + True + True + + + 0 + False + False + + + + + + + + 370 + 185 + True + Player Settings + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 300 + 185 + False + False + + + + 70 + True + False + 0 + + + + 2 + True + False + 0 + + + + 100 + True + White Player: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.3 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 85 + True + True + Human + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + + + + + True + True + AI + True + GTK_RELIEF_NORMAL + False + False + True + WhiteHumanRadio + + + 0 + False + False + + + + + 0 + True + True + + + + + + 2 + True + False + 0 + + + + 100 + True + Black Player: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 85 + True + True + Human + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + + + + + True + True + AI + True + GTK_RELIEF_NORMAL + False + False + True + BlackHumanRadio + + + 0 + False + False + + + + + 0 + True + True + + + + + + 1 + True + + + 0 + True + True + + + + + + 15 + True + AI Settings: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + False + 0 + + + + 28 + True + False + 0 + + + + True + False + 0 + + + + 121 + True + Search Time: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 127 + True + Max Search Depth + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 112 + True + Max Search Width + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 0 + True + True + + + + + + True + False + 0 + + + + 10 + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 5 1 100 1 10 10 + + + 10 + True + True + + + + + + 10 + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 100 1 10 10 + + + 10 + True + True + + + + + + 10 + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 3000 1 10 10 + + + 10 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + 39 + 25 + True + GTK_BUTTONBOX_DEFAULT_STYLE + 0 + + + + 10 + 50 + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + + + + + + + 10 + True + True + True + GTK_RELIEF_NORMAL + + + + + True + 0.5 + 0.5 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-cancel + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Cancel + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + + + 0 + True + True + + + + + + + diff --git a/gamazons.glade.bak b/gamazons.glade.bak new file mode 100644 index 0000000..22a5bac --- /dev/null +++ b/gamazons.glade.bak @@ -0,0 +1,2135 @@ + + + + + + + + 770 + 510 + True + Gamazons + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + False + True + + + + + True + False + 0 + + + + True + + + + True + GNOMEUIINFO_MENU_GAME_TREE + + + + + + + True + GNOMEUIINFO_MENU_NEW_ITEM + _New + True + + + + + + + True + GNOMEUIINFO_MENU_OPEN_ITEM + + + + + + + True + GNOMEUIINFO_MENU_SAVE_AS_ITEM + + + + + + + True + + + + + + True + GNOMEUIINFO_MENU_EXIT_ITEM + + + + + + + + + + + True + GNOMEUIINFO_MENU_SETTINGS_TREE + + + + + + + + True + _Player + True + + + + + + + True + _Theme + True + + + + + + + + + + + True + GNOMEUIINFO_MENU_HELP_TREE + + + + + + + True + _How To Play + True + + + + + True + gtk-help + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + True + GNOMEUIINFO_MENU_ABOUT_ITEM + + + + + + + + + + 0 + False + False + + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_IN + + + + True + False + 0 + + + + 210 + True + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_IN + + + + True + 3 + 3 + False + 0 + 0 + + + + True + False + 0 + + + + 40 + 15 + True + a + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + b + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + c + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + d + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + e + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + f + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + g + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + h + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + i + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + j + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 1 + 2 + 0 + 1 + + + + + + True + False + 0 + + + + 15 + 40 + True + 10 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 9 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 8 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 7 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 6 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 5 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 4 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 3 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 2 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 1 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 0 + 1 + 1 + 2 + + + + + + True + False + 0 + + + + 15 + 40 + True + 10 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 9 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 8 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 7 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 6 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 5 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 4 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 3 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 2 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 15 + 40 + True + 1 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 2 + 3 + 1 + 2 + fill + + + + + + True + False + 0 + + + + 40 + 15 + True + a + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + b + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + c + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + d + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + e + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + f + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + g + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + h + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + i + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 40 + 15 + True + j + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 1 + 2 + 2 + 3 + fill + + + + + + True + True + GTK_POLICY_NEVER + GTK_POLICY_NEVER + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 400 + 400 + True + True + False + 0 + 0 + 100 + 100 + 1 + + CNVS_GAMEBOARD + + + + + + 1 + 2 + 1 + 2 + fill + fill + + + + + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + 0 + 40 + True + Move History: + False + False + GTK_JUSTIFY_RIGHT + False + False + 0.55 + 0.72 + 0 + 0 + + + 0 + False + False + + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_NONE + + + + True + False + 0 + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 17 + True + GTK_SHADOW_NONE + + + + True + False + 0 + + + + 105 + True + GTK_BUTTONBOX_DEFAULT_STYLE + 0 + + + + 30 + True + True + True + Undo + True + GTK_RELIEF_NORMAL + + + + + + + 106 + 30 + True + True + True + Force Move + True + GTK_RELIEF_NORMAL + + + + + + + 30 + True + True + True + Autofinish + True + GTK_RELIEF_NORMAL + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + + + 7 + False + False + + + + + + True + GTK_BUTTONBOX_DEFAULT_STYLE + 7 + + + + 107 + True + True + True + Replay + True + GTK_RELIEF_NORMAL + + + + + + + 37 + True + True + True + Stop + True + GTK_RELIEF_NORMAL + + + + + + 0 + False + False + + + + + + True + Replay Delay + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0 + 0 + 4 + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 100 1 10 10 + + + 0 + False + False + + + + + + True + + + 7 + False + False + + + + + + True + False + 0 + + + + True + Movement Speed + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0 + 0 + 4 + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 10 1 10 10 + + + 0 + False + False + + + + + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 120 + True + True + False + GTK_JUSTIFY_LEFT + GTK_WRAP_NONE + False + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + + True + True + + + 0 + False + False + + + + + + + + 370 + 185 + True + Player Settings + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 300 + 185 + False + False + + + + 70 + True + False + 0 + + + + 2 + True + False + 0 + + + + 100 + True + White Player: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.3 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 85 + True + True + Human + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + + + + + True + True + AI + True + GTK_RELIEF_NORMAL + False + False + True + WhiteHumanRadio + + + 0 + False + False + + + + + 0 + True + True + + + + + + 2 + True + False + 0 + + + + 100 + True + Black Player: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 85 + True + True + Human + True + GTK_RELIEF_NORMAL + False + False + True + + + 0 + False + False + + + + + + True + True + AI + True + GTK_RELIEF_NORMAL + False + False + True + BlackHumanRadio + + + 0 + False + False + + + + + 0 + True + True + + + + + + 1 + True + + + 0 + True + True + + + + + + 15 + True + AI Settings: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + False + 0 + + + + 28 + True + False + 0 + + + + True + False + 0 + + + + 121 + True + Search Time: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 127 + True + Max Search Depth + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 112 + True + Max Search Width + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 0 + True + True + + + + + + True + False + 0 + + + + 10 + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 5 1 100 1 10 10 + + + 10 + True + True + + + + + + 10 + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 100 1 10 10 + + + 10 + True + True + + + + + + 10 + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 1 3000 1 10 10 + + + 10 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + 39 + 25 + True + GTK_BUTTONBOX_DEFAULT_STYLE + 0 + + + + 10 + 50 + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + + + + + + + 10 + True + True + True + GTK_RELIEF_NORMAL + + + + + True + 0.5 + 0.5 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-cancel + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Cancel + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + + + 0 + True + True + + + + + + + diff --git a/gamazons.gladep b/gamazons.gladep new file mode 100644 index 0000000..04576b0 --- /dev/null +++ b/gamazons.gladep @@ -0,0 +1,7 @@ + + + + + Gamazons + gamazons + diff --git a/gamazons.gladep.bak b/gamazons.gladep.bak new file mode 100644 index 0000000..04576b0 --- /dev/null +++ b/gamazons.gladep.bak @@ -0,0 +1,7 @@ + + + + + Gamazons + gamazons + diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..e9de238 --- /dev/null +++ b/install-sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# 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. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# 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 $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/missing b/missing new file mode 100755 index 0000000..d46f79f --- /dev/null +++ b/missing @@ -0,0 +1,198 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc. +# Franc,ois 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., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.in; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +case "$1" in + + -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 + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + 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 + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing - GNU libit 0.0" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. 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 missing on your system. 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 missing on your system. 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 missing on your system. 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 + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. 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 [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. 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 [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. 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." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. 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 prerequirements 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 diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 0000000..4f58503 --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,40 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ + +errstatus=0 + +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 + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/pixmaps/Makefile b/pixmaps/Makefile new file mode 100644 index 0000000..ad4d098 --- /dev/null +++ b/pixmaps/Makefile @@ -0,0 +1,322 @@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 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. + +#INCLUDES = \ +# -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ +# -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \ +# -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include + + +SHELL = /bin/sh + +srcdir = . +top_srcdir = .. + +prefix = /usr/local +exec_prefix = ${prefix} + +bindir = ${exec_prefix}/bin +sbindir = ${exec_prefix}/sbin +libexecdir = ${exec_prefix}/libexec +datadir = ${prefix}/share +sysconfdir = ${prefix}/etc +sharedstatedir = ${prefix}/com +localstatedir = ${prefix}/var +libdir = ${exec_prefix}/lib +infodir = ${prefix}/info +mandir = ${prefix}/man +includedir = ${prefix}/include +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/gamazons +pkglibdir = $(libdir)/gamazons +pkgincludedir = $(includedir)/gamazons + +top_builddir = .. + +ACLOCAL = aclocal-1.4 +AUTOCONF = autoconf +AUTOMAKE = automake-1.4 +AUTOHEADER = autoheader + +INSTALL = /usr/bin/install -c +INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_SCRIPT = ${INSTALL} +transform = s,x,x, + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CATALOGS = +CATOBJEXT = .gmo +CC = gcc +DATADIRNAME = share +GETTEXT_PACKAGE = gamazons +GMOFILES = +GMSGFMT = /usr/bin/msgfmt +INSTOBJEXT = .mo +INTLDEPS = +INTLLIBS = +INTLOBJS = +MAINT = # +MAKEINFO = makeinfo +MKINSTALLDIRS = ./mkinstalldirs +PACKAGE = gamazons +PACKAGE_CFLAGS = -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include +PACKAGE_LIBS = -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lxml2 -lz -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lpthread -lglib-2.0 +PKG_CONFIG = /usr/bin/pkg-config +POFILES = +POSUB = po +RANLIB = ranlib +USE_NLS = yes +VERSION = 0.83rc3 + +gamazonsbitmapsdir = $(datadir)/pixmaps/gamazons +gamazons_BITMAPS = a_black.png \ + a_black_square.png \ + a_grey_square.png \ + a_white.png \ + a_white_square.png \ + b_black.png \ + b_black_square.png \ + b_grey_square.png \ + black.png \ + black_square.png \ + b_white.png \ + b_white_square.png \ + charcoal_square.png \ + grey_square.png \ + purple.png \ + purple2.png \ + gold.png \ + white.png \ + pearl.png \ + white_square.png + + +gamazonsbitmaps_DATA = $(gamazons_BITMAPS) + +gamazonsthemesdir = $(datadir)/gamazons +gamazons_THEMES = aaron2.theme default.theme aaron.theme plain.theme +gamazonsthemes_DATA = $(gamazons_THEMES) + +gamazonsicondir = $(datadir)/pixmaps +gamazonsdesktopdir = $(datadir)/applications + +gamazons_ICON = gnome-gamazons.png +gamazons_DESKTOP = gamazons.desktop + +gamazonsicon_DATA = $(gamazons_ICON) +gamazonsdesktop_DATA = $(gamazons_DESKTOP) +EXTRA_DIST = $(gamazonsbitmaps_DATA) $(gamazonsthemes_DATA) $(gamazonsicon_DATA) $(gamazonsdesktop_DATA) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +DATA = $(gamazonsbitmaps_DATA) $(gamazonsdesktop_DATA) \ +$(gamazonsicon_DATA) $(gamazonsthemes_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-gamazonsbitmapsDATA: $(gamazonsbitmaps_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsbitmapsdir) + @list='$(gamazonsbitmaps_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsbitmapsDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsbitmaps_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsbitmapsdir)/$$p; \ + done + +install-gamazonsdesktopDATA: $(gamazonsdesktop_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsdesktopdir) + @list='$(gamazonsdesktop_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsdesktopdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsdesktopdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsdesktopdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsdesktopdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsdesktopDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsdesktop_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsdesktopdir)/$$p; \ + done + +install-gamazonsiconDATA: $(gamazonsicon_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsicondir) + @list='$(gamazonsicon_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsicondir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsicondir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsicondir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsicondir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsiconDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsicon_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsicondir)/$$p; \ + done + +install-gamazonsthemesDATA: $(gamazonsthemes_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsthemesdir) + @list='$(gamazonsthemes_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsthemesdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsthemesdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsthemesdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsthemesdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsthemesDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsthemes_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsthemesdir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = pixmaps + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu pixmaps/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am + +install-data-am: install-gamazonsbitmapsDATA install-gamazonsdesktopDATA \ + install-gamazonsiconDATA install-gamazonsthemesDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-gamazonsbitmapsDATA \ + uninstall-gamazonsdesktopDATA \ + uninstall-gamazonsiconDATA uninstall-gamazonsthemesDATA +uninstall: uninstall-am +all-am: Makefile $(DATA) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(gamazonsbitmapsdir) \ + $(DESTDIR)$(gamazonsdesktopdir) \ + $(DESTDIR)$(gamazonsicondir) \ + $(DESTDIR)$(gamazonsthemesdir) + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: uninstall-gamazonsbitmapsDATA install-gamazonsbitmapsDATA \ +uninstall-gamazonsdesktopDATA install-gamazonsdesktopDATA \ +uninstall-gamazonsiconDATA install-gamazonsiconDATA \ +uninstall-gamazonsthemesDATA install-gamazonsthemesDATA tags distdir \ +info-am info dvi-am dvi check check-am installcheck-am installcheck \ +install-exec-am install-exec install-data-am install-data install-am \ +install uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am new file mode 100644 index 0000000..29f7a4d --- /dev/null +++ b/pixmaps/Makefile.am @@ -0,0 +1,47 @@ +## Process this file with automake to produce Makefile.in + +#INCLUDES = \ +# -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ +# -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \ +# @PACKAGE_CFLAGS@ + + + +gamazonsbitmapsdir = $(datadir)/pixmaps/gamazons +gamazons_BITMAPS = a_black.png \ + a_black_square.png \ + a_grey_square.png \ + a_white.png \ + a_white_square.png \ + b_black.png \ + b_black_square.png \ + b_grey_square.png \ + black.png \ + black_square.png \ + b_white.png \ + b_white_square.png \ + charcoal_square.png \ + grey_square.png \ + purple.png \ + purple2.png \ + gold.png \ + white.png \ + pearl.png \ + white_square.png + +gamazonsbitmaps_DATA = $(gamazons_BITMAPS) + +gamazonsthemesdir = $(datadir)/gamazons +gamazons_THEMES = aaron2.theme default.theme aaron.theme plain.theme +gamazonsthemes_DATA = $(gamazons_THEMES) + +gamazonsicondir = $(datadir)/pixmaps +gamazonsdesktopdir = $(datadir)/applications + +gamazons_ICON = gnome-gamazons.png +gamazons_DESKTOP = gamazons.desktop + +gamazonsicon_DATA = $(gamazons_ICON) +gamazonsdesktop_DATA = $(gamazons_DESKTOP) +EXTRA_DIST = $(gamazonsbitmaps_DATA) $(gamazonsthemes_DATA) $(gamazonsicon_DATA) $(gamazonsdesktop_DATA) + diff --git a/pixmaps/Makefile.in b/pixmaps/Makefile.in new file mode 100644 index 0000000..810f5d8 --- /dev/null +++ b/pixmaps/Makefile.in @@ -0,0 +1,322 @@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 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. + +#INCLUDES = \ +# -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ +# -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \ +# @PACKAGE_CFLAGS@ + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +DATADIRNAME = @DATADIRNAME@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +INSTOBJEXT = @INSTOBJEXT@ +INTLDEPS = @INTLDEPS@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +PACKAGE = @PACKAGE@ +PACKAGE_CFLAGS = @PACKAGE_CFLAGS@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ + +gamazonsbitmapsdir = $(datadir)/pixmaps/gamazons +gamazons_BITMAPS = a_black.png \ + a_black_square.png \ + a_grey_square.png \ + a_white.png \ + a_white_square.png \ + b_black.png \ + b_black_square.png \ + b_grey_square.png \ + black.png \ + black_square.png \ + b_white.png \ + b_white_square.png \ + charcoal_square.png \ + grey_square.png \ + purple.png \ + purple2.png \ + gold.png \ + white.png \ + pearl.png \ + white_square.png + + +gamazonsbitmaps_DATA = $(gamazons_BITMAPS) + +gamazonsthemesdir = $(datadir)/gamazons +gamazons_THEMES = aaron2.theme default.theme aaron.theme plain.theme +gamazonsthemes_DATA = $(gamazons_THEMES) + +gamazonsicondir = $(datadir)/pixmaps +gamazonsdesktopdir = $(datadir)/applications + +gamazons_ICON = gnome-gamazons.png +gamazons_DESKTOP = gamazons.desktop + +gamazonsicon_DATA = $(gamazons_ICON) +gamazonsdesktop_DATA = $(gamazons_DESKTOP) +EXTRA_DIST = $(gamazonsbitmaps_DATA) $(gamazonsthemes_DATA) $(gamazonsicon_DATA) $(gamazonsdesktop_DATA) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +DATA = $(gamazonsbitmaps_DATA) $(gamazonsdesktop_DATA) \ +$(gamazonsicon_DATA) $(gamazonsthemes_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-gamazonsbitmapsDATA: $(gamazonsbitmaps_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsbitmapsdir) + @list='$(gamazonsbitmaps_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsbitmapsdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsbitmapsDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsbitmaps_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsbitmapsdir)/$$p; \ + done + +install-gamazonsdesktopDATA: $(gamazonsdesktop_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsdesktopdir) + @list='$(gamazonsdesktop_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsdesktopdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsdesktopdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsdesktopdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsdesktopdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsdesktopDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsdesktop_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsdesktopdir)/$$p; \ + done + +install-gamazonsiconDATA: $(gamazonsicon_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsicondir) + @list='$(gamazonsicon_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsicondir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsicondir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsicondir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsicondir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsiconDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsicon_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsicondir)/$$p; \ + done + +install-gamazonsthemesDATA: $(gamazonsthemes_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonsthemesdir) + @list='$(gamazonsthemes_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsthemesdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonsthemesdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsthemesdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonsthemesdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonsthemesDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonsthemes_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonsthemesdir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = pixmaps + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu pixmaps/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am + +install-data-am: install-gamazonsbitmapsDATA install-gamazonsdesktopDATA \ + install-gamazonsiconDATA install-gamazonsthemesDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-gamazonsbitmapsDATA \ + uninstall-gamazonsdesktopDATA \ + uninstall-gamazonsiconDATA uninstall-gamazonsthemesDATA +uninstall: uninstall-am +all-am: Makefile $(DATA) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(gamazonsbitmapsdir) \ + $(DESTDIR)$(gamazonsdesktopdir) \ + $(DESTDIR)$(gamazonsicondir) \ + $(DESTDIR)$(gamazonsthemesdir) + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: uninstall-gamazonsbitmapsDATA install-gamazonsbitmapsDATA \ +uninstall-gamazonsdesktopDATA install-gamazonsdesktopDATA \ +uninstall-gamazonsiconDATA install-gamazonsiconDATA \ +uninstall-gamazonsthemesDATA install-gamazonsthemesDATA tags distdir \ +info-am info dvi-am dvi check check-am installcheck-am installcheck \ +install-exec-am install-exec install-data-am install-data install-am \ +install uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/pixmaps/a_black.png b/pixmaps/a_black.png new file mode 100644 index 0000000000000000000000000000000000000000..0cad2fc0f136334b2daa88d271fcb801d4de10cf GIT binary patch literal 2433 zcwPa434Zp8P)(;B+-P1kOElng3#0V>q4M~VG#Nb`PA!MOt@WNPx;GK8g z8G?vyLbNa#vI%%$XJH3{A%qYc6XbxEMG_O^L_u<_C>mLTp z;;q|H1|WUo3!llqG{8?j|0RPvv=4)D{{EL+s*1Ge&;vP`je}R)wAcP_nOO-x9PX5s}+n07zF{N9_w~N zgq#w@{u*OSWCn;G#z18~d$(@#E4QC|y>52C+|F0u9ftO8gyr|Y^Of|T0H1x~+q&4S z_fCKGgZFj!U;QnH&8IHU&VF}2pA%xh=mf2&h&E&rIRP>gU;HbM@7=fa)$r67{_y=6><5e}#yUhD zMwAqKavbp9v3Kj}&yH^2`OBlnj@~u^AAjz%sI8eTR=;<4|Kt;k^RrK_X2)OzttJ>z za*Bv`7V>lL^Z08vB)^%X`($73L;h#A)G9_*dm+&lR5 z-Dc90AJnsy%cqk00JX*_-bDk&V`}Jb%FX>HRM*FBVT{YRjVH zYI2H&wG=@MQwGJD!jARz6~L4taTthw%foHOI@DEIUyniov7lN&C1PO@#WoW}l&{GqbZR>i%4NX#bHoHm6&?a z1XX>-U`Y){L?J~CprVNLS5D;^V5~}h|B&Hwo>!~o@7VM6CG*+E*ThY6y9Wq~)OR3C z&S?w_7*i7707gKqL!3iIuX1ceGy)i(S4Br4ap({MRYk;-Qg`*5(W0#kxW>~hC6e>h z&dyFq#(l^(H!uuHYB5$x>c@@KC=f+ljf`WD*2I|E)HW73lK4?Skdcb7B?ol z630y*hO68MK|u>TgHlzB#E1|{gu|Sx_DB zqT-P-kWmKFF_}xabPQo60*VUPVH%T60K}J;HaZ}xB{#)lCsVwy`=+U5UDwn*d#zeG z#4t?P^Vwv5IrrOs&Su#mRh2d8AKR2-9lL?BTA~w&P8>#RgbAXyD3XAxM~H~iB9QT3 zi80qg5K56RlpvMjw9dBK8R}`>*E=`Qr#nq=VLybyZdVK0Twa)=YfZOV(ZvnoJbCCA z+soOT7OIp6o^LNNo=>46?eE}yMWuTqYY`z})uO84B4`-VSPHQ^c8-9k#Z?~bEvhxn z*SNZlu5Ol9ZO^@JE`jN0wW!wf+3xD%fppt7GOnMpfK(~P&6$XK!)B_UtmJ;6W5p0Q z40TJh1NCILs7o!*d3;rug=`=aP_;N;3i8mk#29c@jq{eOw#5N!DP#{Wwwq?QI-R!b z_6E?T7^K^-8QKk6dBB5MVn3`yw|QYbJAKJ!;{g7e%=38&q!37LPgt(mPWG_AK`X`k zntJyDS5J`$q6J{dGYeXiXc=N4b%E}x1_y>d=n%TS)Q7zkBWZ|OSK%suRhD9mKu6cd zb=Pga7rWsVS51}{Bf#(@41Y@IPoN_81HEhr!+^1KFraRNou6aWVJxUuR2)+{^^g5}`K^Al{9f2z9_L{bNF7QJ zU@VX`DZZX#|DTwA7tDm5cQE2X3&=7hjKIK%$Ed{^S87c*<3y4%TA|L95yH@8Z3B>u zR%^0Z=Me6jl>SXrztgSOf7>k=FXcG=hpqf+d+*hragew^lNdWr09B2hJY__Vfj>a& zPk?y>BOfs8cZ~Ch8S~6lh+0HF1_c8-2Z#aa7q;H>);n?xZ&bcnB5`Y7^AnUyVmt+Y zAgZs<-no0aI(}`F`*kFTcbx;@``9V9U}S<+JJ^XOg?)^Cbo$u)Y`cv|&f6!9F(1z2 z9;ivr7_nz#VZ0!=WcW2m-_40r>zlus>>WH%;hCKJtgd=TonHVgFbCFmUw$#YCyt*B z@ZDe)V?E-k`tZ)JzRM59dqnjKu^y>vB=$!b!Dw@e#6AwKkL{A&EwlC2c6#u5-`u#l zr5t8DAl`lX#h-gve`JsB|DGB53xDN$WTX8QV!S+lFz-r-00000NkvXXu0mjfVEVEt literal 0 HcwPel00001 diff --git a/pixmaps/a_black_square.png b/pixmaps/a_black_square.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5a7ed33cbce0ecee63918284048daf38c32fb8 GIT binary patch literal 507 zcwPbf0R;YuP)O=(hIW z2W(6luSWppihf?(fh5VTv44|1x~;wU`!*6T!0dC8z~0uO z!vgz<;2s9k{EBY?XAmxe&Q zEB@s*=8OSj(99(QW;TI~9ShgYBnQ-rYi+Z=YATc*l$i#Yi)*y&Z$w7nOqOYW zJ|0-xti=`f5+3a37Li75$yUEWhQhXeaZPQeMK!g@1s!CbU;t*STY`q=w6fbw&lhxT z5rC(F!vybM?lWBMgHPR-spK`#uDFKX<`n$VW+Kb>G%M_EpM|qM-#h!^t`=3xZ~<<1 ze=e58K%}`x;jo?x?29V`9k1iFc7Ke<=6ZaDQZg`(R&&3vc#+U;uvsr@NjJ0!30? P00000NkvXXu0mjf_sAd_ literal 0 HcwPel00001 diff --git a/pixmaps/a_white.png b/pixmaps/a_white.png new file mode 100644 index 0000000000000000000000000000000000000000..caa7df62f9bfaf8e02d0ce814495d6687448459c GIT binary patch literal 1750 zcwPb41}XW8P)F#mEas`zDLzL z^*{e}PSyDu&g4wa*1#@HFria1eps0kG>j2`mBk8TbfrbqhYXxn*eD86vN! z`=GR6%vul3C6;Ue10XXGI_5ygnkJ+fBnR6n&7Y8IP~XYK^5K)Y>l)wNh}Aty#G0g~j1yUZ(8E z`9a!5bsAW!nKvOAe`CgQQ%zfgIy5x3W*AO_f|C`hlIJuAcdOnknUk<(0=S)U9Wu|3 z*qq#UW&(fPw%kxH)gOJkR$wd#2B-K5Fq^U!SWmBC=iornJ7vF5llcT*h!gv0A#2VU4|`9*ug z->qY&4kuewdGX|OS^os5zKGB`l`&&RYg&YvA+$sp$<9Rjqe?(t_-mmdSH7u83oAVi zQy}S?8a9(l-h6v&=PM6hbZXwNg&QI$L#Z_ymJKKFSli6i0 zeCExZMUnYUcxEvUO5qSjAWMmJ;2dpol7)i-;2an8X5Ldt;>5~Y2&pd{qhFIbjPu7$>caj>i4H4QIJ;MsjxHN!ypKT(aHW7nT7D52NXexnl$a7B9zRDA^jp-Cw ztgALw0?7YDC8EPoyVp#qY8os4wN*rzIscdn0L;bX$JDEUw^e3;N`>V3r&It{ITp3^ zF*Ok>%u4jTQj5o9nm?shGej1Te@P{y99PF9%+_M%ipoZbi|gCexVS#2(uzu5 zaZQxj{yHj=zP-z<#pm~_%=&gBf+!x}ip#;K0l!)qQ<;^@J_h-HDv_fOPNRTdqM}me z@@Z7#wC!T~9jb{f{3aZgS;6ichb1#n8nt=}dkZOkpn@nrriv0!jnnWkfZ4=wj#rIS zpOn1|RbM)%GD{IIiff1JZoM(ogQ=x|>{C^-sS2p-DlOB*)|7sU4Yj%YK9xFUhbjs)h=NdWQpYQ{nU)HSQ~-UbA5(dV zfxDE{=~{z%N!=MI#=FmD#3mS}8uEg=H%?qp>*}7`LVZcy8z*MeVH5HlpW~Q%Jx*Yg zY9u(vj=DEa+!fM)1Ul;7apEquZ<%;HPE0lt9tyH8vr+Gl6V4nkFa;r0lH;TjQ1`}( rCAAe}mF(Kn({aL`)M^Gz%{ci7r6z$H4mM#I00000NkvXXu0mjfNR|W= literal 0 HcwPel00001 diff --git a/pixmaps/aaron.theme b/pixmaps/aaron.theme new file mode 100644 index 0000000..3cec2e4 --- /dev/null +++ b/pixmaps/aaron.theme @@ -0,0 +1,6 @@ +WHITE_PIECE = a_white.png +BLACK_PIECE = a_black.png +WHITE_SQUARE = a_white_square.png +GREY_SQUARE = a_grey_square.png +ARROW_SQUARE = a_black_square.png +DRAW_GRID = FALSE diff --git a/pixmaps/aaron2.theme b/pixmaps/aaron2.theme new file mode 100644 index 0000000..71b736a --- /dev/null +++ b/pixmaps/aaron2.theme @@ -0,0 +1,6 @@ +WHITE_PIECE = b_white.png +BLACK_PIECE = b_black.png +WHITE_SQUARE = b_white_square.png +GREY_SQUARE = b_grey_square.png +ARROW_SQUARE = charcoal_square.png +DRAW_GRID = TRUE diff --git a/pixmaps/b_black.png b/pixmaps/b_black.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd9b6f24c519f3f4b6dbb91e7c206e5ab7846b4 GIT binary patch literal 2444 zcwPaF33K*|P)WDwGbWR{sT zK^l`F_8=fQ5i(E*8XAHiVqzn$kaiFaNVG$DOxyNrU*)~3dUfm8{d>;Y{~YY|s?yLR zaU}Q_TrTIHbN2q$x7N4T+83VK6MJG$?Ekl!ANPfqUirE?x_wtxo0-f`-m^cv_l`U~ z`GJ|Ap3p7leEb(bdFzFb{q!BRlPZQVT+U}#|Mup0FCV=3??W7h+#VcqeD@>i?oWO+ z-oEo}0Meg-=?nRP4e+xsf5qUA?B(UvH9D_dg_^vOm^B&4XeecXAj>0h4a(* zri-(OY*%wq2p9v1KuYj|t%YWPpQC5*zWvmlyRSFX{l6X7-J4C_%y)MVm;Gux{M8@- zcKROy{_0oWF#i32G|bJaMy2z^H!JVq2_9ik2+ zN(uuxdg|J-cl-GFj_=(4qvNNJ?;C(mzw}$EZI~@qzjFTY^fQZ#^UtkjCtw7vCKyq2 ziimX>b$|y_30;mDqXi5g)}dNmvsb?L8e9s1C?bN^6-GzLV<4x9@oRPu_D&D?4t{^P z-T5=~sTW_O8+!W4(PFvzhl>X%FASSCq9C?L>q%K4C5&|#BS69s$+@uiqYQ}_Fe%0l zTmwWu0Qw`WRv3jG0m}2L1N0qFAKf|Ko9_LFjn=Zfc*Moo!!Iu{7cXSvuMCsAj6wmipjtpBVqp)(wi85@e(0ax z$ojzcePD69_{3s1`#dtiwg-q6QrMt%i+JqKK=noysx5Se5GiBmC7ouU5-nvKJRi=CjK`5jVx{9v~#r(1R#B zr!g#GOi6eH7y-2oaSjo^&an~E2w;3(6&-;@-y;I5iijnp{`xheMOztgZB4(FNX}C` zJ3l2E_i@|a!r+nAVXTt09yd;-KooHeGRDma*WgMD0IH}{NJ<)WN=EPk;A&J9Rmd@t zV=Ro0Y#LRny_U(r5$Wn`y_wCA?XbKsvU^NcNAw+)Yau84=*J`$AYxRpqBqGbZcKJ1 zj+;CVSGf;@f);cJrK%K(5h0QYg*jJIH7)8aww>noV4r%YF|&kpG4<9+%;J=sd?~sp zkyJvQBH2e&K&_x!u8|^+$DvaPMl3l6vL8q!T-~6~j-W%SrPAyf_((c|u z)H1!b?_(3huU4ADP7V(5Sz<864c6_FVMYjAc6UEjO{0K{b$M8ITwR{xhtT-#_UCNux7lnKR7bn0 z)JX7T6fZg^a|xG@A&f*oQQ;;`W0DDg)TO134v1>WO|jU?l)7$)wryh5G&DPVom%H( z@YD5tHd$ZI>+LXSv+R+o%9`^JY)Y|-y(g@e=)|EDhmi(hf~YNuB%oR&M8s(k$at^B zm>VGorN|dbkV9?w9Bfo7qxA#fazwnsMhn@?&|W9^xHKuuAj1iR4K*Hxrlk!W~za#1cPLnd}yIsl~aPx@yWoHV_G@T3lTUvhO=$47jSn)t0KU#Q|$6WP2C8O*>niO}lk> z3usde(r?%JZi7}eP=i?F;Mbwwyt1C1y>7E{0AC~Xa`u4~0;wAa%Qf4{9=2}LN~!CH zX7>QsOpyqp1z^cD3)+zA@G+43K!06>1AYkVL%)}Xu$N*a`G|EDuBxxgQj8Jk>4&)P z`^~pv@85LQWN9%1`0r!*T{6D|6>0DcvLSenv2!q>Zi1a(VANqOXsxI?tec>&F2h5* z5si#uGGfUDqK~7JOHGV`Po=#}RWo#(BvF^^#rnJ3#q#TE*u0xl2*ymG260Agb4=#+ zX1oZL#$(DTr521S!Z09CFvcS4P+Q-$y-_R%Fiz3259dhf$Ib$wI5jHWHq+Jm{NytB z-M?%Wo4@Yn^KZn>{6BMd8kCfPjIq_0oVMirGZ?dL#-^Leq+8t6p8B79$ zft1T+Vzf9QIFK3frrb>^FhbqvQa_ z0y&f7J2?*D!{mElCgi+>ks7psEK|Y=42;wmwHV_{t;uGbNHRt%)YW8!;0LU20g^F& z6k^IDpONynMfJ6Qwf@U~xp+NC|F5>H&$XkF$*g`6YVdtg}DX0NWMPON3CswPI>wN7qhvgV}UBRYoP-aA{JyuHc8I+DW&&Ve6(?36|@GC`^x?8K77K1Mz{ed;;eZR4@4?K8%hPh@eA z)TECYvF9M{9!{Q9EBlK_SC`QbujRzq;j_ngMfIlumqPj)xW7?XFMtl11M7QlyqZ1~ z2Vg(+*VH9oP28-Bonq`I;!dLXw{y&oLbQm=Gh!^cYA|s)#t7cKjHKt1Hs1@~;B&vs zv-|yadhqnn-a6c>!vj4K@4fNre|uPeVo&V#yB{h=`OyeHW2^+QxO>$E5N43Ba6bunkFUz4*k|FGSlMw04(q zZtKM-w#jT5-`fq2Oj`NI1pD~j&8&k*4Q??hFt$fs_Zd%YUu4@q)u#=Xz7`4WZM}48 zu)n!zXAK@^Jn7nv_7HyBp21h`(P9+AA)MM~B;8td_VhtGhNEp0O;3rzNA@ZB(3W_r zxBU&CDRs2x4fc%1_k$wxIS-d8l6pk~0+19D0zx8wLHELPkmUS1p64BM2#YHeri)pC z@3L3mTkJ*Hk%_HE9oXxz^0^(Bx3jOpkx47xeps$7u8Hj*=!fd1s01@h5 z!1g)3v`MOwb~dtSlIF(LziVr2@4ds`#syogfn}(Bw+nkbf46LO_B!_ME=NYTB+nB( zNmAO`(=L#-1E)RBbi|a1b8;Qn?beBD&Z%4oExEi(u2u9IPM|Hbk)4TsV7Ip&^C*Y0 zu)8I`Yqv#}Ha9l9#ExUQ**ddhWA_t0T`aXzCr{k$oay0$mZs#2nC>_yW53hwtoSQ- z&h-9*w$qlKHf!A`*J`)91fSa4+IxxJ+g}%9v>d4w%rrOWP2Yg*D!EqKkZP^8t!&W} zYXxZ_00TGRg`J+wb||Ton%P?lBm*qPnPPyY%nt*+{;GTX=rd}ce!_XWjvv~%R6aa` zZ`*_N;bHJ^<->D0<8k@$S9oP#FCSh2<5BtW8hB`r%ZGa#$f<3+mVyY@Y9JeVw%_US zcsY%t&+y~&;l=RU9)H4L4>$X`e0U3t3+2NrlWWJ$Z13Nz_pN2D(< literal 0 HcwPel00001 diff --git a/pixmaps/b_white.png b/pixmaps/b_white.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae0a145f3c4f1f9696fab8f446ee62c05eac412 GIT binary patch literal 1828 zcwPY{2iy3GP)JRBu5p;KV4P*d!}uVJ$QHRO+ZR=2p6PCAQllo95^Ig5D>wERf2?w_ybUu z1Cb)a4Z(>+P!1dsLP$u6!@?pCAVms9$}VCT6M5}yc5VD~#$!+SRCjZzDtCMAD2ccr z;U~3fx~uBd_r3RhRj&rlihs`=ApBgMkMK`&2+sfLsGMHwvyS1~b3~AOH$r zU&HR}Te>(L<@M!@Wl$|&}Pu}yCb9k zsU)Q?4U}V%R2sD69}4~eTnBCr27^6d2ozbCotSZ^2Q4Vi0_oY$&jK&(Kyr5s|K7D< z1qf;VsUQfT8=0;WC=1g9P#GgAz>~1x!%_e#tN=d&ZUAosLkIK}z`)tSkWurD$}N77TzC2DE2}(Z$6602mE`BS>Rd%;2J#@)Gbf z;9izx<1ydP|9T*R&wfWulkc)IR^$sSb9bf_YG+Tia4;TY;FzUlsodMky&2Mkt)l8IP zW&sl4bcB{`MPWcnt3=tA1cnz5U|~Ib*jm(iHMH-w1?T2y3sP8c02`3@;Ufz0?!(7# zu8xs@L~p@_Qcp}cJ9e^50tdz^bPEZZkR4+7Bsl3QHTA6>-paNPpft^sY5PEL5gH#8*yGts)$lL;S1G9k3sx~<1t%+>|8j_#Iw>B52 z3_Jz|j3-czpgU{N{>!!_hsiE%s-wI>?H3HQfO&foM4Ze}M{H@e%hq$2S6waEDwS$$ zTLEkX#R&Q|N4hIcj(I+Ue?8FLRXOQv;t1}oYxD(0KQ%l^TZ3Jg6sLLfKBcT-xCUtg zst+U2*q!*`&7K~wNATzEJ^m(+WarHz9o*j;YE~Z<{C!KaRv5yTQ{es!@rDrR5PHV` zhZ2Yr>oq+!_y(vIc&>s~HIdPgfY+&cdU7;jlpk@p7c&e~=6jIZs$~XKgH0#Pd&w3M zgWQGWG4m-qYn;pUk?~D>8Ln)17%J(Zp?F1jJS{b#IvflSDaR$-M-gEdAO*xRbhDUNTtFC`HVV!56b2^~%N>WQ{XLm7!qEo<_Fx4%dj{Nh zR@b<3Z*_h9r7wT9Qt$lpcD#7u(zvr6UoAChMfFLc#3f&tJk?c+LYRVKqOHjlq7cYL z(aS&y@a(mx26SyUdI#1O0CN`DmVK{)O%vWu4_JV2-`nT<{_e&*yMwI~YaGwN@;f>A zp~Vscin97#+)clmgmJ%uM}?AIUno>yss&#`piPD+2`u#u7`&7B2k%|(iw887&KTH* zTaUxFZFsBDJOK8e>}77dZFD|$?WbOpW_7nW&s=}e^Znow@Isu-eAtun5>h@Ihf$}K zLTtU0#1O@xq%8(qxo?S;1k?)ZEfD!>tSyaaLC>`F zD?j`NVVuyN?U82lYMdW_%J+k%tk?g`++6f>ni$?C0Ys4rv9w2H3FL)6GBp)Fz7G5m zcms0@y9UfZ0e`Yi)XP&>&G!V@mM{I_m&9p@B%5Xa;xY^UOm@0>iBFZpcu@#S5lV<8 z^h)sa0)_*a>{HLoP(HN4PT$nAHRftkFK1`&Hs^9K|C{pE_h0?M|8kv+mHz-lO(*z3 S(-WBh00009XaR# literal 0 HcwPel00001 diff --git a/pixmaps/b_white_square.png b/pixmaps/b_white_square.png new file mode 100644 index 0000000000000000000000000000000000000000..19a932ac98e6887e79043f79ed722af562fe24fe GIT binary patch literal 605 zcwPZr0;2tiP)N!ypKT(aHW7nT7D52NXexnl$a7B9zRDA^jp-Cw ztgALw0?7YDC8EPoyVp#qY8os4wN*rzIscdn0L;bX$JDEUw^e3;N`>V3r&It{ITp3^ zF*Ok>%u4jTQj5o9nm?shGej1Te@P{y99PF9%+_M%ipoZbi|gCexVS#2(uzu5 zaZQxj{yHj=zP-z<#pm~_%=&gBf+!x}ip#;K0l!)qQ<;^@J_h-HDv_fOPNRTdqM}me z@@Z7#wC!T~9jb{f{3aZgS;6ichb1#n8nt=}dkZOkpn@nrriv0!jnnWkfZ4=wj#rIS zpOn1|RbM)%GD{IIiff1JZoM(ogQ=x|>{C^-sS2p-DlOB*)|7sU4Yj%YK9xFUhbjs)h=NdWQpYQ{nU)HSQ~-UbA5(dV zfxDE{=~{z%N!=MI#=FmD#3mS}8uEg=H%?qp>*}7`LVZcy8z*MeVH5HlpW~Q%Jx*Yg zY9u(vj=DEa+!fM)1Ul;7apEquZ<%;HPE0lt9tyH8vr+Gl6V4nkFa;r0lH;TjQ1`}( rCAAe}mF(Kn({aL`)M^Gz%{ci7r6z$H4mM#I00000NkvXXu0mjfNR|W= literal 0 HcwPel00001 diff --git a/pixmaps/black.png b/pixmaps/black.png new file mode 100644 index 0000000000000000000000000000000000000000..595db667e26254edc169379e2940b74be0344139 GIT binary patch literal 385 zcwXxa@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G_YAk0{w5<>&kwKot;&bS!7XL1_J{lpQnpsNX4ADGj8)SD{{DOeEI*s zQSC+EwHgmt4PWj#J!kHVE(VtHs6ZCMKohUb6WLrF8Z!5sHji*@XV6VJ6LlgxwA+`@ zIKfBv#MWI$ulRLzXdjrdE7oJ`V?B$Y{hXS+-nA*)>7-o0$=&xObb`M5cSqC5AN~4& z)Ga-swqmE`o)Fh9pW@B6W<83nHgKwPRXzHF)2?B;-`XYCLOrwO4(M{aU6U^e6HV~q z^ou_l9$TvO;G{_C+b|W|C3ntS)%QxD`K$Z?q)7C7D?`VA=Hx2z?NaTro?eq%w{H{h z{q!TpEo*<8!*t*6Cbo-Mr@Tu(-4h^Fo57&do^hJta&f}X)w#@PA~!5rDOj+*;EMaX btXhVh3{b&l;b@Y+aSS0akG@9W*fBp~=5go_z z{r!Di*Rm|k>}DR(dq0lD#$XXu)l#GsW@cuJ@CYJ`2zMX7pV!rUXXaXKYpu1$L>@sA zLFDdZjEEqjQi`7E$;={RA5X27n639QhMDy-+#SnQwcd|1ySur&J3NCQ5ixB@CZ(Z5t9Y)1rEwXGDld`UeAJ3>YS&*4o}$ZEcM4e!Y6{ zW+oyO;qLA}%$T{LYH5I(^WEKRttd85KaOMcj#8N!5`a&`%*=?$%~)hz7E{F*B*`P( zEQsK`)>>Or6fYvK>%#u?JhPVY%*>W$c|M=#aRjrL!Xf}55&(D-voK33B2sIWQlfVp z&LVo}m6?TE#~26#hGDD#xX=XtL zJa5~!t}7Guh=Q<6QFs6M?;q;gS_6E>80UHR-fOMDfB#lhW-hAu>h5lK^^Uy3Do!t| z;co7|cK{IK77=qdce)+bTI=7xf5#ZADk9i$90$_y_4O4Ivmc0Hm6^@m&G3ot=Iy=D zuVZ3PL>#>(;_iafm%_}tEDQETL~9Kjp3moT9LusGG1-^bb@kpSl0-@bi-?H1pXYg9 z7s_vD;SQhr81MJn-L;geT2$e^BG5?)H&{M@fxYuQpU>xco2o<&`vnY%qW6I zCPSE^tO{fT1%Nc76p`aN%q8!59P8{WSca2aFvN#GFi*gBf|s z1wdb|Rci&uVStu>-?8pIPk1Yj)>_-Lh{((Vkzg`P0{yNfT>1aBCt~JxUBAA* z9*+lT6&ZTHUO)p9j>RIfGml%ztjkhs#o_09qL&(x;vggt(>^-{ks-;C#{*We5^;mi zaTeXGs+598I*tQ?K+SsZ@Atd+4q~4*i-_!{EYcjM%&j%_H^yRW1XL9E@X5@!ZG&3? zX}_-2Rlp6nNbv{X_(T(@&_Rve9b|$!ZQE9EuE&G8p?;QSNtp&Is1Z_1tCb#)Rx6lQ z!Ah{5BjFRJ;Og)1Z~O_}nz{vhk+x-79*@Uk--{~pJcnSdQ)kuMYn`l#Q=s%}t!DOq zzf=7}X~1?uck-VZYK*}EtNXrdt>KQ`nmfq6lp;iiUXO5hMT(~Mtre#rj_h3&X3ko( zF$Tble^CqMJZDBOMi>API1yEtQO>5mdlZ{LpX}G1T^PWSKEMYIL%Ze6e8$KQoV!#N zBs>+#J%17%NXh3Uz@Z>{RYj_hCme-cD08iqh=K?&VB&~Sv=E#{=y2jw>!7K?Gnf`& zRx~u4JDC-Pg)_6|5S1{GTS;nb?fHBHO&Ah+QE08Ovo8<< zi$Io4>5~T`MV|t3Dl`$$A)H8B&IysrkbKO4cZX`5dd95kR9a&UP0@sun%V318e?qR zhMvi+=8Yj+05=1GCH;dMJdOiX2VydXSh<;4vlGxfC~!6jTmhwIlc26xJnko(K2Zr6 zXTM;9h(LfU{7u?Q9}~uCM_fHV$0cSIecYW=?wgsag3m=H(*syc%EaJAVXo^!wE%s( zW$aAU&7(MdUZ3tHXFyolT3go@pu=S%>18Tf)C@CjDqd9>M!JxI6cu^L$+<*C>$>KD z2Ov){2Esx*lXkXko9YD^Nif6TsgIajYw1L09^i*zjE!Yk0JL;nZwzNGfOceJUSX0E zLH$TLV3nKU1aSL)zcDBg9NfiT%uO`Xe+U@uFz-%z^-d)PlqQ#Vkdsa_9P*xTe&T*m6kw5sX$@@i|+UX*nk8J zBqSDyU3OiR1&ay^R0UCWQAi+(g7a!En%3A(T)*S->(2Xi$8%qYMPetRNozX^-_>aD zJ-_q${m%KF`}-ZiE+nNCz%e1jI6$>pC6~>T*Vm}8%*cW6E*y`FX*&cP0(crCsF8g_ z4Mle|%|jA<0F*)qT-RkIb%)~W9U_`7Ly-_dD4_X~-T=}xp_E1O2MHYL6KX?fPk`!f z2MBT3C&w~Tts2b%A-&NSq}KZN)s;Y#W6PT!!b8A$K1=5*3>1=^?uE=KHLZG5~RDxcO z=7dGx$aiTq;qFcr;;(y>XNXn;xnMMtTVH? zBms+vc9~?V#c7crFBP3zGFbcFsM{2l*?u6^*XNW0^m3fS3dq&&TnjBx5S8s!>F-F zS`+)}=<1@qtCMm*&1Nx=QOT3fZ4ikbq%qpKqj`4(Xcz{wv$Kqjj>^lIFEckcN3B*v zN{MBf)a!L((MH}p{RS_*ev;wmPf%F6MLD12_P?*PIKRZ)>^zgVZsYiZy#3Rk(HPko zppa53LJ0R!4^ycWv$L~IPEN|n$w{WBrkI(TLDzLG%X;YDU@%BBnWVS#ARR3+Vhw(r zN}09!CDu|al#B{`)!@YI-{IH4{hjFT>)R2a`Z&1N)m3iXxFIiGxWI!^dz`A(Dq~|~ zjE#-a)YQc3)2C@v1r;gCn4)4s?qy8Kl87dSLvs}A&jSoKfU{7!ls!%A9T3sby zv+#$b9O>_6X?lW%h55Y!X0ut&pFc0Brly_<>_L@ECC;5YN3L2UIrI|PCfEOUNiHod z?jCT<*yQBoQv=*u?v-qT`HehnO;OetZgcU%Kjp3fE0qeVREq1@ud}$g_|yQmGSYMnv(f^9^1B`31GEaC0{5aynfo6qS))R{N;~-V0!vC zUlmF9-oATgk$YGI#p}c8k23P&2~=%De)QpoqCJtoaU47z&zD9hTZ!>BGxxE00zAF| zYGah<)>clv@&W@9pPc#6O_|X*xO!!j)z#I9&PjDE%T)D=DzBX)g5p69wO~t?pwRfi z_fAqRm$>++-%C4ofQ7|HjvYHDT-QZWlqahPcOy;H2m}HM*Fu^G9>s&LY6OBl0{$k3 z8+;U$C^x5WGy0E@WH{g#@Pq~HZWNEl>F(}Ab4`!}$LB|=3Z8%;;W{*iqWDddZ#~~n zE|Vws#i#PjZ+>wfuuv$V>pJmx9Lutv_%rvv>h130)t8592nJ9?5j0-|uDOY{HxaIb z;#g>Y3%|9APudjqH4=V_swfJ9K!9vEODdJ3y}cdNG@lxvqA2)$J_ZK|7#Vq$aMM0q z6|fBu3aA>c^x&~g%vzO7AxBZy$!FKWaZr3dA3gUD%H`!{IyyRt$Ky{04(>KrJv}`P z4))X8bqFosM*%#F3XX}iHgSwHrS)aj7iLJ!OtU;U$K3Qhs~dULa5&7#lPA%2ozFh| zj7%njrfD2FaNv=Z^KKOk1{oQ7g@MC;cvXR0+r%>KVA)g(dCKVxs%f2KF-N{wq);eQ zDwI%x#&|1gJRWC!d|XUUPRjA|apvde35Ub9x3^QT*C`f@dxnfQHqw8%kJm6*%RRR-+Gg`fAm9o_c!7cvsBU>WYTHY^fc*oj%vj~Ixf3J!i*fq&X;IIu%iGs3Q^~AR z%H_$Xvv^b=y~!j!gNJGBIDlKLBOC{5Su`dN(b&-?63K5o+VQO)UauF^G#MTq7O_~2 zWHPzk3okA%vbMHHtyUwQPHzw1>V=OSIYNJbzc`p^W2KtIFKzI7={TOGz55Vt9o-nE z8fK}Co6ghR)kou@F45AL{L1a}5a1T%mJGuXkGf6Jb$$Dtrluw$kqF6TQVb6d191D| z-#Bu(mrzTTic!HR8Z3<8BGG@8&KHM7{P5R9J*dZC;5d#$yPkpSR} ziE*x;{j)5uF5?S%Ir_~J4jma1?SqeAzMbg58ELh1^Y1sK00000NkvXXu0mjf9^bwv literal 0 HcwPel00001 diff --git a/pixmaps/gold.png b/pixmaps/gold.png new file mode 100644 index 0000000000000000000000000000000000000000..5890457486ef52fc5eb52a5ce5cc6d4cde4afbfd GIT binary patch literal 2449 zcwPaK32yd@P)EaCD&2Le^1ppeeZogXC@PmZDItYAR>ef5cpeV$WQ&r@{{d~6@v$M$_qALXT6H*aWqcl&++YA$&M=2JB7VIh;H= zlW}NbSH`YHb>|1Y=<_CCh?cu2M`C$587>CoiCHBXFvciGf(B#fsmdpwif_Bw-&xh) z8r`?beD7#+`1Fa_%bWS$v++2^^wU8BRI? z(hQL_iBw``!)z}}ji_Q{Acz#15CM5+gy7QUo-0oW^ZjzWl=&ad4u0V4b^gh>pqy@j z>ekI0-2`qQ*q69u#wX4Bw22>)_~QA>KC^zir-dUe$U2}Ipd{9#?_1mY3KBy~Brprg zJV%x!%xho{%aw8QU8ima$}U{Fo?O0GSsXm`yWQ@m{uubqeDB$|4eK7#ff-M@^P{!! z3&W6KdjGY>r5qaS3@wBqau|>$)+J^T6KzU1`U|6YAT`<`+yg7%72HOqtj~?ji4zs- zVMFf7;O<@V&YQ-iCtm-ZD^Kq}yXimsTkErbd8GhzuXUH`pRApJTI4UDoZ8Q?TC?#adn_L!~ih_@}v}_+X*n} zPhbArlh@Zj4%hA$plf}ey2cL&=wbz zuAv0)#{B7*B8KsU0B#90a3!_VM12<8-2f$06q%i;!%0QNs8Hl7` zU0hop-TvVM>}BKm^EVvp=EQu7SCPFadqM3+Ky4MIiQ+*i54==7DHh1Ud{pBLoSj7w zF?!4l+yW3HQJvVFBREJ<0wMwq4#(B@>(ietwepki-(LJCi-I36DV7W?BTNiyux%aa z1PP^pY>Y=KiRTCom{@C+gdw4pK#$a_905;~G|KOT)DVylBs+lfvO4FT!Mdy6-V#~j zBsLEQ)A-kfkSH~&CGUUF6%-N-a+20ekOzv9wU63Zl0!lX$|N7Fw5Gs)TgK@DGa<`v zO;|8A!{^{N8O}wSBti+bK(VA2;R%$jH!^3R{p{cWphH+*i`^>dMy5ie{Z-#S-B7sLgiw(#x)Vz{lqPa z6otS9nJtr~9|Rd#(WnlYNd`hl8uL3exot~;`|jIPb-GDFDKZ7r&c@W~K$7_m4;Ymtf#n{#7vFoJR)*_IJGej<}>nV=jZrA$4D9GM6tBS|d(i!OA_uAF>3euK=? znP%1GogwoQLr^-)%~^c={X6ybQfK=w4XcWs2CMAhFsLM6NR@GViOi;qhy;y=Ec8{Qcd!hw)5zZ0ChI(sOu45hqKj1ZQEJ+d2^kr!i3oRLNGg^lVJ;+@d@M$C zrKZ@&5D~%I(Q$d{=-u*Xe9*m0(@=oZ{bx@8`rfODKNsO&v{t}_j7DTYHXUC7 z_49Y$y!+)pcrnVI+o!tvLwoOk;?u{!{oX5wzu$r%i&76u(L}%PZqlFyArNcI22xJ6 z%Iczk4RnhkJu`8WcccU+Qa1i(%EgS#$Q(k}3_CXGUpKwIyjlipLl~;@Nt@WCJI6n2;o29)A9Dn}HU+K5>7r?EXH@bd3 z?ACcX04`;)zrI(VIev5YtEF^L4t=@YT6sF%=4E#n+xlpPH&8%qKz*tcwI*IOclKJV z3-!fWmco0bl9JB*UatVhz#ZV5a=rZ4zn43&f8#%v@4oR;`;EW&t49>-@qO_Dprv7N5(FKQVinTW806U-elgio`D(tgy;lHQhZgG^O|pa)d}O~{R80q`tvV-=;r-A@gtqneCW}~t(!M0 z4^A1J@%+VkwDN13blbn=e|MDee`>dG-q3W?^|Af`vOoFdKmRyv|5N)4bTwbYIRx|pz%js@5eJHo(T0`1`zOc^>bP0l+XkK64ECw literal 0 HcwPel00001 diff --git a/pixmaps/pearl.png b/pixmaps/pearl.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3e89272ceb6a2a545b88571a5e6b462563d917 GIT binary patch literal 2348 zcwPZ43Dfq8P)B4QH@773D< z2%(4-LPBB}He`_~kyx-v1d%|nK}2j!zQ77I;KVW>I~mWkdpte!y5Hxms&iP}*VAJX z5``5KbEML}w{+{CU!C)>Q}rG^w1@W49@_tJlb>|J;deeOfNq)rP3cNFx*a*WUU>GS zaR+!8&;T7Ut+n2L?dx=Tx%S;>M?CrTz?$*9s>Y^h7};p|BmTbz+yFT+0=9r5&;ri@ z9|wM|bY<`8&B)1{g}lsY0MUe7M*Q5j)WFU&EeB84?}QNkQG)z~kgmmc>s~u~>@=jk zZm{)!`>}xcZhT2rv$tgfvcKv6ZQ#@M(>l8KdSZQR3_uM5#i&6st%P>T=tA$qDwMh6 z^55LdfdG3KGZ!vb29x+|2<@M>+n2wZ29Ml;czOo<1Auql_{)%&({14K(v=Sa&)>e2 ze)-j%dp_3k>&Kw%ZHQfJ(q4)0 zu7A6IpB!&fTgOr+P5Q{W2r1Tgz|i%V2P5>Otd#y5V?Q}T5OG8uw3o#&^%>YZNN;T) zeBgKD?C4w6Zaukqoxi*L?*mMCDLXUTQAdFL5$jHrl9guIKd0yrdtIeQNNJPiEVwy~ z<+%=NwofP%Oo>ckcVCok6ri{n?Hj-^}4y|?XWj;}SSPVmVw%~LlRji_U;~yzxqWWgUi(H+xewK!cHXoSe=pkc*HS@6+n%5NB|1n|Ff~ zl4F4T#v%O}#c-U85FErE5$AzAj*1b20|6ids`+rTE`vEWIO}yFZbKS4`J{)6ssC7t zPE?O5V!G}<#(U4U7I zN1;>*$;q7{-a|IYNWt-qs8tO|zzhij4ps$os8xE$2;RT-j%>Jl#jM8^M-Yu#JtZZk zaHh-vjH2ZAFOm~G<4jkTasnhsTTUA?8X>3iHbLEl(q?I>{Bs4uI+fsL(Hq&m-Y60Xr4J?bkL`;ngA6QaIfw- zx%5#9Nuc&2(T_njlS5(G(HYXvK()dN;HGeETT95w#qAqjV#1ys3%e5}+E6h-p79bE>=B zSxM=e5TcS&Pzj={suDyWlt3+h4Dz+2;q|y&jFvvk|01FNSXmgQTj28+-V$jZtqgZF zu{ENa#}+L2rPj=e3NZ!Ih>8fcD76ZrwVGM=;wI8>vnrq=5Tc-hN>mjQl_2r}oUIpi zxm?JNPt@0-Ob!;6{-alR1}R$P(gyo8I*_!io5rv+N+xxv*T&Jc6=EBihIp#R4MT^ zzeVoC-;Brl7ef3*Bth80tYcLQ+I7$*LLMRAp5!}Kz_399tu*bF;g%9&b%I!I&6)-u zG(t=f70$q96Rn=g-8SpntdN&0IqtGvJ3fqmU%&V0SLe6Bf9JW+ykPP4@Wo-c_|&S7 zo_L-T#zOf>k@ivypw?hiumC~uTsQmADb3uWiI}y_))j3s?KpeDouH!UhZ#R>Ui(aL z0E>xMMW-70k1p%Wi=}?E9*@5@o4s{&b@!xh3I%-e6Mqy&`}MJB>msV&RBP93HR;g(yIR+LnayuqmMCLimcY!Hz1iU0c zUcT{4JbL5B>x;whU8}$UmA`$*(ddW%s{8ZjK1myP8IOO8!PZX9>-zIi!)2Rn|FiDf zpQK4ev><7L#Cb@qZ%N}RM#~apmKUMsS%a9`cz^!t?ql}lr1e8?ayKNu8Iqg;E8re5 zzw+T1?1ypukAM%_XMg>78HY=Z22UdwFW?trV3K9n6!Z2}n$eOll2*hAQEb1srZR;( z-(xVVZj*K0e|9n7*{KWqBh(tGS3dm0kN=JE&>q_V75n0E{Pj=#FV{oc*na^}5s67+ Sxzkzz0000b literal 0 HcwPel00001 diff --git a/pixmaps/plain.theme b/pixmaps/plain.theme new file mode 100644 index 0000000..98cd878 --- /dev/null +++ b/pixmaps/plain.theme @@ -0,0 +1,6 @@ +WHITE_PIECE = white.png +BLACK_PIECE = black.png +WHITE_SQUARE = white_square.png +GREY_SQUARE = grey_square.png +ARROW_SQUARE = black_square.png +DRAW_GRID = TRUE diff --git a/pixmaps/purple.png b/pixmaps/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..4e87575edfb3e8ef75196ae759fa7a47e058a186 GIT binary patch literal 2157 zcwPZ*2$J`SP)j*A;X)T`Vl-i+5mpETLYP6tVOn}{rh6Ve)6;$XKC0?GTvXla2M7TZH};oQ>h`_2 z>ip{af9HSBZ8+4S4t1#iZ;20k!Sl~QF92B|0kD%os>>T)?ySP+&TjRAV}Jz;V5@Lq z^ZYA=!sTTg+^hKH=}GAK`(A79thM3HnKSVt1J*zhXaOA{0}|k4z*E4NCWV~4yw>H; z8kEz3QW2zv;E;RnrJ|vGci^6r+izMO|0IO?qf+XPG)?ae27_U%)hd>km%|4FzWVB` zVtadA)FAWq+g}5o*%&6R)yo}*@1y`YK&eOxV8C_*-GveW9|UeFiQ>R8JAj78#VIFF zjOexeC1cDF=jP^~>vp?Wq?E%M=(_;Voja$-<8cqTYf{Kh0Z;$ycK4CZHzm_C1mA|9 z!}P1Flp_JQf|+UWYb7J;pfW{>NH;C9IT7A7|eb5?z#1UXn@t# zRlTyZl6mjXP73*z%NyONue{bJib!@0NIgtJB$4hBx8JE8R93mEdJd}tR#%S6I)Fx2 zaJf^McEq$x677+4_p>r6Lh29#Mw=@SoSyI8A7k&9SX*1;?YG~SWm!JDIkG?a>xH@d z%Jl?q103Vt-%`X>;3tAYS7n)%*6Pq?E72Y;E4aNf(o>=^vI4WJf-Ss8%U!sGvwa3wD*z*X zaiw>0SjfBjCrgx!SOTUWDedmX5rNVBb7tf&T!XGQ0(LeNIt$gTES$vZun%x=S%ar>aTa*1T;uc%qGf&a z0M%JHP*%svi%J6Uz=jUCXtn1B(^A5Sx)c&^1EmuPD!9ygta7_<)j66~V^*>dB`!!( zvzt{PL{mcNtNxhTKxPXLsH9rsReiLyivD3r&7f6~mx^Lrf~hh$n-GciO^#;T>&{-6 zpmHS9m0QkN`wA^X16C{6E`>cnO%Ge&Op`&oP};lg6XEI-y^j}kjye+UDT5*wVi!*D zx>dT+lz4B3X6IR!_LlMhSW$xkOl#NL>~2Ds6q3}2^7c-8Lzkr|iH_kd!@|+L>Q};% zXx&VLS+KPVOr>rBDtC4@gPOtGCIZA7qyTQ!=K-MWk_z_h3o;uR92Uoh(NkqbmO!4D1kMvt3|Ii2HGyXa>*y{y=qr4J(o^y=e1HG>>Z^k{oxUzrr@ zjqdSssHKX|oBSuh<6RRe@*X0NxORI=vTfO1Z6hSemLoahnzgx;R^V-0HW4`3c%f?4 zE=UR|-!+M5*C-juOBH+w!}YE9>o=~Yzi}J#pLpT)wXjCZncpwAv!4spS2JNLe85i~ zx$+2K5S7A=6yatntw7TE@7ih^xw}q>Cui;Qu(Lg} zn}w6-Z(K{C-Fc(++;HpWtsnjBfuM{0tt`{Wr!Ly3Ln+!SmJb$QEhh#<&;;QLUf_iQ zADBAG+BqFB@KPZrf*1uDh^e3`>n&9l_QgLjzHxP&YeK-KmO{(037jvS{M+`_zC2me zuMG3ewaw9%pM{q%fALw>Z_jxd4Mi@#Aa(kkc4n4JFYc96ceM~iS#6)B4fK;hW&%F* z$l6Jh?B6SP<{g>cU9Si20w7LHJt~|mL*Ta2@nWL=>pN5Z(#>IZsTj*^z}C0F`H6CN zpQiUb`p}PsFYrPCS)7G8S9=S}g_bRPBw&zIGx|EqG>3d8&B4TV7`dJp! zL5P|4!)}tlG-wy6f$=Ce7pPjz4d68;QMhv jJ^J9e5B*=RL)H2>*{}bI*f8gc00000NkvXXu0mjfVVNXl literal 0 HcwPel00001 diff --git a/pixmaps/purple2.png b/pixmaps/purple2.png new file mode 100644 index 0000000000000000000000000000000000000000..04dccbfdf661314ad2fd831d94c2f311ee67dd0c GIT binary patch literal 2386 zcwPZg39a^tP)*KwC{W0C+8TZ6vJHnBW0s<)lVx%Z23kxL(vWnPX!2+>h ziG(7SNUULjSb$itfCUI4kir5)yb56wY!MH{aXfKP825a*XWISozN+e;!{WZzo`D1u zR!Gc|>U~tztNW|-|DSVjJ$M>V<7qsN|KA}$=nr0d?KJ^(wHZ*&I}NvwCVX%JKlSp- z7H}1)fDSn6208x5*SEW2+57fOfggQgZd+ShImS3tRb?-}_@e)>0ari{jDQWG1!~}j zfG+?)H}7=k_ThvN4xwKdAvkCR8_>tD6+AI{-uUQqr*Bo!|3O6lK7??yX_^nVx3|wm zqfxiNziB(ZTHv&c53KFaRMqJwSqLVoY{>0I~_g znd0)FhB*f!?CmYMc5TY$D8G|Z`n{ckU-b(-yx6cK0A^i@17A2gtAF(yU)jB8^NhBEYAY9@ zrI2bT?PY@c6EOXGAf#6Zry5g&M(h9{l(iylUMJ&F~P-YuL4bm1xW2oo*ACZ)Dl8l zvKcl9s%TWPWK35EOj_WULm-WvH14TFX6O|gK!XzlG;K!2nI7Nz#0!@;KJLExP!10d zdH3CSweR~^j;Gb{{_C4NAM5YdX1$a5)6b;CvA;z^Z7ZVARPF0W(N3L+h~ZTpXVRVE*s5rVTk33vl}E_AWTQl#|) zqaVUWEpU%V(oE+{B^eb*v@n2!J1Q&CthlT#;|L|Yt1w_1-@di^_F1PN*?O)gs8eC2 zEvK(O9MBO`T>DHeAl7i^g;+6SFtS1N0s~&86vwh7!2!AOpFd`46(@y@BJ2Ux+3jW- z_l&+07RyMrY1B<-c@jvmWK1Y-zPy3zQOu;>-0j2w%S;i zi8x-8=?I31OPkQ9a;gL>gxON1sjPo=-aLqXpQ(M|>|tW}%Cg8QJt{^wNU;d!;BJn% zxeMlN*<>XWBBJithts?H8VX#*O>ly^7qHSdn+j=bBt-~;I1EBlxz9Seb@zUIJLc)+ z#!@1F07pxK>#*54A!KhWV=al9`;f&|i_nxK$l6}Gn+l4PZ6)UFGyzjJ6mu0r#E1%2 zLaT_z2&zOgh|w{pn=aE=PQP2f5$7j6Z*HV?_k1ybwx7Y#!x2}mRXnphryX@3Lw3PE zXsOOMoXTp|8dl1=;BF;1Cb;9-B)gZ)i4@C}RswZ}hJXe|RZHbb=~mtk@(B29m*pUK z^L9S7{LiHDx#?i|FejfS^wNf;y^f8YC9%q+U|v<3JQSa)dTB$!B}G$_OrMp05Q5}9 zm}fT(g@B_9DN<&W$G}uqrCna_Y!TP!!J3Iu^G++;F zspCjQ9cwchoz3lz@kUQb=0vxYvbD*4R6||7MF^$XRZC4d_+YE*c5E>1PZ#y0Wgl)n zxYzvc`OVRn&raTd`1^nU35(tG+ie@4T?}5mYQ2nu_n+)?*sl|aMNBf5g)9QuSPamP zmuzIgP`a}~KNn(SG#kCgHakHjDu|TUxN0%Jo@X6AyA1AWOYCKclhv&2gJ9_gP+2jgu&XYgs;NWo*?(n+&TA zj~R)E*4gWJux311Os+fI3#(H$Rm$>3u+p?O_ZAmsa+0Edr;hnw&KL2Y-al*K>1KKl zIQflV`;mU#t1g<>E1&uUNvU<^8R}|JVvPI17sqkqg^ccF)k`79jcRkCX;w?FIujcs z#Ed5MP#INi#N<96ce!b-ucFVYXzy2*xeC*Hm%as@01tpSg8Db#zP0(_ov*$(yZ`>T z^I!knuRrk!`aPfOe*QCmiZCL`WyaNJocGJ0P8zQ@)un%|HuZPHWI&VAZf5F@9AfPo znk=Pcy+k?hry(zn6$WhkYWL3NtINNr!tmqfdK`ltR?$v@1@Hkd{rqQNw(rI9eF2|< z{q&z9zD1B7#_eV5tv2|^AZ?qiy_BWh$)wh65pSZ}rNK0HC(8M~$X2IrTYcXD_-uN4 zGM`bFP)i_x{F8tLX${eSYo}!M$Yt_BP-;H@jNd|<&BGs zd2#CHv>VD%4)VVv_O3j7v7PNeMMsPrpLE2g@4e@D_t)ICYJR_y_w4%9>?zv|?b)L@ RH3LJ4!PC{xWt~$(69E5el_&rJ literal 0 HcwPel00001 diff --git a/pixmaps/white_square.png b/pixmaps/white_square.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6ed41d786c6ef673b664cd7a423b9c6cb9314c GIT binary patch literal 151 zcwXxa@N?(olHy`uVBq!ia0vp^8X(NU0wmSG7d!(}OiAAEE)0x!yM&hjd7K3vk;M!Q z+(IDCclIA8|b!117)z^`Q+wJq(_%elF{r5}E)dmnbR# literal 0 HcwPel00001 diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 0000000..e69de29 diff --git a/po/Makefile b/po/Makefile new file mode 100644 index 0000000..36cd7ed --- /dev/null +++ b/po/Makefile @@ -0,0 +1,247 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file 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. +# Please note that the actual code is *not* freely available. +# +# - 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 + +GETTEXT_PACKAGE = gamazons +PACKAGE = gamazons +VERSION = 0.83rc3 + +SHELL = /bin/sh + + +srcdir = . +top_srcdir = .. + + +prefix = /usr/local +exec_prefix = ${prefix} +datadir = $(prefix)/share +localedir = $(datadir)/locale +gnulocaledir = $(prefix)/share/locale +gettextsrcdir = $(prefix)/share/glib-2.0/gettext/po +subdir = po + +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +MKINSTALLDIRS = $(top_srcdir)/./mkinstalldirs + +CC = gcc +GENCAT = @GENCAT@ +GMSGFMT = PATH=../src:$$PATH /usr/bin/msgfmt +MSGFMT = /usr/bin/msgfmt +XGETTEXT = PATH=../src:$$PATH /usr/bin/xgettext +MSGMERGE = PATH=../src:$$PATH msgmerge + +DEFS = -DHAVE_CONFIG_H +CFLAGS = -g -O2 +CPPFLAGS = + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = +GMOFILES = +DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + ../src/main.c \ + ../src/interface.c \ + ../src/callbacks.c \ + ../src/support.c + +CATALOGS = +CATOBJEXT = .gmo +INSTOBJEXT = .mo + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg + + +all: all-yes + +all-yes: $(CATALOGS) +all-no: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --files-from=$(srcdir)/POTFILES.in \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-yes +install-data-no: all +install-data-yes: all + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +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 $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: update-po $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + PATH=`pwd`/../src:$$PATH; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + mv $$lang.po $$lang.old.po; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.old.po $(GETTEXT_PACKAGE).pot -o $$lang.po; then \ + rm -f $$lang.old.po; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$lang.po; \ + mv $$lang.old.po $$lang.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ + $(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: diff --git a/po/Makefile.in b/po/Makefile.in new file mode 100644 index 0000000..cc95ef4 --- /dev/null +++ b/po/Makefile.in @@ -0,0 +1,243 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file 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. +# Please note that the actual code is *not* freely available. +# +# - 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 + +GETTEXT_PACKAGE = gamazons +PACKAGE = gamazons +VERSION = 0.83rc3 + +SHELL = /bin/sh + + +srcdir = . +top_srcdir = .. + + +prefix = /usr/local +exec_prefix = ${prefix} +datadir = $(prefix)/share +localedir = $(datadir)/locale +gnulocaledir = $(prefix)/share/locale +gettextsrcdir = $(prefix)/share/glib-2.0/gettext/po +subdir = po + +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +MKINSTALLDIRS = $(top_srcdir)/./mkinstalldirs + +CC = gcc +GENCAT = @GENCAT@ +GMSGFMT = PATH=../src:$$PATH /usr/bin/msgfmt +MSGFMT = /usr/bin/msgfmt +XGETTEXT = PATH=../src:$$PATH /usr/bin/xgettext +MSGMERGE = PATH=../src:$$PATH msgmerge + +DEFS = -DHAVE_CONFIG_H +CFLAGS = -g -O2 +CPPFLAGS = + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = +GMOFILES = +DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + +CATALOGS = +CATOBJEXT = .gmo +INSTOBJEXT = .mo + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg + + +all: all-yes + +all-yes: $(CATALOGS) +all-no: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --files-from=$(srcdir)/POTFILES.in \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-yes +install-data-no: all +install-data-yes: all + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +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 $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: update-po $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + PATH=`pwd`/../src:$$PATH; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + mv $$lang.po $$lang.old.po; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.old.po $(GETTEXT_PACKAGE).pot -o $$lang.po; then \ + rm -f $$lang.old.po; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$lang.po; \ + mv $$lang.old.po $$lang.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ + $(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: diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..20ccd41 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,243 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file 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. +# Please note that the actual code is *not* freely available. +# +# - 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 + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datadir = $(prefix)/@DATADIRNAME@ +localedir = $(datadir)/locale +gnulocaledir = $(prefix)/share/locale +gettextsrcdir = $(prefix)/share/glib-2.0/gettext/po +subdir = po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ + +CC = @CC@ +GENCAT = @GENCAT@ +GMSGFMT = PATH=../src:$$PATH @GMSGFMT@ +MSGFMT = @MSGFMT@ +XGETTEXT = PATH=../src:$$PATH @XGETTEXT@ +MSGMERGE = PATH=../src:$$PATH msgmerge + +DEFS = @DEFS@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +INSTOBJEXT = @INSTOBJEXT@ + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=$(srcdir)/`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: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --files-from=$(srcdir)/POTFILES.in \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +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 $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: update-po $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + PATH=`pwd`/../src:$$PATH; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + mv $$lang.po $$lang.old.po; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.old.po $(GETTEXT_PACKAGE).pot -o $$lang.po; then \ + rm -f $$lang.old.po; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$lang.po; \ + mv $$lang.old.po $$lang.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ + $(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: diff --git a/po/POTFILES b/po/POTFILES new file mode 100644 index 0000000..951bbdf --- /dev/null +++ b/po/POTFILES @@ -0,0 +1,4 @@ + ../src/main.c \ + ../src/interface.c \ + ../src/callbacks.c \ + ../src/support.c diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..ab2d29e --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,6 @@ +# List of source files containing translatable strings. + +src/main.c +src/interface.c +src/callbacks.c +src/support.c diff --git a/src/.board.c.swn b/src/.board.c.swn new file mode 100644 index 0000000000000000000000000000000000000000..7f3705bdea1d5cdd1cfa90c53aab87f9169467a7 GIT binary patch literal 16384 zcwX(AdypJO9mj`25{~eQP?lm!=`59G_HJ{#cY&jh%>jFt&E=ANgnK1;p2O_U?C#v{ z&TM98?`{*t0*hyrg=iE|D`jb6;U9uf;tL<8s1*D|Nm*)vSPF=gr3e%#f&st%nAzF6 zy)y+yriVsIPiL0|*(gaDUGP-j#Sd+khE9{Dx@8wt$FikW zM6=AAyP6W@8ZX1-e%qSU^RAN|R4eLX%XGFoZY@8bbnJXGXQ{Tf|*EyySEyiJ7PM3}~J zJcWmkBm5OSzbwN47W(~bc=!#3Ej)iB!mlHIJD#aidH7!l--_qMBK#V{*Wx*S8V~NFs?Ol1L(nB$7xXi6oLp zBKdz7Rg%bwPfP>(2a2_}lYyfTGbg&*gc^d2hcYy1G4hF!*U>i6eYyf{dRg!)Mz5%`j zz6kCFcYqwY8tev}!TI17jEk4SOW;NDTkvb}D0l>X6MP+f3f!`WkE6qDRvC0$+DI~~ z+3F%GS+;RlYC9qkCI!nTa=kB=CiR_tUG&k>5$ADCg~cz?_$3~{MB{0UVY*}~QBO-p zB*#@DD(*GE$EkR?UkRk)7AvXZIA{6m7|OR7!U+4nd#6AeVj z=+y9Vg8h$T=!e*%p}8fcYAnILSc1r!Rm+w2_~f3UfqkRdiHQVPD;VW6F9b^5ZXRLP z+_GWneq1b9R`c^Q5nJ!Zr+T*tEz!`D7piyBxGpb_hL%LAXj&CyshSI_qu6@hRcKY+ zdR3R>2`Q{#xOzn~^+ma8TeT{SPqwpeA}YyQOYKR?8w{k4*N>J&#B06r3fugz-JvFA zEzX)j6^$+rQY!|S5red7(k?7u?aj*bhDVO}o31#h#$3&Dm4aa!PD$6~iOJ0Pq%xQp z$?}ee6bu_0cFiPxWOrtGA}bdrm?z#j;Gd zHgmBQHnV31Gn+J-nLR6**`&$L?A>t^n#|7Lo)(5WuxzH6M)wbA2KFt_iz%c|sF0eS z=~+!-M?j&4MvpM!z@DMWY^yAKgb^z$^a>+Rq_Cq|A(`BdMOr8PuO$gP(3}lD#kAcGv=!w=L`lwq7(Wv$>uL zLQ@ehDa(lpYc!EF3Fpc7kML$Evb8PCMS~2Ej*Y-s$c#>BCX~VPv8ny?3cF#`CW^%2 zehB2vKZSCa7vqibL>Ie$_JU=uqL#~6UUtxOR)K$}RpPBrsy6(Pf*c#LYGuvb=3+xL zHJ;06As;bg4L@g*IybCYSVIx&A2BC~x--GeaB_T#4`8wC_Vcy6ov+Zr7``6U)zQFLo zf{s6>sG^tn_8llJm^pPbMT@YeRwk$~AzTWyI`jINdr?xIQd*keZev+5Vmi{z#hK|! zrC*7hhHWm)KZ0Y6ss0wvfS9ILSJ9DqoV&K1X z@3Ps{llC&vZkUH^ne4YM*P=@XZ@>!;GheQ0I*B2&oP$H|be3X)&#c{>KZyZHKQ_MZ zWQ#~=>9W8l)p2y&ZT?2b4E;jS{}17u_YBUE^!!hMGyen5^uGsBf$x9^!0q63;3!xE z3*ahn08E24=mj4Ho4^Oaah&VMra6M3g0){{e zBtcBvAv}MEBs~Vc555QP0>{9WU@zzgY4CpV9`N@zN%}Up7aRfeAOp66bHH<_qrJfo z!0liG^n=U6MW73;0Z*@&q{qQy;6d;;a2F_oS#U0Rc^%4I$N$dZS?~<_DYzfp2kr&; zfX|D&h6OMQCcq`)&fzTZD*FEg@MrKR@a$SXCZ1lq@&P`QNFwf>HrYv_$8X|@TS0nyygi-E?K@22Mbs zpI?cz$3>>1J&Au1qQ0}pykcp39Hs7Jh0vpqTCLg^JaOtNsuin7{kH;Z7tc-iZ#rl@ zdAS#CU6=j)5K%wYJmMy*ZI$L}BL(6AJFceNHcopZ^nL^WAo`pb4qP=<*UpM75lL&|wbpR&G~< z&=-ZC^Ag?-l~T~+)ZXn~EWKC3J>vcf$A6d3@=N_AUdv0+z{sKV&eLSJG%m`$gx=ga z>C3@!R!=q?=u|RwJJwW0coPdqPurB@BSbq5oluo8)GFil=g-|z*2e#!LI3){ll57vg35-h(l{9 z`$1wuBzu7Wl;E%N%k880E05Rsgyo%Vqlogvuo5Fg3Dl#3*(kJ1?Z>TakvsvD$#;`i;~GPnY60~=_a z?>>}JLJ1|5P(leMlu$wmC6rJ?`QH_#C`nl)`=8q=vA_S*od5YxNYa4C^!OkfqTIg@a|ob^nGvz)WJz`AJ_r@ybbl>yWnv!2X=z@w@T6vzzg6q zcpA)uFMxgE<2xnkP4EoJgF|2!*bcUU&ETUhN%{c%5PSv9fh6b#aS#Lh!2Mt+_;8CP z{RCVCPk|zs1jFD#FaRC^hruCm5Ojgf;Em0a^g4JAJPn=%7r`=E0vb3765z%i=r?#D zya#>>-Ue@hZ-W=XJeUEe!4&u`_zc(ye!L0(1n0q7Fa~yk8yK%YfM0-X;7L#h!{7*b z5DaYO!2ON5YRsf#dS|FyIKsA*{>xk2{3_l25e$&J`xJGFX?T0J3g zrIKM*RJouS=M-Dk9JL}>%yTM<(o3eZOjO-gi8jy6$nGJM&P`6n$c2{oIOd91&s!!M z@t4WARx%XbCbOq9XHxRa#CUpma?UfxSriJgTG1R59nYSWGb1NbqgfJV&&OQV-rl06 zEXk}eiWl=T_bs(*QE^oFnPzR(v^7UF4be$qCQ1_llLKACqqOtQBJ`X!=arD5V8gOu zS`|gt&ad|s(go?9sTGN1HH2j&w3ft~Qi6=rK^kRaG(pE8PDdgprbXO-w5C`p;p4*W zT{)<>3U3O{1c{h6N7oFfn7V0266{I-6V?c03c9LTvS>WI!UWNnYlWpcHOnBhZ|DyS z#5l!!#RaW_jVF?Qn2OOE{xF@ED2S8jfUmT{y-w#{@ZsSk>GnN~n~o3DA=^E#YtiOC{T3#x{3b~r+i!HLG6`eA*302wYTnZMHRjpKZ z{AE5>6dmmA>GRawd#+N)ZIV|v+)Gvya09nRrv7vqRdk6jRjs0w=-gcCGDBS=QOh)) zgcu<<(g? z+QV*|1De;B!Xh6~UbD_2^(mupG&MO1cRZ5vk8HEhRi^{2#l7Q%( z=nI{yMH_2Q1*WyG$q;a}Sh0JH^}UElrr{`>VH1V>$MbhWODy<&?rm5i#`3jf&uVkC z3v*;>h>T1QkDiRJXB>PBD;$S50|OpX8Kra z8o_-b9`$+~!+p?WEy~)>DEr*lzAb+>nb&k(Rz$3h2AoD+<@S*mF&{T~6}|^VweE#P zv!~tw@EyC09Vj64&|Dbm8(cWT4Wb4NE_8Rt#BR#;sFDUH&99`nO1*JrE>UzxwG4U) z60WEFhj@)UsH$a|7STrkft>hGumgOA-2X%HJMdfZ4)_iDHTXGr3DkfMav%$O!5v@| zco(_u9&j)CG`I(R3cPbW>;|ub=fJa|3Jg#II(P&;3?@Mg+ynlK`E(V09eiyApI^^x zSS_Dy3gIVp-}!UgGHX>5r;!b-U_6~Um6At?(`SZfbqz>?Qp%8b11Bu)%f|M=KC!%F6f;Tix`4 zbvMp81MhV2Ki2az24W8kL-Y`NNi2JOV)SG>H8Ug5>lY^2eT zqDH@axTkk@_pXtobxF65-qpn&AL8uir@YxPjZ-o^ySF_?L`!rYiL*T$8{(8zLJgx^ zk-O!QE;s8+Hq)-=B`otw`&(ScJRRJdS59MLMVq{>YGP1q#C27T@@qc8bO%KlvzC_= z#j=zJ+d$h7Rn5?xTN)|eJ_`9oo3x4zq zw5r~=D#@NowyWx6PbEDk(qjmwqTi9?3?lA^+71Xig7$l3q3F6 zO1y`w4f>`TU4e9t(cca6o6atF-#WEeC{dX6JI^WKf@jN^zAE@pik7q-fCuKd<5>za z*hZmmErr8#+|wNu4g?k28*!LwutRtUBUV>{5d*6#90)2v#P^HI;hC&R(ZwPPd>G^t z9ErJ^r-v%Jpesn-m16VDVbouf;7gJUP2E{|8p&k56yIN-&ZLomiEu{5YbuImmld5= z%IwiZ;7Rc@foECbyWA*yGyfvg)b^XT|0rFq!Iq|TX?bj7dM4|B!ld)R`2~Va`v`3_ z!W05tnH`&)m~y|Cw(0Uj8VRERu5hfnq+YmH^(9@$s&O)i)ca(aY;kW*Z4=?s-_l1g2lSq ze4?30BCGT#nPPl8X!ghby55q&X2T8^pl0L6(Iq$B)6b7I%+gX~&a-Q-?d@9s6{Gy& zo0?@8EE8LurIs|)2%ZBIgndF}9}k;GFO^lCqoBb|=9+}Jf`wkQNX=I0=8s`jVs5+- zwA*qq?v$b# z3E`mh@TpX+n5QN@|^^_{9IG zf8Yro^Zs}0!=HRz}HX97Qc%5goo7$p-Z&=TMO(g0ZdYI4&Qg+9r@riqB tk7g9~T2UntRO)#gmhGN$#8+HV7A>=-j5$15XP0h8JBbWdH literal 0 HcwPel00001 diff --git a/src/.board.c.swp b/src/.board.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..596ba965e8529b8986c08cc4bf36467daf87e34e GIT binary patch literal 16384 zcwX(Ae{3AZ6~~vvPz)3zg8B=o8aoj0*%#kA23P6DRJLO~Zu}#PokYd8w(GmOyS4Xr zFS~pG0S%}K(h?-3sudM!gQ`}o)Ixtipi(P9mD++T`YVlT>h>TCkZA(rux_%t6mx;Q7GMjG7hm7T582`9UqenDM=QX5KZuLU(>MWl2g> zk}f#)?(WI%Xm4ZNuRgq)Xp)kYq$DLNNl8jll9H69_gD(5muv6fx&_gUMbQ0GS zD*qqk@5Oc7MKb?yGzmEK! zxK6al{AY-Nl%ymjDM?96()lN|AY=bd@nf4j z19;^sO?wtR4W0rIg9pG#-~$iLf}6poz)tY|m74ZFa4Q%Gy?!X_`n8ZU<6zT+Q3J^Ut2ZpG4Lq37gWGF=mM94R`BAb&<(x~?gDp$ zn?V*_0{-+qP5UEw1l$b_a3i<@Tm#NtqG{g+w}ab25nKyiyjat|366mZu)!=C1B0Lg zJlmpa_kg|NZ(Gp^;4JtScmSLRUj?VY{h$KUpc8x$yoRy<19%$z7(570gWEw7d;)ZX zU7%}=nj4yS9B;)|o~ECv92K-LTZN!(RIL?m`|W9_7u?#s%~Lb`$A%6}4o^>~ zrC8CjZ6oj6t_LByst0Z@uq}s2&)Vm0Gr!obp04gj(durMTM@aHFt^$xp7n&!L~cdp zN{(BBO4C^~eZ%AVz$o#+2v)0HPo=eH0W07Y!{N(%$#ZK}dY zqEMt(`F^4$rfyg3x3DcL#cjT9daRS)ETt{ER)JABn1+9>W_ny76;=$95u>7M)~PI@ z{-*YhtA^+Ozzn$I<24p)eqaX9GWpk2PTFwB2u-KrPio8Lkkvhs?FS6Ud-HXwp-1 z1T^)EvTb@hpF6%4SWBGgH5j2@JT1pfwjC?KkaroJF%D1en^G^ZakE9&%k%ZxjX$`+ zhDW9j4Gm9B9T`@wXEI|Bnlo+d7S5zbUkl9&_zFhZ;>%>&e63jIo-XofCNolpyoVuC z9a%zOu3C{GCMqgxXCQP$WII#rTm}neqFPU6tr%&1j$+cYvgHS^x5}hASxtkw>n8aX z8v#bgHjdRecZ`Zzo$Z}N`@MT|n@jE{$?SPZ_6W(o^AOCE%G~;9E|;6l?AyT121zor zZv!(MB+1M@z2_lGcJAq0$50=Z&F&G82ge774y@Hh0@-s4Wano4HWTQL39KX0r;Iqd ze{5!WJr#Y*hz$kyC?n1#(Ay}G$sEM)$C>=YNJib|Gu#DbE^Etecy#7~F+DaqIWTUF z9G)D~P0w?eu_vIT^Yf`_gJx<)wMvdDc3-Sq`9K$yrv^VcJT#*#gXBJldhL7(YjZno zfnx7z#s6ljt-09+VfEw`_V~$BxB=njhy{b`3;o#~Ti81|HE?JjY`l3Gxvs916d_3x zvxJz{AZ95s?7dcfwWwM=&wYkHSibrV*=%=KIUjVtc0Z>DF7LV6YCT@U_R#pAX(np1 zuqtU1i8@VbX3aWjV{Y~$lv>Yq19ZsfF<|?LbyLsJ5&$&feoJvL8f7P>`ps2SGxi!1sbOi7eoPyNS zrqZV!wFrv+3=3($>=x=MAiNMOkMRi_yo{Mchvfv0?Geg>=%h_Jd?=RWLAj83%H=!$ zL@w51DQ;HQxJh-!w!~)1aPg0}s-~qs{G;OuYyoK|=ig-HJ(0&o4%_VR8~f&DPvB*( z^g<3!Ao*}&avCKQLnt@*SYvVJDNI;VRXT2E(=X?=Y5Ink%}e+m#qQ$I_GGhY1~1P& zC;lF>Eh>5(SZI_qdO=hu+He=6tRHx_e89*)YTB0;_{|c^a|*A~V>OrP-EtZ}#!=gy zH*NI^stG_HK@LvIv&g?`6?O=(SX@`tRrte{Z*qonYxS6h2m>~BiCIGpa%1GiLJD>2 zXewxKNY4EK-EVI+^}PLe^cy}z(`E-fH*m$8Avc*JfwOizwC54(_}%69Sg~~U zo66{~;v0(8L=%Pe(!I2@beC_66`8)zy`Zs7%p*}E;{TTs-@Vczp%7`FDdafD_;j@HsFCX2CE>gD&tZ5a0hDJOjQ0 zzO2pwPJpA}W1s_E2eyH?5cj_c9tV$r5;zF12Umluz@?xCYz5CrtVcessw);+8Jn`b43$&l ziK%TIdH5={nX@idsLA$oF$wvspViewP6#~lfOfsGUMf5@@_10gHXgZTv6G{MD-LjM ztHAXz&e!7Iaa{VoN`pE&Y9&{Y{0ZACa@N)#sua6$R4zKDRhrd!7Q?8xUZNuS_%Tl@ zJmxWko9qM|oc6?a^DyKPrYYqWx4=_~py>35f()}-^<4P8uoV%NTN92_kvcPUh@&$F z(Yc}aqQ|)&ojg#dH2284`?Qr6m8b0o1@3w3*h@HGm_5w$;S=F?t%7v6qnF{f&t-cB z_^Z@}j%Y=?Z{7ZESC_8t^EJ<-!#I&m%~6}wBsrDnLU}+U-A8?AC5&qRkC7$C6pZOm zhkh2Jm5;B6EoW3{3L$fm3qhDIgqozdQ-X`9H4L6;iBuOow}SWaU~P2n6MklJoLZyc z<$7_<96uORn$%df#Ud6af=PAb%WqBgN?b>*=+#&+&xZLxleJwi{3qpl)z z5D;39n)Zxpna*m(74B&PbCS8WKx&V#7SKjM@J{(EX(nzA5zD2+Qz)ZYNQqb6)gwdY zOxP>?)hQK%{6MT#ACCgLb*)TEELs`~6NVsS6XffEZq{R&B{R7)(2)UbtI;|dhEELu4C+3LbvYLkZX zA!EM08x1!cmWqb!y@H0qQ??uGhii3h@#vUVRk`l!bdRx5GrGgv2#>o*#L$Q%MjA>? z5z553PtqRln$cuLTk`x^ybi76SionkuC6)pP950}vMes%D71@p^mOFvGIEBlkuf_q zotFdo#kMxa#u#6z@_fL>OzXhEG8ap3P!@ZxPs_5&XzP_@CU<0|bj{QquIuuvbSxXF i9#WImS~FW4ZO1|lBce%rA-1RAJ=^ncrDCpY`+or}wwiYU literal 0 HcwPel00001 diff --git a/src/.bstate.c.swp b/src/.bstate.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..12caf65b38774ecc6eeaf3416894ffdafd2c48ec GIT binary patch literal 36864 zcwX(D3v?XSd4R`~ZTW4miOX?Llfe)p2}i;vro=)78Oyf7mTW!jv=A?&-O+07)y#Tl z*6Rm`21t{V7C1?8fbcjtJPf6W^t7eKoYI0Hm>f4v2x)04F>#;}0tp9tXiE>c-<^AR zH7m_ZyM8D=bpFFRNdZT4RuFWfKT$6D&nsLuNFu3JE?Bhi{IlnsrO%$#Gg{V2B8eoDNFs?Ol1L(n3G z8n&wM<6$oRv-(~GI=rL4Pl8@JeVqJ05q3jbeXoXdU{;m<9!VsTL=s6Pkwg+nB#}fC zNhFbsofrvCo5SCU!U1ra^Z~p*Q`26A1MnB{J-7{A=!V7cIk*6h&d{`jun%%j2S=uB z+Vk*3_%7TBP0#>Gr)keFkT zv}ZZC+t8ab;+taWl(Egs=*`V~OIw}FCbOF<*Hl03%$HZ;8(ubJ>&^Q5m2KUvu{En& ze!sP|iE79;Sx%!bf$)B1OZR zKXQZfKR9yB+d5lgEuEbm>zj%?ICKJijC(1M@(K1bP=Cn-3c4Y|5t9_|y&}hBdtv#uA* zPp(>#I5^Yv`bN;be#_OJtk)pEm?>+(vPGl4epAnw2^wQiD()mq-HjWbXY!+Nq*A(( zaY!Ve;ptw+GF{zs(4Nd@Orc4B@-^#y8D~Id%=x)d?Vp8mc-(#`n@Z@tW`nMGi^lL@ z!gQ^qO-<Feu3wNom>Jthslo$Byx+1-saXD$GhAKtyU(c2>YTRFHYLd07WnH?f*-$v0t4k?SJu%{xR(O zt6&nmi#`8qcn+S0-S92A6|MjsUc#>b9y|sEumUE)5$yYC;UMgXeXs`}gqz@N@KyLD z$Uqv};7oX(_PnOr^^2)tHfto2L=s6Pkwg+nB#}fCDm#U(n$BQn_0`S`dQ(1=xXPZl zV3?mpTDtiHK^IGLfkH}g0p(dM&MSVb6Xxs|$4bboF_~0bmv3Um^oyzzo3oY|6Xwwn zBUpHl3TdM7PT#?jO(%Q++81(R@YvsD2-P{(OBTpW}(t6ZAj^>j`sJ zm9A*GbNIx1wX$b*OZx~N8}3^?vEB{Vr|OiGVW`?b6Poq**7dO!EvsAW^3zJq5H%H~ z@>t&8Qd{tks9G&okM|pP(oFb{602{4ZuDWB>xOTYi}bt~K{xD#o-@zQn7Wa~*4J}} zC6o#`RiPPvCgIRXIWB2Jr)}n>F6A#Vb>Z`A(Djv0&fH>V7D!)B!om7aXZVF_o-?hC z&?DL`%k>-Sv}r4qS(g^Z4f|YAx*3Y$k&_EuXD_sW>KaRY%J*-(+8+1)~vz)%eflQ&yjO-g!;I z-!pzRPHaF#PYi}%4W<`7Q=zFT!}VfDCgbEtZfjrHvZ`%atZQvgOJ{40FFnP%J*S*p zzKfuYe4znv!v4Qo#E6Rx{-?=3|1V?PKMj8mH>+5HdgTL{3v*`5n1CO{kKi5{fF*Dt z%!a9;iP!<`{O90lxDEakZiH)K4XlJS;OEmc?J>9?z79!P1jnXo+F^Ja9)>JzgidIH z`A{YDOwqJm5QFv54$EOKygC`(uocqK43pr6Nt*Uo@F&m*7r|WkphnYPg1?0a;7+&^ zc0w!6hu?({Cu-Vz@UDpShl6mh+6T}Ev*G0ln)XvT4Ey1B$UzHC6KRb5KfoQ(H(nlx z^Wej3O*;aA2M@u6@Ey1lZh$M{QurjyhPOC|Z@>X~81}#xSXL$9xiAB&;G=QqF1&yt zT9~4Rsj`J>viP_3u`3E*D>ulzDE_U?BIQJemphGvRgPFJG?I6;LZQ=Hl?s{BfkQKx zVU(a=KdYRuVFAzOjzhUUD!Gr~WR8P6vr7&`@!1_1fzeLyyw3W@A=+&-7jk|C1~eq& zU@HSF#o%)^y|K}Y%TCo2H8v~I@pZH8QWf?y ze=b(GzDRZQZ0_oA>Ff?apDP`bpjtn^JthuA1!_-p_g8sE+|nD%`a6TNFM4wQ`-(l@lEeOT|v3AS&qF`i^ zF&JA!1LMvBUCH^)Yw-h>L`A9t`OA_ncOmKV6cxD(irV6-7@%HLMa$(kV+A%)g~v{v zf?ZU8#9yfILi{O23aVy_wJ?y&-}fdy)P;r)26Bc34+iywmoHdZA*BmxCCV~!ShiDE zXw`#>h0?={371j6_|PE;loy))PeT+H8*}nQn5sZNUzhwC-lss`kWK|Pg_oBOv0(+p z&m~Hzigj0(2|f#{HPr>tfF3_t@Jn>R_Q@TPl==Ih(cYPvqr`oQqGKd&S1Qy zp(nY6v31wa>IYl;yFyc@H)IE>zkg9JRhw*(4mZWWU&`?%yJ1oMgrrkh|Hr6BNJuyUQ&*o%M#FF@+|ag3-|POM2=33Oh@=OD^kZ zU*6Nzx~$+UNtk^`HszIa7MJB}8R<1kfy;NOmo>bqa8E~wBYi}FekFdkQQxFg+>s&9 zjFCGs%-eDz9Vxwcq|BEkg;ZGT#Y-c;oy6a@!^tP?|9{0swy~#${jY2C-G5KQUiccU zhjT!OGhrswz$@7H{|4WOyWuX_2p7Rbs8Y87yYK_}b9fZCLmSM2Suh3uiTb}gO}4{= z4X_Mm!Ov*lBanlo@F_Tkt^PXvJG=zXz%B3xumnC2r^EZ$=|6_&U^m19EN@HBzy~Qg#lO#Yv5Dx7B=->cpM&4cKNknz}3(I zA7Ur}K-t?*!A;Nu-OvV$;23uCVYnRztbFc^&!YkO<2VtLjZ(uY0j!#Z6B8HdSV|6Hg@pR zQuH>Cz{+i7<{Bw$yE(!oO}z?4nBK1c@XX7uxR2Z-26$e*{NL^e@Je-C1-1q*gIR+*OIAsy8;q`_1?!aVaSHW0=K8iUNsky2y6i zqvTJQ%KX!1xtk+@{7LL@+5Y&G@}9fOMyIUK{+4G$^b)(#Zij=jVJxE7f;viuo|PW1 zlNV7ThbRBMyKYfPW>pubB!j}KOit$fCe7b!1zYhO{E&m=IhC}cG z{P8sT9>8^Q4!nzP|7$opRoeZJ!yRz@RQdl2SghjxKN7aRcwP^$!Bemoz70EIJFJ8` zD*pc!cmaL{d*JJE6MPZQh5x|5e+S-B_WyNoEx2%%dXE3TdR~9CviE!7a%h7^>bbnw z6Cm~ji2pah)5-_18*YQ^VF$!u16&1H!W4Li@qZh>14;FKJ(5Tw`9Cg^r>ulTp0bhj vMxL_BQ+AT>=c2p&=7geOz%$ncBjYPJ-2sQ z<|iN|%s(I^Ab<=KBP0X}_zCa>2u>nEB0%tZKKABz_q329tDf|ByQivNRrPdtaJR$l zcXr;OOIsHN@Fe)dudlxH&4!Q<3vpoVSUO|H8f2!Z{5mJ#{Z25tX3Z^?dKbMer}8~h zxJ~D)bT@J~jfT!kueS1aY77SBzv88f7q*{&ZiAkF>c%=(27|$1Fc=I5gYkgDm#4(v z_-GVtphQYGPSWZVH!TykHa8Z&%W)1-nYT z3Dy&gBWtE7tVSK#hIw<6Pc6`Th4FHcvs{L5_x*}ay|Jq2(5%?LKQ0n--Kv~VM!L{0 zS6S`XO+x3AOcX_Lzjfm(&2m+cr0{Y{I~ppyqt;VpA(94z@CkosUL@_$ zI=E+gG*VVUv<{R-Mm|?K`)ZH&ly%w^&K5n$G$~12(2m!K<-XgjJZL7Ub<%CLuP>1+XVyAR; z55zQI3lvd{)u+X^4HReFYl6^I{bo9i`7O~_(`kg2m=`rvSl{5;MfI+QxF03ki-cyn z$jt00I0UG9((WY2bUdjHmW8y~LDnCI_V0rDSm;sLVGo3E;kXbc^+KChc7k(b?R@8_ vqxHRsIW~;iFI9?4uscy*iH7Qv(?x~5Fz)up&Dz#1P7w?wamm zy1SaH>dXuwpex=`R#9Z-;x6JUDn6p_0^$WlM3kF8kI2R4@~D7Z6m;E1{p6GH|DJQI zy1KjiGLs2jw$8(kNmre7>eRW_`@ZL`Q={w7?Ayss=~%BI9Hl7Vuzs@X>Aq-&%Lm0vkhA@O73}FaE^Fd1qUH#2u060q6 z0G?l_C_e)CgZsc&z^A|`!9RfsFbZ~p4PZ4`1&#v0UaBbH2RDLi!P`L|>;)UZ31B5? z1uq_{C@+AAz-6Ehyn@1f2^e4{h=3K~c<{(#MfnK$Ft`+qgB1AvB9s|C2_6OC0sjH6 z1s8!N7zLeR5xB2aQSJeEgYSXwg1f-Cz(t@F{5^ORSOxxHi=sRWo&isTr@)ioXW(&g zHP{1ogAp(U&H%f>4$uO=y%70>+rc-$ZQ$$R%b*C>g9KO(URt0i{{y}NE(h-g?*M6# z03G0U;Dz}pH@Fr22l#jJIdB>HAlMF;ffle3{BWM4d>rftXMzpjSn#bQ6y+u`35LO` z;N&BOZRYPl2Y4R+<9hH(@NeKc@NsZ0xO%SWKYQku`jwei3t4SSx7Mp#(lPdHj?Mx? zwAUHmsppG*j-KNO+H&}1;8$GPZyM;FWQ97Q1f>lM>4ItG9o_N{6m8v7Q<|g2s7QI; znJ}&Kx@BsrNOUP@T%9mdY28unj5)!g+NfD{Vx3AWW#T)V(rw2wr}R`T&Q`mTC*d*PBK?u zQODBqc2;vtOHEpO%5ZFCQGGBHV=FeXb?h`&eU5El1H1eCSAVYBVye=Tj_c<|t2_Y4|Z(OfyR_ zm==CJ<^~qwQ6teUF?Qm*btkeR6BU+XXNhd{Jk7AK<=M{UP9vMu^N~1JEw4VdiKX*q zPFMLav_0Ag7j<2ZP!4ux&(Lt+;6PkacySMkKeBEqeQI14KPb66W|=v4%*g6d`d?nl z>2Y3JqCI6h6sCMt68v`DqS1wX7x8ttz59?qp9n;slQCqM6K5mn z9$w$Tkcm`u4W9i$QOUij@m->s+q~wc)4U|Mqd7*BVJ6ta$1tu#Rna+nGZD|P{@mEy zOf-8%Dp>lMZt3}?Zr3c>t6ZdHR@WLlL7FKNm5GTNJEs|W^*o%8ie5QNO|7do=IL{b zwu8}~H|&g_ik`8%Z$$0w+SwEHdW5cKG&_TSvaWL$?~w}A;1-*@N5!2Ja^`-_c?NC} zgD!z_JZd@_CZ5KaWi6d`^~Kq^t`}^E@nRM8c_W{u#1k3JI4mmbgq~d!8I5MnNmLix zw2AHMLZxgQ98$abVw9j}?G5zoaVwAFWlb%m?$@$K-S$nQa-zu_j*4keS4U0FN=11K z`DY^e2$ZLNiS&Hh$h+B$Svu}In^kjq&a|eY?rbL}n3^*te?UxV7FB_oGPJCjjz)Ip zwNX@rV^XtQ4$~MtJgAJaiZnbT^rX%Vn~my7$?H7T!PqWzSWKvnHN~_vZlojPmV@^f znpAzYi&S)3o>w%+Yc$a|dp!$=%# z&~xHt;(a+|*ba5Wnbi}oZIU<~Di@o6E_m4Xn@KIpc3GxlI#UImKWY{E)D)@Fmad4= zsra6CbWn9KfB}r*uUmPHIfuy}s~KepcJaAoSa%$pwD<6_+o@3ew55%X;yULQbsd9F z=2V(Yy+gj-d=o&Y|Jvrb_jCBXBF$r2Jq_`h#-0rsY27~G1*{?jYTgq3Vz#)ZT^YkH zP<7hwU+;7`%{6Fo`hyx+Y2=gHVoGNbF?u^P5&toYRes2o>dFq<#R5sT zJWF2iI9xiuF>8#b^?XNWv+o$6#ORQ+5(2d`rmUn1Ql5mgG-jklg0Yl7#w$c0elHM{S>gk zPH-A{6F3#j0}nvIzX4nf`oZhL%h2op0PX=_0G|OS_y@2NoD7zMUqa9S7PuYU0Ime@ zl=^=XoDTjEcs)1@d=h&87>I!g_%-zS=fI=jN8kZ41$Ki0uoJuyECBPt{m|LJ2|nP{ z=Lf+6*a^0Sh2RdU(|-)uzygJZqCPbcU8sa13}FaE82*xjP$6q7Ji{Y{yVRkcUHx5W zNpnX+#4S%a<7{|bOD8Q30#8bhZtLnFCiQC8w1w^wd0~|oLdw78S@@)35nP$rr~Hc( zuc8vl%9Oea6{{kxrb5;r%x0+^B6)=|vrOUTy+zO3 zJav@I$5~@cCmWxy(!AqRDJ^9t^kv<$Ov}@jd+65&w#BrpVgX7;K*fk_w<3sa5(y|a zkipFY6CH?6Xf`WYxEG`+qb|f>(yk};Y__AU%)Vm!t2GuA-OP3jN}2c9RGi^z=y5qz zGRr_kgVL^(?U?Z!f!aPu5he^y_0j7tu0>&~46OgG%H4S)E?QC{6I#;t9PLDYXF~)nuNg zQ~twjj53Q>sk(6%u}pWgQgq$5Orc49b}6Y6c2J%urL`AzfgGZh$75uAUXxfey+mu* z^JHhQ6Y1o_L1i@bTs>Fd33xR37n0)tbT`#G*Uzu2Iz;?h20C=^Ug+e>qGjn&!ELGH z*PCLR>H=Ovij}LT3Q8@#jyH4FIn+l~nl@t8e|;Sm+49N4iyG}6*`aRh>+eyAd-{8} zjPwl-u!Q*Mpc}jiJOe%cN$@_91Sf#!p|d{+E(JPR1727t?>`J- z2tydc5Qe|HAVq=NA?ivRF;*c)G)P$TObYUQipA@vjz~*`@Z70%ic;+ftx$kc$i+6- zJ*u$?*S!sE7hX1XyhbUeJ$>57wLym$(O`a%yqgeQ|#H4S!5H2 zogq&PQFE?dUPFhJ78Oy2wT*uMB(WIJP$*~_Zg^_kdEy=@#ItX9Tr<^pc$2i zMz&P0TsP3A56qTZMQFL@LH?P!m6ObrGLxD{x&Fbftv=7P1_nkRU& zG3o#G4*u=Sgs=bAU;&sT9JGLiU;&s1jv(D1 zy8G9_SHY*GPX8eg2fu+1{|j&zxD|W}d=Xp-2EZ!tN9o&t8Q2espa-;pmEc+2!?(fB z;70IXkZu+Cb}INI?(-!4je{3kgg^h!!L8sr@NsZ1I2){$c7b1l=cRq%I&dwx5L^Hb zfc@ZP@aqN06Z{z51-=753H}-E2Sso+cn!FDzM|-$2OI_dd!C~FE4T=p4o;AM`F9_I zd_WHLfCb>bxr%ZxFhMV91wWXBV{<|YuYM^G+s%g(US$X+JU07x5lVQWgcnM9ehKf; z<-79wZ@f(JwNUxt8D|r&yoM{U;mWJ8hs(|}t>x51d^KSf7gJd%fY%9!?dC%PyfQQ| zfRp}z8T8kKEkggNJ^JYV|A*!JKl%KB8oV343!DN@20w=W|6X8#lfWCm9nkSV0p1F> zf(_s~==M*8OMwnnOJ9D{^*;d8AO?N~{rwl<``{jMJ^0ij;m7|8a2?nS&H`IOJ6OI* zyubf;a2_}Z>;u2Wz1#+F0UrVvw}|^&1|E`n{3LMXd-wCeebCFV0#|}vUVGAQ6EDD_ zzmzyV-Dwuy6>RR3tfsOuCbgB)afrjK><9^(la8mN%v`Vwl|(NuxCg<>|X+x&$oM7;aWyvP5gsxs~l8t4=Jx9mrK zG~u+l-PzZ{#EBToY1yoqjM~Qex;f@Q8H?4(hxhQA=hQ8_ew!Eq{xhP_Q;!zHd$o3U zV3yv94%M?6D=49Q_Lrfa)ss$MEirjkMg6Kl|7zXEpQErpOb>Gi^j4YlMIxETGx^iX z^`!sLhhF?YQvatt`N{wPUT_VtrN94c!4uH&ZvtOjD)#j20*jW4{resSmx6P^KF|$1 z!CdedbpG#y?}EF)C&2r`xgZ15;5cv$`0Zkp1^oA7;S=z}V)4E|*$H&83v2=#!ExZo z#lmht`~STQyi@uEJkqKtw}N+pbHU%V%6kk$7{U;SFoYot|2qQ<3bQSX&ZGw@=6&L~iU_O`!9)~Xf zQSd>~2eyM=@J4VvI2IfO-XQ$}egHlH{ooQ%02^C{&;J_mg7o))0zB9v_V~LU{3AF3 zhFipb{e3NBf4^SP4PIHOC|?D)f?L4N;3n_|xzFEP5Cg}9IpDVo#2)?+RJ;dp1sDQ5 zz#G8=>0j{E`HJ!laGUfoxDXr!{a^=(fS=A&lQDY6PbDrv?4K0^(fyICSFHOGa_w`!k5w_FPV0-*|ajTTd1Zl zP3L?UcWc%l+zE)vnyVLk?z<>V%k*JcrY~-%GRAP$mCZ%m~MBBx^YK+UC z5ce9UQXZ=9=e@0Os7LJ@8XDX~qi;7J@+?)f_%7N;s-24E7N}`SyixSZjkXneTLzEZ zTiScLh|)-vr_+r@59?W!;k!pvnm6jaH_-Ua0X(K>tvne$TR8F1_n&uVZ}+d~oxjRH zn?Ak3MeFv>Io-Ckw9e4$JZ-P za#!Q6J>9!|WnQ9ce6M02ta&XvLlo5pHIOSli}T_| z7n+H-@7~!p5SwAyCo-t6*(y}#tYUO6r@1e-$>8WL#O+JFS<*Cu!^nn4sSt!ljBE4vDMjzv-&IcF6 zLxkjl^0U>Sg9)$?QVcc?v4kh^Nf&N|#od2mC9Hr{5l^}Hbc zpWgXDOX~j@e`AfIH;-1LPM#-vXe$0*+fG_6hhLxB+|yd>UL2t^-=D_zu8v z;8?J*RoDye2HyjBf$xAjfdfW?3XW_Mdj&iT{smkE{t=uDP6O*e1pFTQ{*w#D`v&)d z&w@{Y40sC|1}B2G;Cbl%kAVll4dCCvS<)u36|4ly!O`G%^AzRB@_mC(gX_UnU=-{H zC&_mWXitI5K?ZCDokxi8`yB^f3zkzH^o5JS*j&*s-rUGG5ELpUCepzZ35{iF7F%O8 z8bT`+c~orl%kVd+jYGL27p;trSVC|oBPuf|@VCMyz6RwbJ3lr@c+ zlf2}tvacZ}%^X!JmACLGao`X%m_) z8dqsd;d&@ur0!djWBO!)mbXx8zOPKVU!Dqj0k^hd?Y%%f^Ac%!leWTU!uC!rN{_S# z#RyWyXLRvWKN91~UYLjjSdMm=@1S*+Ha0?2 zE&iiPkyc^E)AnmdmRulwy+N0KA)Pfx zwJdXo>3+>JC}y12*pjYPjUEL_#vzfMFOy*El@xeg5~*+usQ;1RB@^ zP65lo67V?m_FKUfpeX(Q>HB_t-~@0ycp7^9L*Q<3$zrj;|0I|IZwAMM*Mi?K68b&u z6L2GV`y#O~z((m0aGdlBco};8C~R?=OLeX^#Nu z7x2y&v3I~bzcql{I9?RQs2J<6hRuO;2dxUSPB+`pGbdz&x7lwPk;lq zgX6(*;5X3Y?~#50Zvn$#2&@20z&!AM=<#0wp97ZyQ~CpFU^h4eoC01Co`Ej^bMUVq z4c-cl1xJA&puN8dZUzOZ>#v?G`+?G0IU<@H65})^sylHh{Q>!}#sgxU4~XF574z~t zIE|8)`3f9bNvpDIP*R>5AHd@@fX8V7kCzQ#+f_{DQ1%9J>nttbx7L{o_~gsI64Wzx z_w)?JIxC`Atx5-+c9*1ETMxLipYRlE<&9Kop0f3Eo+0-rli8MiOv%mIyQ-HpHOmUa z7BRT{1YJGmo`#-T6dH-pDEYEI(r}v)R9py1Jdt=BwYn`XGe#?{5G@KRSQtCb;H^^r zxo7bTSIQXUUrl#p8&;c-pzTV3E4P_frB?CO88e%5?I7jqV!Vk~t+bKQ1snKhh!$cE zeKCY{0YyAq_N_!48`9H;O%e^YlkE0nrkgOJ7IV)#m3@*U$8o-0JD`RVU!CP0iGi6K&a@E=;>m@kri3z zUgRK1By2OMI~i_`g92_)K~y(-xNF4p z+D4d1sw&B?53!D(RmH1_Y#}Q=&s#T3|M#a+6z(7^ z5{cQVs$KYket9aHEH>Rwdt#fBWIX*x^2C3uv|liV4``&HeIdHt0~*frQU zFw!&R)*wY-7u4xDz8Pbhoy*q{tkf2~bI>%(?>E35$h}B~Bd70S$EqhHT2Zcb#qvi# zZ|pb=nrIq|2-BR55((~OP%;C#OJ=1Z(b`(ynT90Z*4h?EE^2o7cWv1rL`@o1?$xV& zX9I4C^5DruLN{f7CmD9Z1wOr?e%X9tuva#k1DY%wPtFqtjOu`PrFLwbv+PDv0ik!A zG$UWu!`w?GGdefCGZNXT+mJXWyNjD~X^}$e|GO~Pr+oVVOVIaU1h;|rgZF^9Efe4W zv!qR6GdOiwX+OX>fW_d4OBLl_a67mWd=`8LTm!BGSAy-})TLtIz!#5Hlxx9xAO}tW zkt4--1O6cW0BHY!FM%(D4}gonIbZ;+1k1sHEmoADf}eodHMkVKf06ix;NOGS%6AGDfcsl-UEifO7NN%@m|62=zW2O;`;*RJMeSxH2BCuu}2}<6jp&p7AVU5z(%kV z{4F>ZJTf0~!H0nf-ULns$AM$P%k$8V;6kt&`~kZE&A^uH{_P+Rjs{E-BJivP8WNp7m4?C3YWWf~X88va#qxt1k7hT=RAhn6DbQ=X#OI=!L5 z*FE{#gq9PzkvkE6{+p}9sB63W)eY`$!OLXnVzWRv-WI?T% zbvC%dSZS5n6M>prH|Eh(7>Yc0)Q*e#wma;-Yu85QzvUW}h!Z3E##1sXG;!KQioOF7 z_3Rp4#Ni!`PSQDkLaJ0X7xhXnoydz>()=WBh-7qfzm{a5=L%eySiI5)6@8yntqh1| zd_`5Ht#LCIf*zOgxZt?LduOZ6#!xBmdF67YJ$^}k^$m*p}M?G7g z7YS2r$tjPIKhJ2V=L!zJv~OYf(Tp2hZ54K2WE_*#Q>M;FCsl5qi?b>554R!Y&nkn~ zRQpNdB9k>DOj3keZ5ccmR+PQoRGxNryw;>ERG{-3ok*HRv;^1MY~Q2>{*2{wv1UY#n5>2~qiOIgr7Fp*V#uXsfA*>pWl{mH1fQ7d}K@+aCX~QZG;|@q_%?$7?@ec`(o} zQFB|K$Ha2D-rpaE#RPAA-*Q@8AY-$x`tR0Cz9I z)4}oJ|3Y{F7cc})1Z%-d(y#vs@FQ?PxNnKr3*c_>J@9St4saUS1dduF_Wz@A1w0R) z15bhLq&|N(*b6p*I9R+`d>`;z;4NU$BC!YHm964CfIFm)PVfF-0nP^nz`*g~4(Qoe zgR{ZPg~DI|PUzSl11eYzBJ!R6ISYhu{-fYO=LIxrvn47&Ie;4$zh_%OI^uK5069%R9|T)$sQap#D(e3aUA z)-(xs3z&MZi8g+vPza$u5v~5dGb0(DPqK%&=}Z&XWVGm|O_Y5;Gw73=wKg50)i%#w z;EMhVuY_6Nl7`ob*ybo@>Na`W>63VFtO#fp;7p1q&#nRt~*w^ ztas3BXF5r5jy1)!H0J$|X*sd`KWaqFShC4_!(Fp0!r|ICI@~qey>s?wy=!*O$HS|& zIo|AV@aK*9SL+rU@9&p1bA>E4hGz1Mvq)P9FTb4e0`jw`Im^e{F4Rv~Z;!gQYotrv z+Bd`^33qdagl|KzruPrrMX$W@{kR?PVd_rNH69u>+#YbldZy24j8;+N9o9(>ia zQLSAcX6*(={y~GeltmMJqA2{hrzLVnZ=WI4J?s{H`tQT|g{$gkI9-LCH27;dT%$H< ze$=w`efKFTA;js$2nZCpBHv1gTZxMWHaZ1CBg@~hB3+vc4k9mC^*13?=}hJUS zg@S1dS43f9AEQbZW@es*`#=htbcQy@8x`KADZWcZZ-JNv^ zr9f$skT@U^AaREZZb%?exP!zEapTG#00>SXD)`QNT|2L)T&wv?A7yvu_nP0%>_%7 zbq=wA@$){g1`fp-85tQF85tQF85tQF85!L>;x=Qy9cHX{ghl`Vum26;tA`o;9NYlc zz#HHNaO)w)z6RI9Rd5#k^B~5+JK$|_9-IU}onY)s@CEo7dijX;Aij+xCyR;3MhdU zuml#t82I}bV}F6~!294;a2d>lN5QS5jQs#U0MPqmz z9|VY~aw+7#AV|sa+^)ffFWX7hm5xn4MSnnAth$?u)dmz43ccOPs4ROck;QN zy;+yi72HF1jO~gO2(>NN?%Z*h(DBst6vq8#o$nXP=Ke;_lCJdkiZqB3yEG4Q87$(i zvb#>RrQ%q3nf*>KNE4?o$-q&L^k||ZgZ;91`bM7n2HCdUHhhnAvR6t8D+xmR8^Qu3WHR{~AP#g1@s zq#ZG|yI!?EoqGf)8r=>R)+YXXM*zj?rPEMvKr?bx_X|*+aP2&%}2+SKP|PKKV%b(u*jdR96~ zPd!Uj(eAi{N-nnqrKl1**qGDP*`)SgbS&Wog19TaCT%*ZMXKfCT==r-^LCEVK~JhA zZTi|xNlXjvxGqBqS~7HPYH@sbd|?TvD{SIq$<7wZhPI^ntZJfBbMK0bIK6Qm3=C4naik74;&QJln5tVx?rFcC^wWC3mBP&(sfn%j)qk#|T89JRK7^F5G MTeWZ(MZhup54jXWvj6}9 literal 0 HcwPel00001 diff --git a/src/.deps/board.P b/src/.deps/board.P new file mode 100644 index 0000000..58a97d9 --- /dev/null +++ b/src/.deps/board.P @@ -0,0 +1,756 @@ +board.o: board.c /usr/include/time.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/include/bits/time.h /usr/include/bits/types.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/assert.h /usr/include/libgnomeui-2.0/gnome.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h amazons.h \ + board.h bstate.h callbacks.h +board.c : +/usr/include/time.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/include/bits/time.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/assert.h : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/stdio.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/stdlib.h : +/usr/include/sys/types.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/sys/sysmacros.h : +/usr/include/alloca.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +amazons.h : +board.h : +bstate.h : +callbacks.h : diff --git a/src/.deps/bstate.P b/src/.deps/bstate.P new file mode 100644 index 0000000..713b3af --- /dev/null +++ b/src/.deps/bstate.P @@ -0,0 +1,754 @@ +bstate.o: bstate.c /usr/include/libgnomeui-2.0/gnome.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h /usr/include/time.h \ + /usr/include/bits/time.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h amazons.h \ + board.h bstate.h +bstate.c : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/stdio.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/time.h : +/usr/include/bits/time.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/stdlib.h : +/usr/include/sys/types.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/sys/sysmacros.h : +/usr/include/alloca.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +amazons.h : +board.h : +bstate.h : diff --git a/src/.deps/callbacks.P b/src/.deps/callbacks.P new file mode 100644 index 0000000..1a8b2b2 --- /dev/null +++ b/src/.deps/callbacks.P @@ -0,0 +1,764 @@ +callbacks.o: callbacks.c ../config.h /usr/include/libgnomeui-2.0/gnome.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h /usr/include/time.h \ + /usr/include/bits/time.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h \ + /usr/include/libgen.h callbacks.h interface.h support.h amazons.h \ + board.h bstate.h +callbacks.c : +../config.h : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/stdio.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libintl.h : +/usr/include/locale.h : +/usr/include/bits/locale.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/time.h : +/usr/include/bits/time.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/stdlib.h : +/usr/include/sys/types.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/sys/sysmacros.h : +/usr/include/alloca.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +/usr/include/libgen.h : +callbacks.h : +interface.h : +support.h : +amazons.h : +board.h : +bstate.h : diff --git a/src/.deps/eval.P b/src/.deps/eval.P new file mode 100644 index 0000000..dcb07a8 --- /dev/null +++ b/src/.deps/eval.P @@ -0,0 +1,45 @@ +eval.o: eval.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/alloca.h amazons.h unit-test.h +eval.c : +/usr/include/stdio.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/stdlib.h : +/usr/include/sys/types.h : +/usr/include/time.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/bits/time.h : +/usr/include/sys/sysmacros.h : +/usr/include/alloca.h : +amazons.h : +unit-test.h : diff --git a/src/.deps/interface.P b/src/.deps/interface.P new file mode 100644 index 0000000..6c814aa --- /dev/null +++ b/src/.deps/interface.P @@ -0,0 +1,760 @@ +interface.o: interface.c ../config.h /usr/include/sys/types.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h /usr/include/bits/types.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/stdlib.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/libgnomeui-2.0/gnome.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h /usr/include/alloca.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h callbacks.h \ + interface.h support.h +interface.c : +../config.h : +/usr/include/sys/types.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/include/bits/types.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/time.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/bits/time.h : +/usr/include/sys/sysmacros.h : +/usr/include/sys/stat.h : +/usr/include/bits/stat.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/include/stdlib.h : +/usr/include/stdio.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libintl.h : +/usr/include/locale.h : +/usr/include/bits/locale.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/alloca.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +callbacks.h : +interface.h : +support.h : diff --git a/src/.deps/main.P b/src/.deps/main.P new file mode 100644 index 0000000..62f8878 --- /dev/null +++ b/src/.deps/main.P @@ -0,0 +1,760 @@ +main.o: main.c ../config.h /usr/include/libgnomeui-2.0/gnome.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h /usr/include/time.h \ + /usr/include/bits/time.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h interface.h \ + support.h amazons.h board.h +main.c : +../config.h : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/stdio.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libintl.h : +/usr/include/locale.h : +/usr/include/bits/locale.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/time.h : +/usr/include/bits/time.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/stdlib.h : +/usr/include/sys/types.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/sys/sysmacros.h : +/usr/include/alloca.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +interface.h : +support.h : +amazons.h : +board.h : diff --git a/src/.deps/moves.P b/src/.deps/moves.P new file mode 100644 index 0000000..87b28aa --- /dev/null +++ b/src/.deps/moves.P @@ -0,0 +1,757 @@ +moves.o: moves.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/assert.h \ + /usr/include/ctype.h /usr/include/sys/poll.h /usr/include/bits/poll.h \ + /usr/include/libgnomeui-2.0/gnome.h /usr/include/gtk-2.0/gtk/gtk.h \ + /usr/include/gtk-2.0/gdk/gdk.h /usr/include/gtk-2.0/gdk/gdkcolor.h \ + /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h amazons.h \ + unit-test.h +moves.c : +/usr/include/stdio.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/stdlib.h : +/usr/include/sys/types.h : +/usr/include/time.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/bits/time.h : +/usr/include/sys/sysmacros.h : +/usr/include/alloca.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/include/assert.h : +/usr/include/ctype.h : +/usr/include/sys/poll.h : +/usr/include/bits/poll.h : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +amazons.h : +unit-test.h : diff --git a/src/.deps/support.P b/src/.deps/support.P new file mode 100644 index 0000000..edc8bab --- /dev/null +++ b/src/.deps/support.P @@ -0,0 +1,757 @@ +support.o: support.c ../config.h /usr/include/sys/types.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h /usr/include/bits/types.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/stdlib.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/libgnomeui-2.0/gnome.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h /usr/include/gtk-2.0/gdk/gdkfont.h \ + /usr/include/gtk-2.0/gdk/gdkimage.h /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h \ + /usr/include/libgnome-2.0/libgnome/libgnome.h \ + /usr/include/libgnome-2.0/libgnome/gnome-program.h /usr/include/popt.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/libgnome-2.0/libgnome/gnome-i18n.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/libgnome-2.0/libgnome/gnome-config.h \ + /usr/include/libgnome-2.0/libgnome/gnome-init.h \ + /usr/include/libgnome-2.0/libgnome/gnome-gconf.h \ + /usr/include/libgnome-2.0/libgnome/gnome-help.h \ + /usr/include/libgnome-2.0/libgnome/gnome-macros.h \ + /usr/include/libbonobo-2.0/bonobo/bonobo-macros.h \ + /usr/include/libgnome-2.0/libgnome/gnome-triggers.h \ + /usr/include/libgnome-2.0/libgnome/gnome-sound.h \ + /usr/include/libgnome-2.0/libgnome/gnome-score.h \ + /usr/include/libgnome-2.0/libgnome/gnome-exec.h \ + /usr/include/libgnome-2.0/libgnome/gnome-util.h /usr/include/alloca.h \ + /usr/include/libgnome-2.0/libgnome/gnome-url.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h \ + /usr/include/libart-2.0/libart_lgpl/art_misc.h \ + /usr/include/libart-2.0/libart_lgpl/art_config.h \ + /usr/include/libart-2.0/libart_lgpl/art_rect.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp.h \ + /usr/include/libart-2.0/libart_lgpl/art_point.h \ + /usr/include/libart-2.0/libart_lgpl/art_uta.h \ + /usr/include/libart-2.0/libart_lgpl/art_affine.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h \ + /usr/include/libart-2.0/libart_lgpl/art_bpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_pathcode.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h \ + /usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h \ + /usr/include/libart-2.0/libart_lgpl/art_vpath.h \ + /usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h \ + /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h \ + /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h \ + /usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h \ + /usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h \ + /usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h support.h +support.c : +../config.h : +/usr/include/sys/types.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/include/bits/types.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/time.h : +/usr/include/endian.h : +/usr/include/bits/endian.h : +/usr/include/sys/select.h : +/usr/include/bits/select.h : +/usr/include/bits/sigset.h : +/usr/include/bits/time.h : +/usr/include/sys/sysmacros.h : +/usr/include/sys/stat.h : +/usr/include/bits/stat.h : +/usr/include/unistd.h : +/usr/include/bits/posix_opt.h : +/usr/include/bits/confname.h : +/usr/include/getopt.h : +/usr/include/string.h : +/usr/include/bits/string.h : +/usr/include/bits/string2.h : +/usr/include/stdlib.h : +/usr/include/stdio.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +/usr/include/libgnomeui-2.0/gnome.h : +/usr/include/gtk-2.0/gtk/gtk.h : +/usr/include/gtk-2.0/gdk/gdk.h : +/usr/include/gtk-2.0/gdk/gdkcolor.h : +/usr/include/gtk-2.0/gdk/gdktypes.h : +/usr/include/glib-2.0/glib.h : +/usr/include/glib-2.0/glib/galloca.h : +/usr/include/glib-2.0/glib/gtypes.h : +/usr/lib/glib-2.0/include/glibconfig.h : +/usr/include/glib-2.0/glib/gmacros.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/limits.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/syslimits.h : +/usr/include/limits.h : +/usr/include/bits/posix1_lim.h : +/usr/include/bits/local_lim.h : +/usr/include/linux/limits.h : +/usr/include/bits/posix2_lim.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/float.h : +/usr/include/glib-2.0/glib/garray.h : +/usr/include/glib-2.0/glib/gasyncqueue.h : +/usr/include/glib-2.0/glib/gthread.h : +/usr/include/glib-2.0/glib/gerror.h : +/usr/include/glib-2.0/glib/gquark.h : +/usr/include/glib-2.0/glib/gbacktrace.h : +/usr/include/glib-2.0/glib/gcache.h : +/usr/include/glib-2.0/glib/glist.h : +/usr/include/glib-2.0/glib/gmem.h : +/usr/include/glib-2.0/glib/gcompletion.h : +/usr/include/glib-2.0/glib/gconvert.h : +/usr/include/glib-2.0/glib/gdataset.h : +/usr/include/glib-2.0/glib/gdate.h : +/usr/include/glib-2.0/glib/gdir.h : +/usr/include/glib-2.0/glib/gfileutils.h : +/usr/include/glib-2.0/glib/ghash.h : +/usr/include/glib-2.0/glib/ghook.h : +/usr/include/glib-2.0/glib/giochannel.h : +/usr/include/glib-2.0/glib/gmain.h : +/usr/include/glib-2.0/glib/gslist.h : +/usr/include/glib-2.0/glib/gstring.h : +/usr/include/glib-2.0/glib/gunicode.h : +/usr/include/glib-2.0/glib/gmarkup.h : +/usr/include/glib-2.0/glib/gmessages.h : +/usr/include/glib-2.0/glib/gnode.h : +/usr/include/glib-2.0/glib/gpattern.h : +/usr/include/glib-2.0/glib/gprimes.h : +/usr/include/glib-2.0/glib/gqsort.h : +/usr/include/glib-2.0/glib/gqueue.h : +/usr/include/glib-2.0/glib/grand.h : +/usr/include/glib-2.0/glib/grel.h : +/usr/include/glib-2.0/glib/gscanner.h : +/usr/include/glib-2.0/glib/gshell.h : +/usr/include/glib-2.0/glib/gspawn.h : +/usr/include/glib-2.0/glib/gstrfuncs.h : +/usr/include/glib-2.0/glib/gthreadpool.h : +/usr/include/glib-2.0/glib/gtimer.h : +/usr/include/glib-2.0/glib/gtree.h : +/usr/include/glib-2.0/glib/gutils.h : +/usr/include/pango-1.0/pango/pango.h : +/usr/include/pango-1.0/pango/pango-attributes.h : +/usr/include/pango-1.0/pango/pango-font.h : +/usr/include/pango-1.0/pango/pango-coverage.h : +/usr/include/pango-1.0/pango/pango-types.h : +/usr/include/glib-2.0/glib-object.h : +/usr/include/glib-2.0/gobject/gboxed.h : +/usr/include/glib-2.0/gobject/gtype.h : +/usr/include/glib-2.0/gobject/genums.h : +/usr/include/glib-2.0/gobject/gobject.h : +/usr/include/glib-2.0/gobject/gvalue.h : +/usr/include/glib-2.0/gobject/gparam.h : +/usr/include/glib-2.0/gobject/gclosure.h : +/usr/include/glib-2.0/gobject/gsignal.h : +/usr/include/glib-2.0/gobject/gmarshal.h : +/usr/include/glib-2.0/gobject/gparamspecs.h : +/usr/include/glib-2.0/gobject/gsourceclosure.h : +/usr/include/glib-2.0/gobject/gtypemodule.h : +/usr/include/glib-2.0/gobject/gtypeplugin.h : +/usr/include/glib-2.0/gobject/gvaluearray.h : +/usr/include/glib-2.0/gobject/gvaluetypes.h : +/usr/include/pango-1.0/pango/pango-break.h : +/usr/include/pango-1.0/pango/pango-item.h : +/usr/include/pango-1.0/pango/pango-context.h : +/usr/include/pango-1.0/pango/pango-fontmap.h : +/usr/include/pango-1.0/pango/pango-fontset.h : +/usr/include/pango-1.0/pango/pango-engine.h : +/usr/include/pango-1.0/pango/pango-glyph.h : +/usr/include/pango-1.0/pango/pango-enum-types.h : +/usr/include/pango-1.0/pango/pango-layout.h : +/usr/include/pango-1.0/pango/pango-tabs.h : +/usr/lib/gtk-2.0/include/gdkconfig.h : +/usr/include/gtk-2.0/gdk/gdkcursor.h : +/usr/include/gtk-2.0/gdk/gdkdnd.h : +/usr/include/gtk-2.0/gdk/gdkdrawable.h : +/usr/include/gtk-2.0/gdk/gdkgc.h : +/usr/include/gtk-2.0/gdk/gdkrgb.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h : +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h : +/usr/include/gtk-2.0/gdk/gdkenumtypes.h : +/usr/include/gtk-2.0/gdk/gdkevents.h : +/usr/include/gtk-2.0/gdk/gdkinput.h : +/usr/include/gtk-2.0/gdk/gdkfont.h : +/usr/include/gtk-2.0/gdk/gdkimage.h : +/usr/include/gtk-2.0/gdk/gdkkeys.h : +/usr/include/gtk-2.0/gdk/gdkpango.h : +/usr/include/gtk-2.0/gdk/gdkpixbuf.h : +/usr/include/gtk-2.0/gdk/gdkpixmap.h : +/usr/include/gtk-2.0/gdk/gdkproperty.h : +/usr/include/gtk-2.0/gdk/gdkregion.h : +/usr/include/gtk-2.0/gdk/gdkselection.h : +/usr/include/gtk-2.0/gdk/gdkvisual.h : +/usr/include/gtk-2.0/gdk/gdkwindow.h : +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h : +/usr/include/gtk-2.0/gtk/gtkenums.h : +/usr/include/gtk-2.0/gtk/gtkaccellabel.h : +/usr/include/gtk-2.0/gtk/gtklabel.h : +/usr/include/gtk-2.0/gtk/gtkmisc.h : +/usr/include/gtk-2.0/gtk/gtkwidget.h : +/usr/include/gtk-2.0/gtk/gtkobject.h : +/usr/include/gtk-2.0/gtk/gtktypeutils.h : +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h : +/usr/include/gtk-2.0/gtk/gtkdebug.h : +/usr/include/gtk-2.0/gtk/gtkadjustment.h : +/usr/include/gtk-2.0/gtk/gtkstyle.h : +/usr/include/gtk-2.0/gtk/gtksettings.h : +/usr/include/gtk-2.0/gtk/gtkrc.h : +/usr/include/atk-1.0/atk/atkobject.h : +/usr/include/atk-1.0/atk/atkstate.h : +/usr/include/gtk-2.0/gtk/gtkwindow.h : +/usr/include/gtk-2.0/gtk/gtkbin.h : +/usr/include/gtk-2.0/gtk/gtkcontainer.h : +/usr/include/gtk-2.0/gtk/gtkmenu.h : +/usr/include/gtk-2.0/gtk/gtkmenushell.h : +/usr/include/gtk-2.0/gtk/gtkaccelmap.h : +/usr/include/gtk-2.0/gtk/gtkaccessible.h : +/usr/include/atk-1.0/atk/atk.h : +/usr/include/atk-1.0/atk/atkaction.h : +/usr/include/atk-1.0/atk/atkcomponent.h : +/usr/include/atk-1.0/atk/atkutil.h : +/usr/include/atk-1.0/atk/atkdocument.h : +/usr/include/atk-1.0/atk/atkeditabletext.h : +/usr/include/atk-1.0/atk/atktext.h : +/usr/include/atk-1.0/atk/atkgobjectaccessible.h : +/usr/include/atk-1.0/atk/atkhyperlink.h : +/usr/include/atk-1.0/atk/atkhypertext.h : +/usr/include/atk-1.0/atk/atkimage.h : +/usr/include/atk-1.0/atk/atkobjectfactory.h : +/usr/include/atk-1.0/atk/atkregistry.h : +/usr/include/atk-1.0/atk/atkrelation.h : +/usr/include/atk-1.0/atk/atkrelationset.h : +/usr/include/atk-1.0/atk/atkselection.h : +/usr/include/atk-1.0/atk/atkstateset.h : +/usr/include/atk-1.0/atk/atkstreamablecontent.h : +/usr/include/atk-1.0/atk/atktable.h : +/usr/include/atk-1.0/atk/atkvalue.h : +/usr/include/gtk-2.0/gtk/gtkalignment.h : +/usr/include/gtk-2.0/gtk/gtkaspectframe.h : +/usr/include/gtk-2.0/gtk/gtkframe.h : +/usr/include/gtk-2.0/gtk/gtkarrow.h : +/usr/include/gtk-2.0/gtk/gtkbindings.h : +/usr/include/gtk-2.0/gtk/gtkbox.h : +/usr/include/gtk-2.0/gtk/gtkbbox.h : +/usr/include/gtk-2.0/gtk/gtkbutton.h : +/usr/include/gtk-2.0/gtk/gtkcalendar.h : +/usr/include/gtk-2.0/gtk/gtksignal.h : +/usr/include/gtk-2.0/gtk/gtkmarshal.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h : +/usr/include/gtk-2.0/gtk/gtkcelleditable.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h : +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h : +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h : +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h : +/usr/include/gtk-2.0/gtk/gtktogglebutton.h : +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkmenuitem.h : +/usr/include/gtk-2.0/gtk/gtkitem.h : +/usr/include/gtk-2.0/gtk/gtkclipboard.h : +/usr/include/gtk-2.0/gtk/gtkselection.h : +/usr/include/gtk-2.0/gtk/gtkclist.h : +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkrange.h : +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h : +/usr/include/gtk-2.0/gtk/gtkcolorsel.h : +/usr/include/gtk-2.0/gtk/gtkdialog.h : +/usr/include/gtk-2.0/gtk/gtkvbox.h : +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h : +/usr/include/gtk-2.0/gtk/gtkcombo.h : +/usr/include/gtk-2.0/gtk/gtkhbox.h : +/usr/include/gtk-2.0/gtk/gtkctree.h : +/usr/include/gtk-2.0/gtk/gtkcurve.h : +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h : +/usr/include/gtk-2.0/gtk/gtkdnd.h : +/usr/include/gtk-2.0/gtk/gtkeditable.h : +/usr/include/gtk-2.0/gtk/gtkentry.h : +/usr/include/gtk-2.0/gtk/gtkimcontext.h : +/usr/include/gtk-2.0/gtk/gtkeventbox.h : +/usr/include/gtk-2.0/gtk/gtkfilesel.h : +/usr/include/gtk-2.0/gtk/gtkfixed.h : +/usr/include/gtk-2.0/gtk/gtkfontsel.h : +/usr/include/gtk-2.0/gtk/gtkgamma.h : +/usr/include/gtk-2.0/gtk/gtkgc.h : +/usr/include/gtk-2.0/gtk/gtkhandlebox.h : +/usr/include/gtk-2.0/gtk/gtkhbbox.h : +/usr/include/gtk-2.0/gtk/gtkhpaned.h : +/usr/include/gtk-2.0/gtk/gtkpaned.h : +/usr/include/gtk-2.0/gtk/gtkhruler.h : +/usr/include/gtk-2.0/gtk/gtkruler.h : +/usr/include/gtk-2.0/gtk/gtkhscale.h : +/usr/include/gtk-2.0/gtk/gtkscale.h : +/usr/include/gtk-2.0/gtk/gtkhseparator.h : +/usr/include/gtk-2.0/gtk/gtkseparator.h : +/usr/include/gtk-2.0/gtk/gtkiconfactory.h : +/usr/include/gtk-2.0/gtk/gtkimage.h : +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h : +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h : +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h : +/usr/include/gtk-2.0/gtk/gtkinputdialog.h : +/usr/include/gtk-2.0/gtk/gtkinvisible.h : +/usr/include/gtk-2.0/gtk/gtkitemfactory.h : +/usr/include/gtk-2.0/gtk/gtklayout.h : +/usr/include/gtk-2.0/gtk/gtklist.h : +/usr/include/gtk-2.0/gtk/gtklistitem.h : +/usr/include/gtk-2.0/gtk/gtkliststore.h : +/usr/include/gtk-2.0/gtk/gtktreemodel.h : +/usr/include/gtk-2.0/gtk/gtktreesortable.h : +/usr/include/gtk-2.0/gtk/gtkmain.h : +/usr/include/gtk-2.0/gtk/gtkmenubar.h : +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h : +/usr/include/gtk-2.0/gtk/gtknotebook.h : +/usr/include/gtk-2.0/gtk/gtkoldeditable.h : +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h : +/usr/include/gtk-2.0/gtk/gtkpixmap.h : +/usr/include/gtk-2.0/gtk/gtkplug.h : +/usr/include/gtk-2.0/gtk/gtksocket.h : +/usr/include/gtk-2.0/gtk/gtkpreview.h : +/usr/include/gtk-2.0/gtk/gtkprogress.h : +/usr/include/gtk-2.0/gtk/gtkprogressbar.h : +/usr/include/gtk-2.0/gtk/gtkradiobutton.h : +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h : +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h : +/usr/include/gtk-2.0/gtk/gtkviewport.h : +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h : +/usr/include/gtk-2.0/gtk/gtksizegroup.h : +/usr/include/gtk-2.0/gtk/gtkspinbutton.h : +/usr/include/gtk-2.0/gtk/gtkstock.h : +/usr/include/gtk-2.0/gtk/gtkstatusbar.h : +/usr/include/gtk-2.0/gtk/gtktable.h : +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h : +/usr/include/gtk-2.0/gtk/gtktext.h : +/usr/include/gtk-2.0/gtk/gtktextbuffer.h : +/usr/include/gtk-2.0/gtk/gtktexttagtable.h : +/usr/include/gtk-2.0/gtk/gtktexttag.h : +/usr/include/gtk-2.0/gtk/gtktextiter.h : +/usr/include/gtk-2.0/gtk/gtktextchild.h : +/usr/include/gtk-2.0/gtk/gtktextmark.h : +/usr/include/gtk-2.0/gtk/gtktextview.h : +/usr/include/gtk-2.0/gtk/gtktipsquery.h : +/usr/include/gtk-2.0/gtk/gtktoolbar.h : +/usr/include/gtk-2.0/gtk/gtktooltips.h : +/usr/include/gtk-2.0/gtk/gtktree.h : +/usr/include/gtk-2.0/gtk/gtktreednd.h : +/usr/include/gtk-2.0/gtk/gtktreeitem.h : +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h : +/usr/include/gtk-2.0/gtk/gtktreeselection.h : +/usr/include/gtk-2.0/gtk/gtktreeview.h : +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h : +/usr/include/gtk-2.0/gtk/gtktreestore.h : +/usr/include/gtk-2.0/gtk/gtkvbbox.h : +/usr/include/gtk-2.0/gtk/gtkversion.h : +/usr/include/gtk-2.0/gtk/gtkvpaned.h : +/usr/include/gtk-2.0/gtk/gtkvruler.h : +/usr/include/gtk-2.0/gtk/gtkvscale.h : +/usr/include/gtk-2.0/gtk/gtkvseparator.h : +/usr/include/libgnome-2.0/libgnome/libgnome.h : +/usr/include/libgnome-2.0/libgnome/gnome-program.h : +/usr/include/popt.h : +/usr/include/errno.h : +/usr/include/bits/errno.h : +/usr/include/linux/errno.h : +/usr/include/asm/errno.h : +/usr/include/libgnome-2.0/libgnome/gnome-i18n.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h : +/usr/include/libintl.h : +/usr/include/locale.h : +/usr/include/bits/locale.h : +/usr/include/libgnome-2.0/libgnome/gnome-config.h : +/usr/include/libgnome-2.0/libgnome/gnome-init.h : +/usr/include/libgnome-2.0/libgnome/gnome-gconf.h : +/usr/include/libgnome-2.0/libgnome/gnome-help.h : +/usr/include/libgnome-2.0/libgnome/gnome-macros.h : +/usr/include/libbonobo-2.0/bonobo/bonobo-macros.h : +/usr/include/libgnome-2.0/libgnome/gnome-triggers.h : +/usr/include/libgnome-2.0/libgnome/gnome-sound.h : +/usr/include/libgnome-2.0/libgnome/gnome-score.h : +/usr/include/libgnome-2.0/libgnome/gnome-exec.h : +/usr/include/libgnome-2.0/libgnome/gnome-util.h : +/usr/include/alloca.h : +/usr/include/libgnome-2.0/libgnome/gnome-url.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/libgnomecanvas.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas.h : +/usr/include/libart-2.0/libart_lgpl/art_misc.h : +/usr/include/libart-2.0/libart_lgpl/art_config.h : +/usr/include/libart-2.0/libart_lgpl/art_rect.h : +/usr/include/libart-2.0/libart_lgpl/art_svp.h : +/usr/include/libart-2.0/libart_lgpl/art_point.h : +/usr/include/libart-2.0/libart_lgpl/art_uta.h : +/usr/include/libart-2.0/libart_lgpl/art_affine.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-line.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rich-text.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-polygon.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-shape.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-path-def.h : +/usr/include/libart-2.0/libart_lgpl/art_bpath.h : +/usr/include/libart-2.0/libart_lgpl/art_pathcode.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-pixbuf.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-widget.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-rect-ellipse.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-bpath.h : +/usr/include/libgnomecanvas-2.0/libgnomecanvas/gnome-canvas-util.h : +/usr/include/libart-2.0/libart_lgpl/art_vpath.h : +/usr/include/libart-2.0/libart_lgpl/art_svp_vpath_stroke.h : +/usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-uidefs.h : +/usr/include/gtk-2.0/gdk/gdkkeysyms.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-about.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-band.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-item.h : +/usr/include/libbonoboui-2.0/bonobo/bonobo-dock-layout.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-helper.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-appbar.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-types.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-app-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-color-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-file-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-font-picker.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-item.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-list.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-icon-sel.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-stock-icons.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-scores.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-client.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dateedit.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnometypebuiltins.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-href.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-dialog-util.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-edge.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-druid-page-standard.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-messagebox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-generic-child.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-mdi-session.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-vfs-util.h : +/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-result.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-pixmap-entry.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-popup-menu.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-propertybox.h : +/usr/include/libgnomeui-2.0/libgnomeui/gnome-window-icon.h : +support.h : diff --git a/src/.deps/unit-test.P b/src/.deps/unit-test.P new file mode 100644 index 0000000..05d2ecd --- /dev/null +++ b/src/.deps/unit-test.P @@ -0,0 +1,29 @@ +unit-test.o: unit-test.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h amazons.h unit-test.h +unit-test.c : +/usr/include/stdio.h : +/usr/include/features.h : +/usr/include/sys/cdefs.h : +/usr/include/gnu/stubs.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h : +/usr/include/bits/types.h : +/usr/include/bits/pthreadtypes.h : +/usr/include/bits/sched.h : +/usr/include/libio.h : +/usr/include/_G_config.h : +/usr/include/wchar.h : +/usr/include/bits/wchar.h : +/usr/include/gconv.h : +/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stdarg.h : +/usr/include/bits/stdio_lim.h : +/usr/include/bits/sys_errlist.h : +/usr/include/bits/stdio.h : +amazons.h : +unit-test.h : diff --git a/src/.main.c.swp b/src/.main.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..0112f272112f812f50b82672b963956bf93e8388 GIT binary patch literal 12288 zcwX(AyN?@H6o+q+XtK*g&?0fxTi~^fy&)nXnSf?@Cys?*+Sm&cLZj=MYkQLMy~E6% zI0o@30PzPvK?xMRYeYxGtE8ZW2B=c=Xb}AFj1%uFftBcp?k9a-&+(b#d(WI{yffN9 zXm#jJ?GyudGxmvh`t1F$uCuEr8C$4i!cV+fSY^l?exrE3N2{X|_9zE0~+KI6|T znby<9ug`cWYyNRnEEdau<@7_Rwl_-~bniXG<5Ddai^XEGSS%LHEryOyu)py4HuwlU zvD9L*SS%Kc#bU8oEEdbH0}mMc>?C9Fud)39|K>M9!!Pt-R2ly_01wH{w za0A{4zguVQ4cLGW!*zHS>;D#h13!nK!jIuc@I&~)+H#K;i^XEGSS%LH|AQA9Q6hAf zNZM}T{X}2#%p1y@*&c$Ats zHHZB~X{8sjC?e=gDE%nI5R~$BYSYr8P^?l6rjkdaX%@#S(MN+=l1Rqf7bd)lKbBv! z+Vt`3*I?7!e#;MiCCA~!e7fw#dFR0Oc6;4(t)_P#?J##&WjUquFp5YjP3p2p=1GWg v#o(tj4kJ-BX|3WeqT=!SJWdlKMS{s*O?!>p0E2_OAQ8`HVIqPW8pHku9qE(8 literal 0 HcwPel00001 diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..e673505 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,383 @@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 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. + + +SHELL = /bin/sh + +srcdir = . +top_srcdir = .. + +prefix = /usr/local +exec_prefix = ${prefix} + +bindir = ${exec_prefix}/bin +sbindir = ${exec_prefix}/sbin +libexecdir = ${exec_prefix}/libexec +datadir = ${prefix}/share +sysconfdir = ${prefix}/etc +sharedstatedir = ${prefix}/com +localstatedir = ${prefix}/var +libdir = ${exec_prefix}/lib +infodir = ${prefix}/info +mandir = ${prefix}/man +includedir = ${prefix}/include +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/gamazons +pkglibdir = $(libdir)/gamazons +pkgincludedir = $(includedir)/gamazons + +top_builddir = .. + +ACLOCAL = aclocal-1.4 +AUTOCONF = autoconf +AUTOMAKE = automake-1.4 +AUTOHEADER = autoheader + +INSTALL = /usr/bin/install -c +INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_SCRIPT = ${INSTALL} +transform = s,x,x, + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CATALOGS = +CATOBJEXT = .gmo +CC = gcc +DATADIRNAME = share +GETTEXT_PACKAGE = gamazons +GMOFILES = +GMSGFMT = /usr/bin/msgfmt +INSTOBJEXT = .mo +INTLDEPS = +INTLLIBS = +INTLOBJS = +MAINT = # +MAKEINFO = makeinfo +MKINSTALLDIRS = ./mkinstalldirs +PACKAGE = gamazons +PACKAGE_CFLAGS = -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include +PACKAGE_LIBS = -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lxml2 -lz -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lpthread -lglib-2.0 +PKG_CONFIG = /usr/bin/pkg-config +POFILES = +POSUB = po +RANLIB = ranlib +USE_NLS = yes +VERSION = 0.83rc3 + +INCLUDES = \ + -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ + -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \ + -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/linc-1.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/Xft2 -I/usr/X11R6/include + + +bin_PROGRAMS = gamazons + +gamazons_SOURCES = \ + main.c \ + support.c support.h \ + interface.c interface.h \ + callbacks.c callbacks.h \ + board.c board.h \ + bstate.c bstate.h \ + position.h \ + eval.c \ + moves.c \ + unit-test.c unit-test.h \ + amazons.h + + +gamazons_INCLUDES = -DGAMAZONS=1 + +gamazons_CFLAGS = -O2 -DGAMAZONS=1 + +gamazons_HELP = gamazons.html topic.dat + +EXTRA_DIST = $(gamazons_HELP) + +gamazonshelpdir = $(datadir)/gnome/help/gamazons/C +gamazonshelp_DATA = $(gamazons_HELP) + +gamazons_LDADD = -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lxml2 -lz -lm -llinc -lgmodule-2.0 -ldl -lgobject-2.0 -lgthread-2.0 -lpthread -lglib-2.0 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(bin_PROGRAMS) + + +DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I.. +CPPFLAGS = +LDFLAGS = +LIBS = +gamazons_OBJECTS = main.o support.o interface.o callbacks.o board.o \ +bstate.o eval.o moves.o unit-test.o +gamazons_DEPENDENCIES = +gamazons_LDFLAGS = +CFLAGS = -g -O2 +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +DATA = $(gamazonshelp_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +DEP_FILES = .deps/board.P .deps/bstate.P .deps/callbacks.P .deps/eval.P \ +.deps/interface.P .deps/main.P .deps/moves.P .deps/support.P \ +.deps/unit-test.P +SOURCES = $(gamazons_SOURCES) +OBJECTS = $(gamazons_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .o .s +$(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-binPROGRAMS: + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +distclean-binPROGRAMS: + +maintainer-clean-binPROGRAMS: + +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + list='$(bin_PROGRAMS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + done + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core *.core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +gamazons: $(gamazons_OBJECTS) $(gamazons_DEPENDENCIES) + @rm -f gamazons + $(LINK) $(gamazons_LDFLAGS) $(gamazons_OBJECTS) $(gamazons_LDADD) $(LIBS) + +install-gamazonshelpDATA: $(gamazonshelp_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonshelpdir) + @list='$(gamazonshelp_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonshelpdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonshelpdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonshelpdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonshelpdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonshelpDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonshelp_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonshelpdir)/$$p; \ + done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = src + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + -rm -rf .deps + +maintainer-clean-depend: + +%.o: %.c + @echo '$(COMPILE) -c $<'; \ + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp + +%.lo: %.c + @echo '$(LTCOMPILE) -c $<'; \ + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-binPROGRAMS +install-exec: install-exec-am + +install-data-am: install-gamazonshelpDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-binPROGRAMS uninstall-gamazonshelpDATA +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) $(DATA) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(gamazonshelpdir) + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-depend mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-binPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-binPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-depend maintainer-clean-generic \ + distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile uninstall-gamazonshelpDATA \ +install-gamazonshelpDATA tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..74e67b4 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,44 @@ +## Process this file with automake to produce Makefile.in + +INCLUDES = \ + -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ + -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \ + @PACKAGE_CFLAGS@ + +bin_PROGRAMS = gamazons + +gamazons_SOURCES = \ + main.c \ + support.c support.h \ + interface.c interface.h \ + callbacks.c callbacks.h \ + board.c board.h \ + bstate.c bstate.h \ + position.h \ + eval.c \ + moves.c \ + unit-test.c unit-test.h \ + amazons.h + +gamazons_INCLUDES = -DGAMAZONS=1 + +gamazons_CFLAGS = -O2 -DGAMAZONS=1 + +gamazons_HELP = gamazons.html topic.dat + +EXTRA_DIST = $(gamazons_HELP) + +gamazonshelpdir = $(datadir)/gnome/help/gamazons/C +gamazonshelp_DATA = $(gamazons_HELP) + +gamazons_LDADD = @PACKAGE_LIBS@ + +##amazons_SOURCES = \ +## eval.c \ +## moves.c \ +## unit-test.c unit-test.h \ +## amazons.h +## +##amazons_CFLAGS = -O2 +## +##amazons_LDADD = a_moves.o diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..b45896d --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,383 @@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 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. + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +DATADIRNAME = @DATADIRNAME@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +INSTOBJEXT = @INSTOBJEXT@ +INTLDEPS = @INTLDEPS@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +PACKAGE = @PACKAGE@ +PACKAGE_CFLAGS = @PACKAGE_CFLAGS@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ + +INCLUDES = \ + -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ + -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \ + @PACKAGE_CFLAGS@ + + +bin_PROGRAMS = gamazons + +gamazons_SOURCES = \ + main.c \ + support.c support.h \ + interface.c interface.h \ + callbacks.c callbacks.h \ + board.c board.h \ + bstate.c bstate.h \ + position.h \ + eval.c \ + moves.c \ + unit-test.c unit-test.h \ + amazons.h + + +gamazons_INCLUDES = -DGAMAZONS=1 + +gamazons_CFLAGS = -O2 -DGAMAZONS=1 + +gamazons_HELP = gamazons.html topic.dat + +EXTRA_DIST = $(gamazons_HELP) + +gamazonshelpdir = $(datadir)/gnome/help/gamazons/C +gamazonshelp_DATA = $(gamazons_HELP) + +gamazons_LDADD = @PACKAGE_LIBS@ +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(bin_PROGRAMS) + + +DEFS = @DEFS@ -I. -I$(srcdir) -I.. +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +gamazons_OBJECTS = main.o support.o interface.o callbacks.o board.o \ +bstate.o eval.o moves.o unit-test.o +gamazons_DEPENDENCIES = +gamazons_LDFLAGS = +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +DATA = $(gamazonshelp_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +DEP_FILES = .deps/board.P .deps/bstate.P .deps/callbacks.P .deps/eval.P \ +.deps/interface.P .deps/main.P .deps/moves.P .deps/support.P \ +.deps/unit-test.P +SOURCES = $(gamazons_SOURCES) +OBJECTS = $(gamazons_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .o .s +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-binPROGRAMS: + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +distclean-binPROGRAMS: + +maintainer-clean-binPROGRAMS: + +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + list='$(bin_PROGRAMS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + done + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core *.core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +gamazons: $(gamazons_OBJECTS) $(gamazons_DEPENDENCIES) + @rm -f gamazons + $(LINK) $(gamazons_LDFLAGS) $(gamazons_OBJECTS) $(gamazons_LDADD) $(LIBS) + +install-gamazonshelpDATA: $(gamazonshelp_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(gamazonshelpdir) + @list='$(gamazonshelp_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonshelpdir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gamazonshelpdir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonshelpdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(gamazonshelpdir)/$$p; \ + fi; fi; \ + done + +uninstall-gamazonshelpDATA: + @$(NORMAL_UNINSTALL) + list='$(gamazonshelp_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(gamazonshelpdir)/$$p; \ + done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = src + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + -rm -rf .deps + +maintainer-clean-depend: + +%.o: %.c + @echo '$(COMPILE) -c $<'; \ + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp + +%.lo: %.c + @echo '$(LTCOMPILE) -c $<'; \ + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-binPROGRAMS +install-exec: install-exec-am + +install-data-am: install-gamazonshelpDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-binPROGRAMS uninstall-gamazonshelpDATA +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) $(DATA) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(gamazonshelpdir) + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-depend mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-binPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-binPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-depend maintainer-clean-generic \ + distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile uninstall-gamazonshelpDATA \ +install-gamazonshelpDATA tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/amazons.h b/src/amazons.h new file mode 100644 index 0000000..2eb3b70 --- /dev/null +++ b/src/amazons.h @@ -0,0 +1,238 @@ +#define ushort unsigned short +#define uchar unsigned char +#define ull unsigned long long +#define ulong unsigned long + +#define TT 0x3d0925 +#define MAX_TT_SEARCH 30 + +//#define TRUE 1 +//#define FALSE 0 + +#ifndef FALSE +#define FALSE (0) +#endif + +#ifndef TRUE +#define TRUE (!FALSE) +#endif + +#define WHITE_PLAYER 1 //player 1 +#define BLACK_PLAYER 2 //player 2 + +#define NOTHINK 0 +#define THINK 1 + +#define GAMAZONS +#undef DEBUG + +//#define DEBUG_HEVAL +//#define DEBUG_WEB + +struct move_s +{ + uchar queen; + uchar tocol, torow; + uchar wallcol, wallrow; + int val; + int depth; +}; +typedef struct move_s move; + + +//Basic game state at one point in time +struct state_s +{ + ull white_bd[2]; + ull black_bd[2]; + ull blocks_bd[2]; + + uchar white_q_x[4]; + uchar white_q_y[4]; + + uchar black_q_x[4]; + uchar black_q_y[4]; + + uchar turn; + short value; + uchar depth; + uchar winner; +}; + +//state stored in the transposition table +struct state_t +{ + ull white_bd[2]; + ull black_bd[2]; + ull blocks_bd[2]; + + uchar turn; + uchar depth; + short value; + short alpha; + short beta; +}; + +typedef struct state_s state; +typedef struct state_t state_t; +state_t **tt; + +//Collection of all game states +struct game_states +{ + state *s[100]; + int current_state; + int max_state; +}; + + +//Global game options +struct engine +{ + int timeout; + int maxdepth; + int maxwidth; +}; + +//paths to game pieces & squares +struct images +{ + char white_piece[255]; + char black_piece[255]; + char white_sq[255]; + char grey_sq[255]; + char arrow_sq[255]; + int grid; +}; + +struct options +{ + int white_player; + int black_player; + int print_statistics; + int replay_delay; + int movement_speed; + char hist_dir[512]; + + struct engine engine; + struct images images; + +}; + +// Different player choices +enum { + AI, + HUMAN, +}; + +/* intersting statistic globals */ +int tt_overwrite; +int tt_stores; + +int tt_updates; +int tt_lookups; +int tt_lookup_finds; +int heval_calls; + + + +/* Prototypes */ +int sean_heval(state *s); +move savemove(state *s, move m); +int mmselect(int oldval, int newval); +int test(state *s, uchar col, uchar row); +int xor(ull bd[2], uchar col, uchar row); +int pboard(state); +move search(state *s, int depth, int alpha, int beta, int, int); +move isearch(state *s, int); +move getmove(state *s, int player); +int pvec(ull v); +int moves(ushort q[][13], int w); +int minmoves(ushort q[][13], int w); +int maxmoves(ushort q[][13], int w); +int countmoves(ushort q[][13], int w); +int pbits(ushort q[][13], int s); +int children(state *s, move movelist[]); +int countchildren(state *s); +int undomove(state *s, move m); +char get_token(); +void clear_buf(); +int move_lookup(move *m, move movelist[], int move_count); +void dup_state(state *s_old, state *s_new); +#ifdef GAMAZONS +void init_engine(); +void load_values_from_file(); +void store_values_in_file(); +int load_images_from_theme(char *theme); +#endif + + +int makemove(state *s, move m); +void print_usage_menu(); +void parse_args(int argc, char *argv[]); +void print_stats(); + +/* eval.c */ +int get_forward_diag(ull board_l, ull board_u, int diag); +int get_back_diag(ull board_l, ull board_u, int diag); +void put_forward_diag(ull *board_l, ull *board_u, ushort stream, int diag); +void put_back_diag(ull *board_l, ull *board_u, ushort stream, int diag); +int calc_stream_moves(ushort stream, ushort pos, ushort len); +int calc_moves(ull board_l, ull board_u, int pos); +int count_contig_bits(ushort stream, int len); +int heval(state *s); +ushort gen_web_stream(ushort stream, int pos, int len); +ushort gen_web_stream_plus(ushort stream, int pos, int len); +void gen_web_board(ull *web_l, ull *web_u, ull board_l, ull board_u, int pos); +int gen_web_board_count(ull *web_l, ull *web_u, ull board_l, ull board_u, int pos); +void gen_dirs_board(ull *board_l, ull *board_u, int pos); +int count_bits(ull board_l, ull board_u); + + + +int pbvec(ull l, ull u); + +state_t *tt_lookup(state *s); +void tt_store(state *s, short alpha, short beta); +void tt_update(state *s, short alpha, short beta); + +int tt_compare(state *s, state_t *t); + + + + +//convert x,y coords to pos 0-99 +#define XY_TO_POS(x,y) y*10 + x + +/* Bit board stuff */ +#define GET_ROW(board, row) (board >> (row%5) * 10) & 0x3ff +#define GET_COL(board_l, board_u, col) (GET_HALF_COL(board_l, col) | (GET_HALF_COL(board_u, col) << 5)) + +#define GET_HALF_COL(board, col) (((board >> col) &0x1) | ((board >> (col + 9)) &0x2) | ((board >> (col + 18)) &0x4) | ((board >> (col + 27)) &0x8) | ((board >> (col + 36)) &0x10)) + +/* These defines require a board number between 0-99 */ +//Tells you where in a stream of 10 bits the position (x,y) would be (0-9) +#define GET_COL_POS(y) (int) y / 10 +#define GET_ROW_POS(x) x % 10 +//Tells you where in a stream of up to 10 bits the position (f,b) would be (0-9) +#define GET_FDIAG_POS(f) (f%10 > f/10) ? f/10 : f%10 +#define GET_BDIAG_POS(b) (b/10 < (10 - b%10)) ? b/10 : 9 - b%10 + +//Gets diag numbers, for passing into get_forw_diag() & get_back_diag() +#define GET_FDIAG(f) (f%10 > f/10) ? f - ((f/10) * 11) : f - ((f%10) * 11) +#define GET_BDIAG(b) (b/10 < (10 - b%10)) ? b - ((b/10) * 9) : b - ((9 - (b%10)) * 9) + +//Calculates length of a diagonal, pass in value from GET_FDIAG/GET_BDIAG +//Note: Don't call GET_[F,B]DIAG within GET_[F,B]DIAG_LEN, you get really weird results +//eg GET_FDIAG_LEN(GET_FDIAG(pos)). Instead, store it into a variable first: +//eg diag = GET_FDIAG(pos); len = GET_FDIAG_LEN(diag); +#define GET_FDIAG_LEN(fdiag) (fdiag < 10) ? (10 - fdiag) : (10 - fdiag/10) +#define GET_BDIAG_LEN(bdiag) (bdiag < 10) ? bdiag + 1 : (10 - bdiag/10) + +#define PUT_ROW(board, row, stream) board |= ((ull) stream << ((row % 5) * 10)) +#define PUT_COL(board_l, board_u, col, stream) PUT_HALF_COL(board_l, col, stream); PUT_HALF_COL(board_u, col, stream >> 5) +#define PUT_HALF_COL(board, col, stream) board |= ((((ull)stream & 0x1) << col) | \ + (((ull)stream & 0x2) << (col + 9)) | \ + (((ull)stream & 0x4) << (col + 18)) | \ + (((ull)stream & 0x8) << (col + 27)) | \ + (((ull)stream & 0x10) << (col + 36))) diff --git a/src/board.c b/src/board.c new file mode 100644 index 0000000..365aa20 --- /dev/null +++ b/src/board.c @@ -0,0 +1,1481 @@ +#include +#include +#include + +#include "amazons.h" +#include "board.h" +#include "bstate.h" +#include "callbacks.h" + +/* local Prototypes */ + + +static void fill_a_square(GnomeCanvasGroup *group, + double x1, double y1, double x2, double y2, char *color); +static void get_square_color(int square, char *color); +static void draw_a_line(GnomeCanvasGroup *group, + int x1, int y1, int x2, int y2, char *color); +static void draw_grid(); + + +/* Globals */ +extern Board *board; +extern struct options options; +extern struct game_states states; +extern int ok; +extern time_t start; +extern GtkWidget *main_window; +Square legal_moves[100]; +int state_hash; + + +void init_game_board(GtkWidget *GamazonsMain) +{ + int i,j; + char color[256]; + GtkWidget *w = (GtkWidget *) lookup_widget(GamazonsMain, BOARD_NAME); + GtkWidget *force_button, *undo_button; + GtkTextView *view; + GtkTextBuffer *buffer; + GtkWidget *speed, *delay; + static int first_run = TRUE; + + if (w == NULL) + printf("Couldn't find board!!!!!!!!\n"); + + board = (Board *) malloc(sizeof(Board)); + board->canvas = GNOME_CANVAS(w); + board->root = GNOME_CANVAS_GROUP(gnome_canvas_item_new(gnome_canvas_root(board->canvas), + gnome_canvas_group_get_type(), + NULL)); + + gnome_canvas_set_scroll_region(board->canvas, 0.0, 0.0, + 400.0, + 400.0); + + + /* initialize pieces */ + for (i=0; isquares[i][j] = NOTHING; + } + } + gtk_signal_connect(GTK_OBJECT(board->canvas), "event", + GTK_SIGNAL_FUNC(arrow_fire_cb), NULL); + + //Place amazon queens on the board + board->squares[9][3] = WHITE; + board->squares[9][6] = WHITE; + board->squares[6][0] = WHITE; + board->squares[6][9] = WHITE; + + board->squares[0][3] = BLACK; + board->squares[0][6] = BLACK; + board->squares[3][0] = BLACK; + board->squares[3][9] = BLACK; + + board->square_to_wh_queen_map[0] = 96; + board->square_to_wh_queen_map[1] = 93; + board->square_to_wh_queen_map[2] = 60; + board->square_to_wh_queen_map[3] = 69; + + board->square_to_bl_queen_map[0] = 3; + board->square_to_bl_queen_map[1] = 6; + board->square_to_bl_queen_map[2] = 30; + board->square_to_bl_queen_map[3] = 39; + + //Set up move history window + view = (GtkTextView *) lookup_widget(main_window, "textview1"); + buffer = gtk_text_buffer_new(NULL); + gtk_text_view_set_buffer(view, buffer); + + //Initialize buttons + force_button = (GtkWidget *)lookup_widget(main_window, "BT_FORCEMOVE"); + gtk_widget_set_sensitive (force_button, FALSE); + undo_button = (GtkWidget *)lookup_widget(main_window, "BT_UNDO"); + gtk_widget_set_sensitive (undo_button, FALSE); + + + draw_board(); + if (first_run) + { + //Set spinner values + delay = (GtkWidget *)lookup_widget(main_window, "ReplayDelaySpinner"); + gtk_spin_button_set_value((GtkSpinButton *)delay, options.replay_delay); + speed = (GtkWidget *)lookup_widget(main_window, "MovementSpeedSpinner"); + gtk_spin_button_set_value((GtkSpinButton *)speed, options.movement_speed); + + first_run = FALSE; + bstate_set_just_finished(START_GAME); + } + +} + + +void fill_a_square(GnomeCanvasGroup *group, + double x1, double y1, double x2, double y2, char *color) +{ + /* draw a box*/ + gnome_canvas_item_new(group, + gnome_canvas_rect_get_type(), + "x1", x1, + "y1", y1, + "x2", x2, + "y2", y2, + "outline_color", "black", + "fill_color", color, + "width_pixels", (double)THICKNESS, + NULL, NULL); + +} + +static void get_square_color(int square, char *color) +{ + if ((square % 2) == 0) + strcpy(color, SQUARE_COLOR_1); + else + strcpy(color, SQUARE_COLOR_2); +} + + +static void draw_grid() +{ + int x,y; + + for (x=0; x<=10; x++) + { + for (y=0; y<=10; y++) + { + //draw horiz + draw_a_line(board->root, //gnome_canvas_root(board->canvas), + 0, y*CELL_SIZE, BOARD_SIZE*CELL_SIZE, y*CELL_SIZE, "black"); + + //draw vert + draw_a_line(board->root, //gnome_canvas_root(board->canvas), + x*CELL_SIZE, 0, x*CELL_SIZE, BOARD_SIZE*CELL_SIZE, "black"); + } + } + + +} + +static void draw_a_line(GnomeCanvasGroup *group, + int x1, int y1, int x2, int y2, char *color) +{ + GnomeCanvasPoints *points; + + /* allocate a new points array */ + points = gnome_canvas_points_new (2); + + /* fill out the points */ + points->coords[0] = x1; + points->coords[1] = y1; + points->coords[2] = x2; + points->coords[3] = y2; + /* draw the line */ + gnome_canvas_item_new(group, + gnome_canvas_line_get_type(), + "points", points, + "fill_color", color, + "width_units", (double)THICKNESS, + NULL); + + /* free the points array */ + gnome_canvas_points_free(points); +} + +void draw_board() +{ + int i,j,k; + int black_i = 0; + GdkPixbuf *white_pb, *black_pb; + GdkPixbuf *white_sq, *grey_sq, *arrow_sq; + char color[256]; + GnomeCanvasItem *image; + GnomeCanvasGroup *root = GNOME_CANVAS_GROUP(gnome_canvas_root (GNOME_CANVAS (board->canvas))); + static int first_game = 1; + + + + /* Find images */ + white_pb = gdk_pixbuf_new_from_file(options.images.white_piece, NULL); + if (white_pb == NULL) + { + fprintf(stderr, "Cannot find white piece image: %s\n", options.images.white_piece); + exit(1); + } + + black_pb = gdk_pixbuf_new_from_file(options.images.black_piece, NULL); + if (black_pb == NULL) + { + fprintf(stderr, "Cannot find black piece image: %s\n", options.images.black_piece); + exit(1); + } + + white_sq = gdk_pixbuf_new_from_file(options.images.white_sq, NULL); + if (white_sq == NULL) + { + fprintf(stderr, "Cannot find white square image: %s\n", options.images.white_sq); + exit(1); + } + + grey_sq = gdk_pixbuf_new_from_file(options.images.grey_sq, NULL); + if (grey_sq == NULL) + { + fprintf(stderr, "Cannot find grey square image: %s\n", options.images.grey_sq); + exit(1); + } + arrow_sq = gdk_pixbuf_new_from_file(options.images.arrow_sq, NULL); + if (arrow_sq == NULL) + { + fprintf(stderr, "Cannot find arrow square image: %s\n", options.images.arrow_sq); + exit(1); + } + + + + /* fill alternate squares */ + for(j=0;jsquare_items[j*10+i] = NULL; + if ((i + j) % 2) + { + board->square_items[j*10+i] = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", grey_sq, + NULL); + } + else + { + board->square_items[j*10+i] = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", white_sq, + NULL); + } + + + + //Place the queen images on the board in the right order + if (board->squares[j][i] == WHITE) + { +#ifdef DEBUG + printf("Square %c%c contains a white queen\n",i+'a',10-j+'0'); +#endif + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", white_pb, + NULL); + //We need to do some funky checking to make sure board->white_queens[] matches + //up exactly with state->white_q_x[], state->white_q_y[] + for (k=0; k<4; k++) + { + if(j*10 +i == board->square_to_wh_queen_map[k]) + { + board->white_queens[k] = image; +#ifdef DEBUG + printf("registering queen %d\n", k); +#endif + break; + } + } + +#ifdef DEBUG + printf("connecting signal to queen\n"); +#endif + gtk_signal_connect(GTK_OBJECT(image), "event", + GTK_SIGNAL_FUNC(board_press_cb), NULL); + } + else if (board->squares[j][i] == BLACK) + { +#ifdef DEBUG + printf("Square %c%c contains a black queen\n",i+'a',10-j+'0'); +#endif + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", black_pb, + NULL); + for (k=0; k<4; k++) + { + if(j*10 +i == board->square_to_bl_queen_map[k]) + { + board->black_queens[k] = image; +#ifdef DEBUG + printf("registering queen %d\n", k); +#endif + break; + } + } + +#ifdef DEBUG + printf("connecting signal to queen\n"); +#endif + gtk_signal_connect(GTK_OBJECT(image), "event", + GTK_SIGNAL_FUNC(board_press_cb), NULL); + } + else if (board->squares[j][i] == ARROW) + { + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", arrow_sq, + NULL); + } + + + } + } + + if (options.images.grid == TRUE) + draw_grid(); + + /* + image = gnome_canvas_item_new (root, + gnome_canvas_pixbuf_get_type (), + "x", 10.0, "y", 10.0, + "width", 40.0, "height", 40.0, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", white_pb, + NULL); + */ + + + gtk_widget_show_now(main_window); + gtk_widget_queue_draw ((GtkWidget *) board->canvas); + gtk_widget_show_now((GtkWidget *) board->canvas); +} + + + +void mark_square (GnomeCanvasItem *square) +{ + gnome_canvas_item_set (square, "outline_color", "red", NULL); +} + +Square get_square (double x, double y) +{ + Square from; + int x_square; + int y_square; + + /* + x -= (BOARD_BORDER - CELL_PAD); + y -= (BOARD_BORDER - CELL_PAD); + */ + + if (x < 0) + x = 0.0; + else if (x > ((BOARD_SIZE-1) * CELL_SIZE)) + x = (BOARD_SIZE-1) * CELL_SIZE; + if (y < 0) + y = 0.0; + else if (y > ((BOARD_SIZE-1) * CELL_SIZE)) + y = (BOARD_SIZE-1) * CELL_SIZE; + + x_square = x / CELL_SIZE; + y_square = y / CELL_SIZE; + +#ifdef DEBUG + printf("x coord = %f y coord = %f\n", x, y); + printf("x coord = %d y coord = %d\n", x_square, y_square); +#endif + + from = x_square + y_square * 10; + + return from; +} + +void clear_square (GnomeCanvasItem **square) +{ + gnome_canvas_item_set (*square, "outline_color", NULL, NULL); + *square = NULL; +} + +/*============================================================================== + * move_piece_to + * + * This moves the given piece to the given square. This is a very tricky function + * because the user can do many things to upset the state of the board while a + * piece is sliding, so various checks must take place throughout the movement + * process to make sure the board still exists as it thinks it does. + * + * The piece can also move at different speeds. Originally, it moved one pixel at + * a time, but it now gets its value from the MovementSpeedSpinner widget. This + * makes it so the pieces can move at acceptable speeds on slower computers, but + * adds more complexity in trying to calculate the distance a piece should move. + */ +void move_piece_to(Square to, GnomeCanvasItem *item) +{ + double Lx, Uy, Rx, By; + double to_Lx, to_Uy; + int x, y; + int i,j; + int game_life; + GtkWidget *speed = (GtkWidget *)lookup_widget(main_window, "MovementSpeedSpinner"); + int inc = gtk_spin_button_get_value_as_int((GtkSpinButton *)speed); + int count = 0; + + game_life = bstate_get_game_life(); + to_Lx = get_x_from_square(to); + to_Uy = get_y_from_square(to); + +#ifdef DEBUG + printf("We want the queen at coords %f, %f\n", to_Lx, to_Uy); +#endif + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); +#ifdef DEBUG + printf("The queen is at coords %f, %f\n", Lx, Uy); +#endif + if (bstate_get_dont_slide()) + { + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); + gnome_canvas_item_move (item, + get_x_from_square(to) - Lx, + get_y_from_square(to) - Uy); + gnome_canvas_item_raise_to_top (item); + } + else + { + while (Lx != to_Lx || Uy != to_Uy) + { +#ifdef DEBUG + if (count++ < 20) + printf("Lx = %g; to_Lx = %g; Uy = %g; to_Uy = %g\n", Lx, to_Lx, Uy, to_Uy); +#endif + bstate_set_moving_piece(TRUE); + if ((int)Lx == (int)to_Lx) + x = 0; + else if (Lx < to_Lx && (to_Lx - Lx) >= inc) + x = inc; + else if (Lx < to_Lx && (to_Lx - Lx) <= inc) + x = to_Lx - Lx; + else if (Lx > to_Lx && (Lx - to_Lx) >= inc) + x = -inc; + else if (Lx > to_Lx && (Lx - to_Lx) <= inc) + x = to_Lx - Lx; + + if ((int)Uy == (int)to_Uy) + y = 0; + else if (Uy < to_Uy && (to_Uy - Uy) >= inc) + y = inc; + else if (Uy < to_Uy && (to_Uy - Uy) <= inc) + y = to_Uy - Uy; + else if (Uy > to_Uy && (Uy - to_Uy) >= inc) + y = -inc; + else if (Uy > to_Uy && (Uy - to_Uy) <= inc) + y = to_Uy - Uy; + +#ifdef DEBUG + if (count < 20) + printf("x = %d, y = %d\n", x, y); +#endif + + if (bstate_get_game_life() != game_life) + { + bstate_set_moving_piece(FALSE); + return; + } + gnome_canvas_item_move (item, (double)x, (double)y); + gnome_canvas_item_raise_to_top (item); + + //update the board + while (gtk_events_pending()) + gtk_main_iteration(); + + if (bstate_get_quit_game()) + exit(0); + if (bstate_get_game_life() != game_life) + { + bstate_set_moving_piece(FALSE); + return; + } + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); + } + } + + if (bstate_get_game_life() != game_life) + { + bstate_set_moving_piece(FALSE); + return; + } + gnome_canvas_item_raise_to_top (item); + bstate_set_moving_piece(FALSE); + //see where it landed + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); +#ifdef DEBUG + printf("The queen landed at coords %f, %f\n", Lx, Uy); + printf("this time the queen is on square %d\n", to); +#endif +} + + + + +double get_x_from_square(int sq) +{ + double x; + + x = (double) ((sq % 10) * CELL_SIZE+QUEEN_OFFSET); + + return x; + +} + +double get_y_from_square(int sq) +{ + double y; + + y = (double) ((sq / 10) * CELL_SIZE+QUEEN_OFFSET); + + return y; + + +} + +int get_x_int_from_square(int sq) +{ + return(sq % 10); +} + +int get_y_int_from_square(int sq) +{ + return(sq / 10); +} + +int get_grid_num_from_square(int sq) +{ + return(10 - sq/10); +} + +char get_grid_alpha_from_square(int sq) +{ + return('a' + sq % 10); +} + +int engine_x_to_board_x(int eng_x) +{ + return(eng_x);//hey, these are the same, no conversion necessary +} + +int engine_y_to_board_y(int eng_y) +{ + return(9 - eng_y); +} + +int board_x_to_engine_x(int brd_x) +{ + return(brd_x); +} + +int board_y_to_engine_y(int brd_y) +{ + return(9 - brd_y); +} + +int get_square_from_engine(int x, int y) +{ + return((9 - y) * 10 + x); +} + + +void fire_arrow(Square sq) +{ + int x,y; + GdkPixbuf *arrow_sq; + GnomeCanvasItem *image; + GnomeCanvasGroup *root = GNOME_CANVAS_GROUP(gnome_canvas_root (GNOME_CANVAS (board->canvas))); + + x = sq % 10; + y = sq / 10; + + board->squares[y][x] = ARROW; + + arrow_sq = gdk_pixbuf_new_from_file(options.images.arrow_sq, NULL); + if (arrow_sq == NULL) + { + fprintf(stderr, "Cannot find arrow image: %s\n", options.images.arrow_sq); + exit(1); + } + + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", x*CELL_SIZE+QUEEN_OFFSET, "y", y*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", arrow_sq, + NULL); + +} + +void square_contains(Square sq) +{ + int row, col; + + col = get_x_int_from_square(sq); + row = get_y_int_from_square(sq); + + if (board->squares[row][col] == NOTHING) + printf("Nothing is found at square %d\n", sq); + else if (board->squares[row][col] == WHITE) + printf("A White Queen is found at square %d\n", sq); + else if (board->squares[row][col] == BLACK) + printf("A Black Queen is found at square %d\n", sq); + else if (board->squares[row][col] == ARROW) + printf("An arrow is found at square %d\n", sq); + else + printf("Whoa, I don't know _what_ is on square %d\n", sq); +} + + +/*============================================================================== + * move_ai + * + * Checks to see if an AI oppenent is next to move. If it is, it starts the + * move process, and checks for a win afterwards. If not, it just checks for + * the win. Returns TRUE if an AI opponent moves next. False if human. + * + * NOTE: If you have 2 AI players, this function would just keep thinking and + * never let the board update or respond. So there are several checks to see + * if any new events occured that should be handled, or critical changes have + * been made (like starting a new game, etc..). If something critical has changed + * the function will exit after learning about it. + */ +int move_ai() +{ + state *s = states.s[states.current_state]; + move temp; + int ai = FALSE; + int current_hash; + int game_life = bstate_get_game_life(); + //GtkWidget *auto_button, *force_button; + + current_hash = state_hash = create_hash(s); + + //quit this function if a 'New Game' option was selected since this + //function was started. + /* + if (bstate_get_new_game()) + { + bstate_set_new_game(FALSE); + return FALSE; + } + */ + ok = 1; + ai = TRUE; + start = time(NULL); + temp = isearch(s, NOTHINK); + if (s->winner) //XXX does this if statement do any good? I thot winner was handled elsewhere + return FALSE; + makemove(s,temp); + + //update the board before drawing the new move + //the program would segfault if you closed it while it was thinking + while (gtk_events_pending()) + gtk_main_iteration(); + if (current_hash != state_hash) + return FALSE; + + /* + if (bstate_get_new_game()) + { + bstate_set_new_game(FALSE); + return FALSE; + } + */ + + if (bstate_get_quit_game()) + exit(0); + + if (bstate_get_game_life() != game_life) + return FALSE; + + + //register move on graphical board + move_piece(temp); + if (bstate_get_game_life() != game_life) + return FALSE; + print_move_in_text_window(&temp); + dup_state(s, states.s[++(states.current_state)]); + bstate_set_just_finished(WAIT_FOR_AI); + + +#ifdef DEBUG + if (options.white_player == AI) + printf("White is AI\n"); + if (options.black_player == AI) + printf("Black is AI\n"); + printf("Turn is %d\n", states.s[states.current_state]->turn ); +#endif + + if (game_over()) + { + //XXX should I set ai = FALSE? + ai = FALSE; + return (ai); + } + + return ai; +} + +/*============================================================================== + * move_piece + * + * Takes a move struct generated by the engine, and extracts the necessary info + * to update the GUI data structs and have the GUI reflect the move. + */ +void move_piece(move m) +{ + GnomeCanvasItem *item; + int from_row, from_col; + int to_row, to_col; + int game_life = bstate_get_game_life(); + + bstate_set_move_to(get_square_from_engine(m.tocol, m.torow)); + to_col = get_x_int_from_square(bstate_get_move_to()); + to_row = get_y_int_from_square(bstate_get_move_to()); + //Note: by the time the state gets here, it's signaled the other player's turn + //so if it says it's white's turn, black just moved and we need to move black's + //piece. + if (states.s[states.current_state]->turn == WHITE_PLAYER) + { + bstate_set_move_from(get_square_from_engine(states.s[states.current_state -1]->black_q_x[m.queen], + states.s[states.current_state -1]->black_q_y[m.queen])); + + board->squares[to_row][to_col] = BLACK; +#ifdef DEBUG + printf("Moving black queen\n"); +#endif + item = board->black_queens[m.queen]; + board->square_to_bl_queen_map[m.queen] = to_row*10 +to_col; + } + else + { + bstate_set_move_from(get_square_from_engine(states.s[states.current_state -1]->white_q_x[m.queen], + states.s[states.current_state -1]->white_q_y[m.queen])); + board->squares[to_row][to_col] = WHITE; +#ifdef DEBUG + printf("Moving white queen\n"); +#endif + item = board->white_queens[m.queen]; + board->square_to_wh_queen_map[m.queen] = to_row*10 +to_col; + } + + + from_col = get_x_int_from_square(bstate_get_move_from()); + from_row = get_y_int_from_square(bstate_get_move_from()); + board->squares[from_row][from_col] = NOTHING; + + move_piece_to(bstate_get_move_to(), item); +#ifdef DEBUG + printf("Engine coords for arrow: %d, %d\n", m.wallcol, m.wallrow); +#endif + if (game_life != bstate_get_game_life()) + return; + fire_arrow(get_square_from_engine(m.wallcol, m.wallrow)); +#ifdef DEBUG + printf("fired arrow to square %d\n", get_square_from_engine(m.wallcol, m.wallrow)); + pmove(m); +#endif +} + +/*============================================================================== + * register_move_with_engine + * + * Fills out a move struct with the human's move and calls makemove() to update + * the state struct, so the AI engine knows what happened. + */ +void register_move_with_engine(Square arrow_sq) +{ + state *s = states.s[states.current_state]; + move m; + move movelist[3000]; + int move_count; + int i; + int tocol, torow; + int found = FALSE; + char move_str[32]; + char err_msg[256]; + + //find out the index of the queen that was just moved. + //weird things will happen if it's not found. + for (i=0; i<4; i++) + { + if (board->selected_queen == board->white_queens[i] || + board->selected_queen == board->black_queens[i]) + { + found = TRUE; + break; + } + } + + if (!found) + fprintf(stderr, "Error registering move w/ AI engine! Game play will now be weird.\n"); + + m.queen = i; + m.torow = board_y_to_engine_y(get_y_int_from_square(bstate_get_move_to())); + m.tocol = board_x_to_engine_x(get_x_int_from_square(bstate_get_move_to())); + + m.wallrow = board_y_to_engine_y(get_y_int_from_square(arrow_sq)); + m.wallcol = board_x_to_engine_x(get_x_int_from_square(arrow_sq)); + + //make sure it's a valid move + move_count = children(s, movelist); + if (move_count == 0) + { + gnome_error_dialog("The AI engine thinks the game is over. Please use the menu item Game->New to start a new game"); + return; + } + if (!move_lookup(&m, movelist, move_count)) + { + get_move_str(&m, move_str); + strcpy(err_msg, "You've hit a bug. The following illegal move was just attempted: "); + strcat(err_msg, move_str); + gnome_error_dialog(err_msg); + return; + } + + makemove(s, m); + print_move_in_text_window(&m); + +} + +/*============================================================================== + * is_queen_square + * + * Compares the given square with the information stored in board->squares[][] + * to see if a queen is there. + */ +int is_queen_square(Square sq) +{ + int row, col; + + col = get_x_int_from_square(sq); + row = get_y_int_from_square(sq); + + if ((board->squares[row][col] == BLACK) || + (board->squares[row][col] == WHITE)) + return TRUE; + else + return FALSE; +} + + +/*============================================================================== + * gen_legal_moves + * + * Given a square, this generates an array of all legal moves that can be made + * from it. This works for both queen movement, as well as firing an arrow, + * since both move the same way. + * + * The array terminator is 100 + */ +void gen_legal_moves(Square sq) +{ + int arr_i = 0; + int i; + int row, col, sq_row, sq_col; + int scanning; + + sq_col = get_x_int_from_square(sq); + sq_row = get_y_int_from_square(sq); + + //make sure the player can drop the piece on the same square if he changes + //his mind + legal_moves[arr_i++] = sq; + + //get vertical moves + row = sq_row + 1; + col = sq_col; + while (board->squares[row][col] == NOTHING && row < 10) + { + legal_moves[arr_i++] = (row*10) + col; + row++; + } + + row = sq_row - 1; + while (board->squares[row][col] == NOTHING && row >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + row--; + } + + //get horizontal moves + row = sq_row; + col = sq_col + 1; + while (board->squares[row][col] == NOTHING && col < 10) + { + legal_moves[arr_i++] = (row*10) + col; + col++; + } + + col = sq_col - 1; + while (board->squares[row][col] == NOTHING && col >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + col--; + } + + //get forward diagonal moves + row = sq_row + 1; + col = sq_col + 1; + while (board->squares[row][col] == NOTHING && col < 10 && row < 10) + { + legal_moves[arr_i++] = (row*10) + col; + col++; + row++; + } + + row = sq_row - 1; + col = sq_col - 1; + while (board->squares[row][col] == NOTHING && col >= 0 && row >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + col--; + row--; + } + + //get backward diagonal moves + row = sq_row + 1; + col = sq_col - 1; + while (board->squares[row][col] == NOTHING && col >= 0 && row < 10) + { + legal_moves[arr_i++] = (row*10) + col; + col--; + row++; + } + + row = sq_row - 1; + col = sq_col + 1; + while (board->squares[row][col] == NOTHING && col < 10 && row >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + col++; + row--; + } + + + legal_moves[arr_i] = 100; +#ifdef DEBUG + printf("legal move list for %d of length %d: \n", sq, arr_i); + i = 0; + while (legal_moves[i] < 100) + printf(" %d", legal_moves[i++]); + printf("\n"); +#endif + +} + +/*============================================================================== + * is_move_legal + * + * Looks up the given square in the current legal_moves array. If it doesn't + * exist, it's not a legal move and returns FALSE. Returns TRUE if it is there. + */ +int is_move_legal(Square sq) +{ + int i=0; + +#ifdef DEBUG + printf("checking to see if a move is legal\n"); +#endif + while (legal_moves[i] < 100) + { + if (sq == legal_moves[i++]) + { +#ifdef DEBUG + printf("%d is a legal move\n", sq); +#endif + return TRUE; + } + } + +#ifdef DEBUG + printf("Can't move to square. Legal moves are: %d\n", sq); + i=0; + while (legal_moves[i] < 100) + printf(" %d", legal_moves[i++]); + printf("\n"); +#endif + return FALSE; +} + +/*============================================================================== + * count_queens + * + * DEBUG - counts the number of queens on the GUI representation and prints + * out a bunch of XXXX's whenever there are not 4 of both kinds. + */ +void count_queens() +{ + int black=0, white=0; + int i,j; + + for(i=0; i<10; i++) + { + for(j=0; j<10; j++) + { + if (board->squares[i][j] == WHITE) + white++; + if (board->squares[i][j] == BLACK) + black++; + } + } + if (black > 4) + printf("YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY Gained a black queen\n"); + if (white > 4) + printf("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Gained a white queen\n"); + if (black < 4) + printf("XYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXXYXYX Lost a black queen\n"); + if (white < 4) + printf("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ Lost a white queen\n"); +} + + + +/*============================================================================== + * free_all_memory + * + * When a new game is started, we want to free all the memory we've allocated + * so we can start all over without leaking all the memory. + */ +void free_all_memory() +{ + int i; + + //free states + for (i=0; i< states.max_state; i++) + free (states.s[i]); + + //Oh, this is ugly! Do I really want to do this? + /* + if(tt) + { + for (i=0; iwhite_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + return( (board_u ^ board_l) % TT); +} + + +/*============================================================================== + * game_over + * + * Checks to see if the game is over and generates a pop-up stating who the + * winner is. Returns TRUE if the game is over. + */ +int game_over() +{ + state *s = states.s[states.current_state]; + move movelist[3000]; +// GtkWidget *auto_button, *force_button; + + if (children(s, movelist) == 0) + { + //printf("player %d wins!\n", s->turn^3); + s->winner = s->turn^3; + if (s->winner == BLACK) + gnome_ok_dialog("White wins!"); + else + gnome_ok_dialog("Black wins!"); + + bstate_set_just_finished(GAME_OVER); + + /* + auto_button = (GtkWidget *) lookup_widget(main_window, "BT_AUTOFINISH"); + force_button = (GtkWidget *) lookup_widget(main_window, "BT_FORCEMOVE"); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, FALSE); + */ + + return TRUE; + } + else + return FALSE; + +} + +/*============================================================================== + * update_status_bar + * + * Updates the status bar based on the current value of what_next + */ +update_status_bar() +{ + GtkStatusbar *status = (GtkStatusbar *) lookup_widget(main_window, "statusbar1"); + guint context_id = bstate_get_what_next(); + + gtk_statusbar_pop(status, context_id); + + //printf("Updating status bar for state %d\n", bstate_get_what_next()); + switch (bstate_get_what_next()) + { + case FIRE_ARROW: + gtk_statusbar_push(status, context_id, "Fire Arrow"); + break; + case MOVE_BLACK_QUEEN: + gtk_statusbar_push(status, context_id, "Move Black Amazon"); + break; + case MOVE_WHITE_QUEEN: + gtk_statusbar_push(status, context_id, "Move White Amazon"); + break; + case WAIT_FOR_AI: + gtk_statusbar_push(status, context_id, "AI is thinking..."); + break; + case NEW_GAME: + gtk_statusbar_push(status, context_id, "Select Game->New to start game"); + break; + case STOP_REPLAY: + gtk_statusbar_push(status, context_id, "Replaying a game..."); + break; + + default: + gtk_statusbar_push(status, context_id, "I have no idea what to do next!"); + + } + +} + +/*============================================================================== + * print_board + * + * prints out an ascii version of the board, useful for ensuring the board shows + * what it should show. + */ +void print_board() +{ + int i,j; + + for (i=0; isquares[i][j] == 0) + printf(" 0"); + if (board->squares[i][j] == 1) + printf(" B"); + if (board->squares[i][j] == 2) + printf(" W"); + if (board->squares[i][j] == 3) + printf(" x"); + } + printf("\n"); + } +} + +/*============================================================================== + * destroy_board + * + * Destroys the main board canvas group which contains all the square and piece + * images, and takes them with it. Once done, it creates a new group that + * draw_board() can take advantage of. + */ +void destroy_board() +{ + int i; + GtkWidget *CNVS_GAMEBOARD, *w, *scrolledwindow4, *table1; + + +#ifdef DEBUG + printf("Destroying board now\n"); +#endif + + + gtk_object_destroy(GTK_OBJECT(board->root)); + board->root = GNOME_CANVAS_GROUP(gnome_canvas_item_new(gnome_canvas_root(board->canvas), + gnome_canvas_group_get_type(), + NULL)); +} + +/*============================================================================== + * print_move_in_text_window + * + * Prints the given move in official amazon notation. The move struct doesn't + * contain 'from' information, so that must be retrieved from the previous state + */ +void print_move_in_text_window(move *m) +{ + GtkTextView *view; + GtkTextBuffer *buffer; + GtkTextIter *iter = (GtkTextIter *) malloc(sizeof(GtkTextIter)); + char string_buf[32]; + GtkScrolledWindow *w; + GtkAdjustment *adj; + + view = (GtkTextView *) lookup_widget(main_window, "textview1"); + buffer = gtk_text_view_get_buffer (view); + gtk_text_buffer_get_end_iter(buffer, iter); + + get_move_str(m, string_buf); + +#ifdef DEBUG + printf("%s", string_buf); +#endif + gtk_text_buffer_insert(buffer, iter, string_buf, -1); + + w = (GtkScrolledWindow *) lookup_widget(main_window, "scrolledwindow6"); + adj = gtk_scrolled_window_get_vadjustment(w); + gtk_adjustment_set_value(adj, adj->upper); + gtk_scrolled_window_set_vadjustment(w, adj); + + + free (iter); +} + +/*============================================================================== + * get_move_str + * + * Creates a move string from a move struct + */ +void get_move_str(move *m, char move_str[]) +{ + Square to_sq, from_sq, arrow_sq; + int to_num, from_num, arrow_num; + char to_alpha, from_alpha, arrow_alpha; + int state_i = states.current_state; + int turn; + + //Determine which side just moved: + turn = states.s[state_i]->turn^3; + if (turn == WHITE_PLAYER) + { + from_sq = get_square_from_engine(states.s[state_i-1]->white_q_x[m->queen], + states.s[state_i-1]->white_q_y[m->queen]); + } + else + { + from_sq = get_square_from_engine(states.s[state_i-1]->black_q_x[m->queen], + states.s[state_i-1]->black_q_y[m->queen]); + } + to_sq = get_square_from_engine(m->tocol, m->torow); + arrow_sq = get_square_from_engine(m->wallcol, m->wallrow); + + + + from_alpha = get_grid_alpha_from_square(from_sq); + from_num = get_grid_num_from_square(from_sq); + + to_alpha = get_grid_alpha_from_square(to_sq); + to_num = get_grid_num_from_square(to_sq); + + arrow_alpha = get_grid_alpha_from_square(arrow_sq); + arrow_num = get_grid_num_from_square(arrow_sq); + + sprintf(move_str, "%d. %c%d-%c%d, %c%d\n", state_i, from_alpha, from_num, + to_alpha, to_num, arrow_alpha, arrow_num); +} + +/*============================================================================== + * get_move_from_str + * + * This generates a move struct from a move string of the format 1. a4-a6, b6 + * If the string is not in a valid format, the return value will be FALSE to + * inform the calling routine that the returned move struct does not contain + * valid information. If everything goes well, TRUE will be returned. + */ +int get_move_from_str(move *m, char move_str[]) +{ + int i=0, j; + int from_row, from_col; + int to_row, to_col; + int arrow_row, arrow_col; + Square queen_sq; + int queen_i = -1; + + //Ignore move number + while (move_str[i++] != ' ') + + if (i > 4) + { + fprintf(stderr, "Space is in wrong place: %d\n", i); + return FALSE; //Ack! this can't be right! + } + + from_col = move_str[i++] - 'a'; + from_row = move_str[i++] - '1'; + if (move_str[i] == '0') + { + from_row = 9; + i++; + } + + if (move_str[i++] != '-') + { + fprintf(stderr, "Expected a hyphen at index %d\n", i); + return FALSE; //Ack!! I expected a '-' here, this is not a valid move string + } + + to_col = move_str[i++] - 'a'; + to_row = move_str[i++] - '1'; + if (move_str[i] == '0') + { + to_row = 9; + i++; + } + + if (move_str[i++] != ',') + { + fprintf(stderr, "Expected a comma at index %d\n", i); + return FALSE; //Ack!! I expected a ',' here, this is not a valid move string + } + if (move_str[i++] != ' ') + { + fprintf(stderr, "Expected a space at index %d\n", i); + return FALSE; //Ack!! I expected a ' ' here, this is not a valid move string + } + + arrow_col = move_str[i++] - 'a'; + arrow_row = move_str[i++] - '1'; + if (move_str[i++] == '0') + arrow_row = 9; + + //Find the index to the appropriate queen + queen_sq = get_square_from_engine(from_col, from_row); + for(j=0; j<4; j++) + { + if (queen_sq == board->square_to_wh_queen_map[j]) + { + queen_i = j; + //printf("found move for white queen\n"); + } + if (queen_sq == board->square_to_bl_queen_map[j]) + { + queen_i = j; + //printf("found move for black queen\n"); + } + } + if (queen_i == -1) + { + fprintf(stderr, "Couldn't find a queen at square %d\n", queen_sq); + return FALSE; //Couldn't find queen index! + } + + m->queen = queen_i; + m->tocol = to_col; + m->torow = to_row; + m->wallcol = arrow_col; + m->wallrow = arrow_row; + + return TRUE; + +} + + +int read_in_moves(FILE *history_fd) +{ + char *buffer=NULL; + size_t buf_size = 30; + + state *s; + move m; + int replay_mode = bstate_get_replay_mode(); + int replay_delay = 0; + int game_life = bstate_get_game_life(); + GtkWidget *delay; + + if (replay_mode) + { + delay = (GtkWidget *)lookup_widget(main_window, "ReplayDelaySpinner"); + } + else + { + bstate_set_dont_slide(TRUE); + } + //printf("History contents:\n"); + while (getline(&buffer, &buf_size, history_fd) != -1) + { + if (replay_mode && !bstate_get_replay_mode()) //If not in replay mode anymore, drop out + return FALSE; + s = states.s[states.current_state]; + /* + if (buffer != NULL) + printf("%s", buffer); + */ + if (get_move_from_str(&m, buffer)) + { + makemove(s,m); //register w/ engine + move_piece(m); //register w/ board + if (game_life != bstate_get_game_life()) + return FALSE; + print_move_in_text_window(&m); + dup_state(s, states.s[++(states.current_state)]); + } + else + { + fprintf(stderr, "Move string is invalid\n"); + bstate_set_dont_slide(FALSE); + return FALSE; + } + free(buffer); + buffer = NULL; + + if (replay_mode) //Delay for appropriate amount of time + { + replay_delay = gtk_spin_button_get_value_as_int((GtkSpinButton *)delay); + rest(replay_delay); + if (game_life != bstate_get_game_life()) + return FALSE; + } + } + + + bstate_set_dont_slide(FALSE); + return TRUE; + +} + +void rest(int duration) +{ + time_t start = time(NULL); + time_t end = start + duration; + + while (time(NULL) < end) + { + usleep(10000); + while (gtk_events_pending()) + gtk_main_iteration(); + } + +} + + diff --git a/src/board.c-bak b/src/board.c-bak new file mode 100644 index 0000000..0f47f06 --- /dev/null +++ b/src/board.c-bak @@ -0,0 +1,1724 @@ +#include +#include +#include + +#include "amazons.h" +#include "board.h" +#include "callbacks.h" + +/* local Prototypes */ + + +static void fill_a_square(GnomeCanvasGroup *group, + double x1, double y1, double x2, double y2, char *color); +static void get_square_color(int square, char *color); +static void draw_a_line(GnomeCanvasGroup *group, + int x1, int y1, int x2, int y2, char *color); +static void draw_grid(); + + +/* Globals */ +extern Board *board; +extern struct options options; +extern struct game_states states; +extern int ok; +extern time_t start; +extern GtkWidget *main_window; +extern int new_game; +Square legal_moves[100]; +int state_hash; + +static Board_State bstate; + + +void init_game_board(GtkWidget *GamazonsMain) +{ + int i,j; + char color[256]; + GtkWidget *w = (GtkWidget *) lookup_widget(GamazonsMain, BOARD_NAME); + GtkWidget *force_button, *undo_button; + GtkTextView *view; + GtkTextBuffer *buffer; + static int first_run = TRUE; + + if (w == NULL) + printf("Couldn't find board!!!!!!!!\n"); + + board = (Board *) malloc(sizeof(Board)); + board->canvas = GNOME_CANVAS(w); + board->root = GNOME_CANVAS_GROUP(gnome_canvas_item_new(gnome_canvas_root(board->canvas), + gnome_canvas_group_get_type(), + NULL)); + + gnome_canvas_set_scroll_region(board->canvas, 0.0, 0.0, + 400.0, + 400.0); + + + /* initialize pieces */ + for (i=0; isquares[i][j] = NOTHING; + } + } + gtk_signal_connect(GTK_OBJECT(board->canvas), "event", + GTK_SIGNAL_FUNC(arrow_fire_cb), NULL); + + //Place amazon queens on the board + board->squares[9][3] = WHITE; + board->squares[9][6] = WHITE; + board->squares[6][0] = WHITE; + board->squares[6][9] = WHITE; + + board->squares[0][3] = BLACK; + board->squares[0][6] = BLACK; + board->squares[3][0] = BLACK; + board->squares[3][9] = BLACK; + + board->square_to_wh_queen_map[0] = 96; + board->square_to_wh_queen_map[1] = 93; + board->square_to_wh_queen_map[2] = 60; + board->square_to_wh_queen_map[3] = 69; + + board->square_to_bl_queen_map[0] = 3; + board->square_to_bl_queen_map[1] = 6; + board->square_to_bl_queen_map[2] = 30; + board->square_to_bl_queen_map[3] = 39; + + //Set up move history window + view = (GtkTextView *) lookup_widget(main_window, "textview1"); + buffer = gtk_text_buffer_new(NULL); + gtk_text_view_set_buffer(view, buffer); + + //Initialize buttons + force_button = (GtkWidget *)lookup_widget(main_window, "BT_FORCEMOVE"); + gtk_widget_set_sensitive (force_button, FALSE); + undo_button = (GtkWidget *)lookup_widget(main_window, "BT_UNDO"); + gtk_widget_set_sensitive (undo_button, FALSE); + + draw_board(); + if (first_run) + { + first_run = FALSE; + bstate_set_just_finished(START_GAME); + } + +} + + +void fill_a_square(GnomeCanvasGroup *group, + double x1, double y1, double x2, double y2, char *color) +{ + /* draw a box*/ + gnome_canvas_item_new(group, + gnome_canvas_rect_get_type(), + "x1", x1, + "y1", y1, + "x2", x2, + "y2", y2, + "outline_color", "black", + "fill_color", color, + "width_pixels", (double)THICKNESS, + NULL, NULL); + +} + +static void get_square_color(int square, char *color) +{ + if ((square % 2) == 0) + strcpy(color, SQUARE_COLOR_1); + else + strcpy(color, SQUARE_COLOR_2); +} + + +static void draw_grid() +{ + int x,y; + + for (x=0; x<=10; x++) + { + for (y=0; y<=10; y++) + { + //draw horiz + draw_a_line(board->root, //gnome_canvas_root(board->canvas), + 0, y*CELL_SIZE, BOARD_SIZE*CELL_SIZE, y*CELL_SIZE, "black"); + + //draw vert + draw_a_line(board->root, //gnome_canvas_root(board->canvas), + x*CELL_SIZE, 0, x*CELL_SIZE, BOARD_SIZE*CELL_SIZE, "black"); + } + } + + +} + +static void draw_a_line(GnomeCanvasGroup *group, + int x1, int y1, int x2, int y2, char *color) +{ + GnomeCanvasPoints *points; + + /* allocate a new points array */ + points = gnome_canvas_points_new (2); + + /* fill out the points */ + points->coords[0] = x1; + points->coords[1] = y1; + points->coords[2] = x2; + points->coords[3] = y2; + /* draw the line */ + gnome_canvas_item_new(group, + gnome_canvas_line_get_type(), + "points", points, + "fill_color", color, + "width_units", (double)THICKNESS, + NULL); + + /* free the points array */ + gnome_canvas_points_free(points); +} + +void draw_board() +{ + int i,j,k; + int black_i = 0; + GdkPixbuf *white_pb, *black_pb; + GdkPixbuf *white_sq, *grey_sq, *arrow_sq; + char color[256]; + GnomeCanvasItem *image; + GnomeCanvasGroup *root = GNOME_CANVAS_GROUP(gnome_canvas_root (GNOME_CANVAS (board->canvas))); + static int first_game = 1; + + + + /* Find images */ + white_pb = gdk_pixbuf_new_from_file(options.images.white_piece, NULL); + if (white_pb == NULL) + { + fprintf(stderr, "Cannot find white piece image: %s\n", options.images.white_piece); + exit(1); + } + + black_pb = gdk_pixbuf_new_from_file(options.images.black_piece, NULL); + if (black_pb == NULL) + { + fprintf(stderr, "Cannot find black piece image: %s\n", options.images.black_piece); + exit(1); + } + + white_sq = gdk_pixbuf_new_from_file(options.images.white_sq, NULL); + if (white_sq == NULL) + { + fprintf(stderr, "Cannot find white square image: %s\n", options.images.white_sq); + exit(1); + } + + grey_sq = gdk_pixbuf_new_from_file(options.images.grey_sq, NULL); + if (grey_sq == NULL) + { + fprintf(stderr, "Cannot find grey square image: %s\n", options.images.grey_sq); + exit(1); + } + arrow_sq = gdk_pixbuf_new_from_file(options.images.arrow_sq, NULL); + if (arrow_sq == NULL) + { + fprintf(stderr, "Cannot find arrow square image: %s\n", options.images.arrow_sq); + exit(1); + } + + + + /* fill alternate squares */ + for(j=0;jsquare_items[j*10+i] = NULL; + if ((i + j) % 2) + { + board->square_items[j*10+i] = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", grey_sq, + NULL); + } + else + { + board->square_items[j*10+i] = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", white_sq, + NULL); + } + + + + //Place the queen images on the board in the right order + if (board->squares[j][i] == WHITE) + { +#ifdef DEBUG + printf("Square %c%c contains a white queen\n",i+'a',10-j+'0'); +#endif + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", white_pb, + NULL); + //We need to do some funky checking to make sure board->white_queens[] matches + //up exactly with state->white_q_x[], state->white_q_y[] + for (k=0; k<4; k++) + { + if(j*10 +i == board->square_to_wh_queen_map[k]) + { + board->white_queens[k] = image; +#ifdef DEBUG + printf("registering queen %d\n", k); +#endif + break; + } + } + +#ifdef DEBUG + printf("connecting signal to queen\n"); +#endif + gtk_signal_connect(GTK_OBJECT(image), "event", + GTK_SIGNAL_FUNC(board_press_cb), NULL); + } + else if (board->squares[j][i] == BLACK) + { +#ifdef DEBUG + printf("Square %c%c contains a black queen\n",i+'a',10-j+'0'); +#endif + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", black_pb, + NULL); + for (k=0; k<4; k++) + { + if(j*10 +i == board->square_to_bl_queen_map[k]) + { + board->black_queens[k] = image; +#ifdef DEBUG + printf("registering queen %d\n", k); +#endif + break; + } + } + +#ifdef DEBUG + printf("connecting signal to queen\n"); +#endif + gtk_signal_connect(GTK_OBJECT(image), "event", + GTK_SIGNAL_FUNC(board_press_cb), NULL); + } + else if (board->squares[j][i] == ARROW) + { + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", i*CELL_SIZE+QUEEN_OFFSET, "y", j*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", arrow_sq, + NULL); + } + + + } + } + + if (options.images.grid == TRUE) + draw_grid(); + + /* + image = gnome_canvas_item_new (root, + gnome_canvas_pixbuf_get_type (), + "x", 10.0, "y", 10.0, + "width", 40.0, "height", 40.0, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", white_pb, + NULL); + */ + + + gtk_widget_show_now(main_window); + gtk_widget_queue_draw ((GtkWidget *) board->canvas); + gtk_widget_show_now((GtkWidget *) board->canvas); +} + + + +void mark_square (GnomeCanvasItem *square) +{ + gnome_canvas_item_set (square, "outline_color", "red", NULL); +} + +Square get_square (double x, double y) +{ + Square from; + int x_square; + int y_square; + + /* + x -= (BOARD_BORDER - CELL_PAD); + y -= (BOARD_BORDER - CELL_PAD); + */ + + if (x < 0) + x = 0.0; + else if (x > ((BOARD_SIZE-1) * CELL_SIZE)) + x = (BOARD_SIZE-1) * CELL_SIZE; + if (y < 0) + y = 0.0; + else if (y > ((BOARD_SIZE-1) * CELL_SIZE)) + y = (BOARD_SIZE-1) * CELL_SIZE; + + x_square = x / CELL_SIZE; + y_square = y / CELL_SIZE; + +#ifdef DEBUG + printf("x coord = %f y coord = %f\n", x, y); + printf("x coord = %d y coord = %d\n", x_square, y_square); +#endif + + from = x_square + y_square * 10; + + return from; +} + +void clear_square (GnomeCanvasItem **square) +{ + gnome_canvas_item_set (*square, "outline_color", NULL, NULL); + *square = NULL; +} + +/*============================================================================== + * try_move + * + * Attempts to move a piece from one square to the next. If the piece successfully + * arrives to its destination, it returns TRUE. If the move is aborted, returns + * FALSE + */ +int try_move (Board *board, GnomeCanvasItem *item) +{ + double Lx, Uy, Rx, By; + double to_Lx, to_Uy; + int x, y; + int inc = 1; + int i,j; + + to_Lx = get_x_from_square(board->to); + to_Uy = get_y_from_square(board->to); + +#ifdef DEBUG + printf("We want the queen at coords %f, %f\n", to_Lx, to_Uy); +#endif + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); +#ifdef DEBUG + printf("The queen is at coords %f, %f\n", Lx, Uy); +#endif + while (Lx != to_Lx || Uy != to_Uy) + { + bstate_set_moving_piece(TRUE); + if (Lx < to_Lx) + x = inc; + else if (Lx > to_Lx) + x = -inc; + else + x = 0; + + if (Uy < to_Uy) + y = inc; + else if (Uy > to_Uy) + y = -inc; + else + y = 0; + + + gnome_canvas_item_move (item, (double)x, (double)y); + gnome_canvas_item_raise_to_top (item); + + //update the board + while (gtk_events_pending()) + gtk_main_iteration(); + + if (bstate_get_quit_game()) + exit(0); + + if (bstate_get_stop_moving()) + { + bstate_set_stop_moving(FALSE); + return FALSE; + } + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); + } + + gnome_canvas_item_raise_to_top (item); + bstate_set_moving_piece(FALSE); + //see where it landed + gnome_canvas_item_get_bounds(item, &Lx, &Uy, &Rx, &By); +#ifdef DEBUG + printf("The queen landed at coords %f, %f\n", Lx, Uy); + printf("this time the queen is on square %d\n", board->to); +#endif + return TRUE; +} + + +double get_x_from_square(int sq) +{ + double x; + + x = (double) ((sq % 10) * CELL_SIZE+QUEEN_OFFSET); + + return x; + +} + +double get_y_from_square(int sq) +{ + double y; + + y = (double) ((sq / 10) * CELL_SIZE+QUEEN_OFFSET); + + return y; + + +} + +int get_x_int_from_square(int sq) +{ + return(sq % 10); +} + +int get_y_int_from_square(int sq) +{ + return(sq / 10); +} + +int get_grid_num_from_square(int sq) +{ + return(10 - sq/10); +} + +char get_grid_alpha_from_square(int sq) +{ + return('a' + sq % 10); +} + +int engine_x_to_board_x(int eng_x) +{ + return(eng_x);//hey, these are the same, no conversion necessary +} + +int engine_y_to_board_y(int eng_y) +{ + return(9 - eng_y); +} + +int board_x_to_engine_x(int brd_x) +{ + return(brd_x); +} + +int board_y_to_engine_y(int brd_y) +{ + return(9 - brd_y); +} + +int get_square_from_engine(int x, int y) +{ + return((9 - y) * 10 + x); +} + + +void fire_arrow(Square sq) +{ + int x,y; + GdkPixbuf *arrow_sq; + GnomeCanvasItem *image; + GnomeCanvasGroup *root = GNOME_CANVAS_GROUP(gnome_canvas_root (GNOME_CANVAS (board->canvas))); + + x = sq % 10; + y = sq / 10; + + board->squares[y][x] = ARROW; + + arrow_sq = gdk_pixbuf_new_from_file(options.images.arrow_sq, NULL); + if (arrow_sq == NULL) + { + fprintf(stderr, "Cannot find arrow image: %s\n", options.images.arrow_sq); + exit(1); + } + + image = gnome_canvas_item_new (board->root, + gnome_canvas_pixbuf_get_type (), + "x", x*CELL_SIZE+QUEEN_OFFSET, "y", y*CELL_SIZE+QUEEN_OFFSET, + "width", CELL_SIZE, "height", CELL_SIZE, + "width_set", TRUE, "height_set", TRUE, + "pixbuf", arrow_sq, + NULL); + +} + +void square_contains(Square sq) +{ + int row, col; + + col = get_x_int_from_square(sq); + row = get_y_int_from_square(sq); + + if (board->squares[row][col] == NOTHING) + printf("Nothing is found at square %d\n", sq); + else if (board->squares[row][col] == WHITE) + printf("A White Queen is found at square %d\n", sq); + else if (board->squares[row][col] == BLACK) + printf("A Black Queen is found at square %d\n", sq); + else if (board->squares[row][col] == ARROW) + printf("An arrow is found at square %d\n", sq); + else + printf("Whoa, I don't know _what_ is on square %d\n", sq); +} + + +/*============================================================================== + * move_ai + * + * Checks to see if an AI oppenent is next to move. If it is, it starts the + * move process, and checks for a win afterwards. If not, it just checks for + * the win. Returns TRUE if an AI opponent moves next. False if human. + * + * NOTE: If you have 2 AI players, this function would just keep thinking and + * never let the board update or respond. So there are several checks to see + * if any new events occured that should be handled, or critical changes have + * been made (like starting a new game, etc..). If something critical has changed + * the function will exit after learning about it. + */ +int move_ai() +{ + state *s = states.s[states.current_state]; + move temp; + move movelist[3000]; + int ai = FALSE; + int current_hash; + //GtkWidget *auto_button, *force_button; + + current_hash = state_hash = create_hash(s); + + //It's sometimes necessary to know if we're in the middle of a move, because + //if an event causes another move to start and that event is processed and then + //this function finishes, it leaves the board in an unstable result + + //XXX This should call a function to disable certain event handling instead of + //just having a silly global variable. For instance, it could gray out the + //Auto Finish button so the user knows it's not going to do anything when he + //presses it. Perhaps the 'Force Move' button should be greyed out until the AI + //is thinking, or since Force Move & Auto Finish are mutually exclusive, it would + //be cool to have the button switch labels depending on the state of the game. + /* + moving_ai = TRUE; + auto_button = (GtkWidget *) lookup_widget(main_window, "BT_AUTOFINISH"); + force_button = (GtkWidget *) lookup_widget(main_window, "BT_FORCEMOVE"); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + */ + + + + + //quit this function if a 'New Game' option was selected since this + //function was started. + if (bstate_get_new_game()) + { + bstate_set_new_game(FALSE); + return FALSE; + } + + //gnome_canvas_item_request_update(board->canvas); + /* + if (((states.s[states.current_state]->turn == WHITE_PLAYER) && (options.white_player == AI)) || + ((states.s[states.current_state]->turn == BLACK_PLAYER) && (options.black_player == AI))) + { + what_next = WAIT_FOR_AI; + update_status_bar(); + */ + ok = 1; + ai = TRUE; + start = time(NULL); + temp = isearch(s, NOTHINK); + if (s->winner) //XXX does this if statement do any good? I thot winner was handled elsewhere + return FALSE; + makemove(s,temp); + + //update the board before drawing the new move + //the program would segfault if you closed it while it was thinking + while (gtk_events_pending()) + gtk_main_iteration(); + if (current_hash != state_hash) + return FALSE; + + if (bstate_get_new_game()) + { + bstate_set_new_game(FALSE); + return FALSE; + } + + if (bstate_get_quit_game()) + exit(0); + + + //register move on graphical board + if (move_piece(temp)) + { + print_move_in_text_window(&temp); + dup_state(s, states.s[++(states.current_state)]); + } + else + return FALSE; + /* + } + else + { +#ifdef DEBUG + printf("the AI doesn't move next:\n"); +#endif + } + */ + + /* + if (s->turn == WHITE_PLAYER) + what_next = MOVE_WHITE_QUEEN; + if (s->turn == BLACK_PLAYER) + what_next = MOVE_BLACK_QUEEN; + update_status_bar(); + */ + bstate_set_just_finished(WAIT_FOR_AI); + + +#ifdef DEBUG + if (options.white_player == AI) + printf("White is AI\n"); + if (options.black_player == AI) + printf("Black is AI\n"); + printf("Turn is %d\n", states.s[states.current_state]->turn ); +#endif + + if (game_over(movelist)) + { + //XXX should I set ai = FALSE? + ai = FALSE; + return (ai); + } + + + /* + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + moving_ai = FALSE; + */ + return ai; +} + +/*============================================================================== + * move_piece + * + * Takes a move struct generated by the engine, and extracts the necessary info + * to update the GUI data structs and have the GUI reflect the move. + * + * Returns FALSE if the move failed or aborted, TRUE if successful. + */ +int move_piece(move m) +{ + GnomeCanvasItem *item; + int from_row, from_col; + int to_row, to_col; + + board->to = get_square_from_engine(m.tocol, m.torow); + to_col = get_x_int_from_square(board->to); + to_row = get_y_int_from_square(board->to); + //Note: by the time the state gets here, it's signaled the other player's turn + //so if it says it's white's turn, black just moved and we need to move black's + //piece. + if (states.s[states.current_state]->turn == WHITE_PLAYER) + { + board->from = get_square_from_engine(states.s[states.current_state -1]->black_q_x[m.queen], + states.s[states.current_state -1]->black_q_y[m.queen]); + + board->squares[to_row][to_col] = BLACK; +#ifdef DEBUG + printf("Moving black queen\n"); +#endif + item = board->black_queens[m.queen]; + board->square_to_bl_queen_map[m.queen] = to_row*10 +to_col; + } + else + { + board->from = get_square_from_engine(states.s[states.current_state -1]->white_q_x[m.queen], + states.s[states.current_state -1]->white_q_y[m.queen]); + board->squares[to_row][to_col] = WHITE; +#ifdef DEBUG + printf("Moving white queen\n"); +#endif + item = board->white_queens[m.queen]; + board->square_to_wh_queen_map[m.queen] = to_row*10 +to_col; + } + + + from_col = get_x_int_from_square(board->from); + from_row = get_y_int_from_square(board->from); + board->squares[from_row][from_col] = NOTHING; + + if (try_move(board, item)) + fire_arrow(get_square_from_engine(m.wallcol, m.wallrow)); + else + return FALSE; +#ifdef DEBUG + printf("Engine coords for arrow: %d, %d\n", m.wallcol, m.wallrow); + printf("fired arrow to square %d\n", get_square_from_engine(m.wallcol, m.wallrow)); + pmove(m); +#endif + return TRUE; +} + +/*============================================================================== + * register_move_with_engine + * + * Fills out a move struct with the human's move and calls makemove() to update + * the state struct, so the AI engine knows what happened. + */ +void register_move_with_engine(Square arrow_sq) +{ + state *s = states.s[states.current_state]; + move m; + move movelist[3000]; + int move_count; + int i; + int tocol, torow; + int found = FALSE; + char move_str[32]; + char err_msg[256]; + + //find out the index of the queen that was just moved. + //weird things will happen if it's not found. + for (i=0; i<4; i++) + { + if (board->selected_queen == board->white_queens[i] || + board->selected_queen == board->black_queens[i]) + { + found = TRUE; + break; + } + } + + if (!found) + fprintf(stderr, "Error registering move w/ AI engine! Game play will now be weird.\n"); + + m.queen = i; + m.torow = board_y_to_engine_y(get_y_int_from_square(board->to)); + m.tocol = board_x_to_engine_x(get_x_int_from_square(board->to)); + + m.wallrow = board_y_to_engine_y(get_y_int_from_square(arrow_sq)); + m.wallcol = board_x_to_engine_x(get_x_int_from_square(arrow_sq)); + + //make sure it's a valid move + move_count = children(s, movelist); + if (move_count == 0) + { + gnome_error_dialog("The AI engine thinks the game is over. Please use the menu item Game->New to start a new game"); + return; + } + if (!move_lookup(&m, movelist, move_count)) + { + get_move_str(&m, move_str); + strcpy(err_msg, "You've hit a bug. The following illegal move was just attempted: "); + strcat(err_msg, move_str); + gnome_error_dialog(err_msg); + return; + } + + makemove(s, m); + print_move_in_text_window(&m); + +} + +/*============================================================================== + * is_queen_square + * + * Compares the given square with the information stored in board->squares[][] + * to see if a queen is there. + */ +int is_queen_square(Square sq) +{ + int row, col; + + col = get_x_int_from_square(sq); + row = get_y_int_from_square(sq); + + if ((board->squares[row][col] == BLACK) || + (board->squares[row][col] == WHITE)) + return TRUE; + else + return FALSE; +} + + +/*============================================================================== + * gen_legal_moves + * + * Given a square, this generates an array of all legal moves that can be made + * from it. This works for both queen movement, as well as firing an arrow, + * since both move the same way. + * + * The array terminator is 100 + */ +void gen_legal_moves(Square sq) +{ + int arr_i = 0; + int i; + int row, col, sq_row, sq_col; + int scanning; + + sq_col = get_x_int_from_square(sq); + sq_row = get_y_int_from_square(sq); + + //make sure the player can drop the piece on the same square if he changes + //his mind + legal_moves[arr_i++] = sq; + + //get vertical moves + row = sq_row + 1; + col = sq_col; + while (board->squares[row][col] == NOTHING && row < 10) + { + legal_moves[arr_i++] = (row*10) + col; + row++; + } + + row = sq_row - 1; + while (board->squares[row][col] == NOTHING && row >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + row--; + } + + //get horizontal moves + row = sq_row; + col = sq_col + 1; + while (board->squares[row][col] == NOTHING && col < 10) + { + legal_moves[arr_i++] = (row*10) + col; + col++; + } + + col = sq_col - 1; + while (board->squares[row][col] == NOTHING && col >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + col--; + } + + //get forward diagonal moves + row = sq_row + 1; + col = sq_col + 1; + while (board->squares[row][col] == NOTHING && col < 10 && row < 10) + { + legal_moves[arr_i++] = (row*10) + col; + col++; + row++; + } + + row = sq_row - 1; + col = sq_col - 1; + while (board->squares[row][col] == NOTHING && col >= 0 && row >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + col--; + row--; + } + + //get backward diagonal moves + row = sq_row + 1; + col = sq_col - 1; + while (board->squares[row][col] == NOTHING && col >= 0 && row < 10) + { + legal_moves[arr_i++] = (row*10) + col; + col--; + row++; + } + + row = sq_row - 1; + col = sq_col + 1; + while (board->squares[row][col] == NOTHING && col < 10 && row >= 0) + { + legal_moves[arr_i++] = (row*10) + col; + col++; + row--; + } + + + legal_moves[arr_i] = 100; +#ifdef DEBUG + printf("legal move list for %d of length %d: \n", sq, arr_i); + i = 0; + while (legal_moves[i] < 100) + printf(" %d", legal_moves[i++]); + printf("\n"); +#endif + +} + +/*============================================================================== + * is_move_legal + * + * Looks up the given square in the current legal_moves array. If it doesn't + * exist, it's not a legal move and returns FALSE. Returns TRUE if it is there. + */ +int is_move_legal(Square sq) +{ + int i=0; + +#ifdef DEBUG + printf("checking to see if a move is legal\n"); +#endif + while (legal_moves[i] < 100) + { + if (sq == legal_moves[i++]) + { +#ifdef DEBUG + printf("%d is a legal move\n", sq); +#endif + return TRUE; + } + } + +#ifdef DEBUG + printf("Can't move to square. Legal moves are: %d\n", sq); + i=0; + while (legal_moves[i] < 100) + printf(" %d", legal_moves[i++]); + printf("\n"); +#endif + return FALSE; +} + +/*============================================================================== + * count_queens + * + * DEBUG - counts the number of queens on the GUI representation and prints + * out a bunch of XXXX's whenever there are not 4 of both kinds. + */ +void count_queens() +{ + int black=0, white=0; + int i,j; + + for(i=0; i<10; i++) + { + for(j=0; j<10; j++) + { + if (board->squares[i][j] == WHITE) + white++; + if (board->squares[i][j] == BLACK) + black++; + } + } + if (black > 4) + printf("YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY Gained a black queen\n"); + if (white > 4) + printf("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Gained a white queen\n"); + if (black < 4) + printf("XYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXXYXYX Lost a black queen\n"); + if (white < 4) + printf("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ Lost a white queen\n"); +} + + + +/*============================================================================== + * free_all_memory + * + * When a new game is started, we want to free all the memory we've allocated + * so we can start all over without leaking all the memory. + */ +void free_all_memory() +{ + int i; + + //free states + for (i=0; i< states.max_state; i++) + free (states.s[i]); + + //Oh, this is ugly! Do I really want to do this? + /* + if(tt) + { + for (i=0; iwhite_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + return( (board_u ^ board_l) % TT); +} + + +/*============================================================================== + * game_over + * + * Checks to see if the game is over and generates a pop-up stating who the + * winner is. Returns TRUE if the game is over. + */ +int game_over(move *movelist) +{ + state *s = states.s[states.current_state]; +// GtkWidget *auto_button, *force_button; + + if (children(s, movelist) == 0) + { + //printf("player %d wins!\n", s->turn^3); + s->winner = s->turn^3; + if (s->winner == BLACK) + gnome_ok_dialog("White wins!"); + else + gnome_ok_dialog("Black wins!"); + + bstate_set_just_finished(GAME_OVER); + + /* + auto_button = (GtkWidget *) lookup_widget(main_window, "BT_AUTOFINISH"); + force_button = (GtkWidget *) lookup_widget(main_window, "BT_FORCEMOVE"); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, FALSE); + */ + + return TRUE; + } + else + return FALSE; + +} + +/*============================================================================== + * update_status_bar + * + * Updates the status bar based on the current value of what_next + */ +update_status_bar() +{ + GtkStatusbar *status = (GtkStatusbar *) lookup_widget(main_window, "statusbar1"); + guint context_id = bstate_get_what_next(); + + gtk_statusbar_pop(status, context_id); + + switch (bstate_get_what_next()) + { + case FIRE_ARROW: + gtk_statusbar_push(status, context_id, "Fire Arrow"); + break; + case MOVE_BLACK_QUEEN: + gtk_statusbar_push(status, context_id, "Move Black Amazon"); + break; + case MOVE_WHITE_QUEEN: + gtk_statusbar_push(status, context_id, "Move White Amazon"); + break; + case WAIT_FOR_AI: + gtk_statusbar_push(status, context_id, "AI is thinking..."); + break; + case NEW_GAME: + gtk_statusbar_push(status, context_id, "Select Game->New to start game"); + break; + default: + gtk_statusbar_push(status, context_id, "I have no idea what to do next!"); + + } + +} + +/*============================================================================== + * print_board + * + * prints out an ascii version of the board, useful for ensuring the board shows + * what it should show. + */ +void print_board() +{ + int i,j; + + for (i=0; isquares[i][j] == 0) + printf(" 0"); + if (board->squares[i][j] == 1) + printf(" B"); + if (board->squares[i][j] == 2) + printf(" W"); + if (board->squares[i][j] == 3) + printf(" x"); + } + printf("\n"); + } +} + +/*============================================================================== + * destroy_board + * + * Destroys the main board canvas group which contains all the square and piece + * images, and takes them with it. Once done, it creates a new group that + * draw_board() can take advantage of. + */ +void destroy_board() +{ + int i; + GtkWidget *CNVS_GAMEBOARD, *w, *scrolledwindow4, *table1; + + +#ifdef DEBUG + printf("Destroying board now\n"); +#endif + + + gtk_object_destroy(GTK_OBJECT(board->root)); + board->root = GNOME_CANVAS_GROUP(gnome_canvas_item_new(gnome_canvas_root(board->canvas), + gnome_canvas_group_get_type(), + NULL)); +} + +/*============================================================================== + * print_move_in_text_window + * + * Prints the given move in official amazon notation. The move struct doesn't + * contain 'from' information, so that must be retrieved from the previous state + */ +void print_move_in_text_window(move *m) +{ + GtkTextView *view; + GtkTextBuffer *buffer; + GtkTextIter *iter = (GtkTextIter *) malloc(sizeof(GtkTextIter)); + char string_buf[32]; + GtkScrolledWindow *w; + GtkAdjustment *adj; + + view = (GtkTextView *) lookup_widget(main_window, "textview1"); + buffer = gtk_text_view_get_buffer (view); + gtk_text_buffer_get_end_iter(buffer, iter); + + get_move_str(m, string_buf); + +#ifdef DEBUG + printf("%s", string_buf); +#endif + gtk_text_buffer_insert(buffer, iter, string_buf, -1); + + w = (GtkScrolledWindow *) lookup_widget(main_window, "scrolledwindow6"); + adj = gtk_scrolled_window_get_vadjustment(w); + gtk_adjustment_set_value(adj, adj->upper); + gtk_scrolled_window_set_vadjustment(w, adj); + + + free (iter); +} + +/*============================================================================== + * get_move_str + * + * Creates a move string from a move struct + */ +void get_move_str(move *m, char move_str[]) +{ + Square to_sq, from_sq, arrow_sq; + int to_num, from_num, arrow_num; + char to_alpha, from_alpha, arrow_alpha; + int state_i = states.current_state; + int turn; + + //Determine which side just moved: + turn = states.s[state_i]->turn^3; + if (turn == WHITE_PLAYER) + { + from_sq = get_square_from_engine(states.s[state_i-1]->white_q_x[m->queen], + states.s[state_i-1]->white_q_y[m->queen]); + } + else + { + from_sq = get_square_from_engine(states.s[state_i-1]->black_q_x[m->queen], + states.s[state_i-1]->black_q_y[m->queen]); + } + to_sq = get_square_from_engine(m->tocol, m->torow); + arrow_sq = get_square_from_engine(m->wallcol, m->wallrow); + + + + from_alpha = get_grid_alpha_from_square(from_sq); + from_num = get_grid_num_from_square(from_sq); + + to_alpha = get_grid_alpha_from_square(to_sq); + to_num = get_grid_num_from_square(to_sq); + + arrow_alpha = get_grid_alpha_from_square(arrow_sq); + arrow_num = get_grid_num_from_square(arrow_sq); + + sprintf(move_str, "%d. %c%d-%c%d, %c%d\n", state_i, from_alpha, from_num, + to_alpha, to_num, arrow_alpha, arrow_num); +} + + + +/*============================================================================== + * bstate_set_just_finished + * + * tells the internal state machine what state was just finished. It then + * figures out from that what the next state should be. This is designed to + * eliminate the redundant code scattered all around that tries to figure + * this out. + */ +int bstate_set_just_finished(int finished) +{ + GtkWidget *auto_button, *force_button, *undo_button, *settings_menu; + + auto_button = (GtkWidget *) lookup_widget(main_window, "BT_AUTOFINISH"); + force_button = (GtkWidget *) lookup_widget(main_window, "BT_FORCEMOVE"); + undo_button = (GtkWidget *) lookup_widget(main_window, "BT_UNDO"); + settings_menu = (GtkWidget *) lookup_widget(main_window, "Settings"); + + switch(finished) + { + case FIRE_ARROW: + if (bstate.turn == BLACK_PLAYER) + { + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = WHITE_PLAYER; + } + else + { + if (options.black_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = BLACK_PLAYER; + } + gtk_widget_set_sensitive (settings_menu, TRUE); + break; + case MOVE_BLACK_QUEEN: + bstate.what_next = FIRE_ARROW; + gtk_widget_set_sensitive (undo_button, TRUE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (settings_menu, FALSE); + break; + case MOVE_WHITE_QUEEN: + bstate.what_next = FIRE_ARROW; + gtk_widget_set_sensitive (undo_button, TRUE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (settings_menu, FALSE); + break; + case WAIT_FOR_AI: + if (bstate.turn == BLACK_PLAYER) + { + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = WHITE_PLAYER; + } + else + { + if (options.black_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = BLACK_PLAYER; + } + break; + case UNDO: + if (bstate.turn == BLACK_PLAYER) + { + bstate.what_next = MOVE_BLACK_QUEEN; + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + } + gtk_widget_set_sensitive (settings_menu, TRUE); + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + break; + case AUTO_FINISH: + bstate.what_next = WAIT_FOR_AI; + gtk_widget_set_sensitive (settings_menu, FALSE); + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + break; + case FORCE_MOVE: + gtk_widget_set_sensitive (force_button, FALSE); + break; + case START_GAME: + if (options.white_player == AI) + { + bstate.what_next = NEW_GAME; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, FALSE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + gtk_widget_set_sensitive (settings_menu, TRUE); + bstate.turn = WHITE_PLAYER; + bstate.from = INVALID_SQUARE_VALUE; + bstate.to = INVALID_SQUARE_VALUE; + bstate.last_arrow = INVALID_SQUARE_VALUE; + bstate.moving_ai = FALSE; + bstate.open_dialog = FALSE; + bstate.new_game = FALSE; + bstate.quit_game = FALSE; + break; + case NEW_GAME: + if (bstate.moving_ai) //in the middle of an AI move + bstate.new_game = TRUE; + else + bstate.new_game = FALSE; + + if (bstate.moving_piece) + bstate.stop_moving = TRUE; + + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + gtk_widget_set_sensitive (settings_menu, TRUE); + bstate.turn = WHITE_PLAYER; + bstate.from = INVALID_SQUARE_VALUE; + bstate.to = INVALID_SQUARE_VALUE; + bstate.last_arrow = INVALID_SQUARE_VALUE; + bstate.quit_game = FALSE; + + break; + + case LOAD_GAME: + break; + case GAME_OVER: + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, FALSE); + gtk_widget_set_sensitive (settings_menu, TRUE); + bstate.what_next = NEW_GAME; + break; + + case QUIT_GAME: + bstate.quit_game = TRUE; + break; + default: + bstate.what_next = CONFUSED; + } + update_status_bar(); +#ifdef DEBUG + print_bstate(); +#endif + return bstate.what_next; + +} + +/*============================================================================== + * bstate_store_what_next + * + * This initializes the internal board state machine. Use of this is discouraged + * and should instead use bstate_set_just_finished. +void bstate_store_what_next(int next) +{ + switch(next) + { + case FIRE_ARROW: + bstate.what_next = FIRE_ARROW; + break; + case MOVE_BLACK_QUEEN: + if (options.black_player == AI) + bstate.what_next = WAIT_FOR_AI; + else + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.turn = BLACK_PLAYER; + break; + case MOVE_WHITE_QUEEN: + if (options.white_player == AI) + bstate.what_next = WAIT_FOR_AI; + else + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.turn = WHITE_PLAYER; + break; + case WAIT_FOR_AI: + bstate.what_next = WAIT_FOR_AI; + break; + default: + bstate.what_next = CONFUSED; + } + update_status_bar(); +} + */ + +/*============================================================================== + * bstate_get_what_next + * + * This is the method for code throughout the program to find out what input + * is expected next. + */ +int bstate_get_what_next() +{ + return bstate.what_next; +} + +/*============================================================================== + * bstate_set_move_from + * + * This lets the internal board state know that a queen has just been moved from + * a given square. + */ +void bstate_set_move_from(Square from) +{ + bstate.from = from; +} + +/*============================================================================== + * bstate_set_move_from + * + * This lets the internal board state know that a queen has just been moved to + * a given square. + */ +void bstate_set_move_to(Square to) +{ + bstate.to = to; +} + +/*============================================================================== + * bstate_get_move_from + * + * This lets the internal board state know that a queen has just been moved from + * a given square. + */ +Square bstate_get_move_from() +{ + return bstate.from; +} + +/*============================================================================== + * bstate_get_move_from + * + * This lets the internal board state know that a queen has just been moved to + * a given square. + */ +Square bstate_get_move_to() +{ + return bstate.to; +} + +int bstate_get_moving_ai() +{ + return bstate.moving_ai; +} +/* +void bstate_set_moving_ai(int moving) +{ + bstate.moving_ai = moving; +} +*/ +int bstate_get_new_game() +{ + return bstate.new_game; +} +void bstate_set_new_game(int new_game) +{ + bstate.new_game = new_game; +} + +void bstate_set_moving_piece(int moving) +{ + bstate.moving_piece = moving; +} +int bstate_get_moving_piece() +{ + return bstate.moving_piece; +} + +int bstate_get_turn() +{ + return bstate.turn; +} + +int bstate_get_open_dialog() +{ + return bstate.open_dialog; +} + +void bstate_set_open_dialog(int dialog) +{ + bstate.open_dialog = dialog; +} + +void bstate_update_player_settings() +{ + if (bstate.turn == WHITE_PLAYER && options.white_player == HUMAN) + bstate.what_next = MOVE_WHITE_QUEEN; + if (bstate.turn == BLACK_PLAYER && options.black_player == HUMAN) + bstate.what_next = MOVE_BLACK_QUEEN; + + if (bstate.what_next == NEW_GAME) + return; + + if (bstate.turn == WHITE_PLAYER && options.white_player == AI) + bstate.what_next = WAIT_FOR_AI; + if (bstate.turn == BLACK_PLAYER && options.black_player == AI) + bstate.what_next = WAIT_FOR_AI; + update_status_bar(); + +} + +int bstate_get_quit_game() +{ + return bstate.quit_game; +} + +int bstate_get_stop_moving() +{ + return bstate.stop_moving; +} + +void bstate_set_stop_moving(int stop_moving) +{ + bstate.stop_moving = stop_moving; +} + + +void print_bstate() +{ + printf("turn = %d\n", bstate.turn); + printf("what_next = %d\n", bstate.what_next); + printf("moving_ai = %d\n", bstate.moving_ai); + printf("new_game = %d\n", bstate.new_game); +} + + + +int read_in_moves(FILE *history_fd) +{ + char *buffer=NULL; + size_t buf_size = 30; + + printf("History contents:\n"); + while (getline(&buffer, &buf_size, history_fd) != -1) + { + if (buffer != NULL) + printf("%s", buffer); + free(buffer); + buffer = NULL; + } + + + return TRUE; + +} + diff --git a/src/board.h b/src/board.h new file mode 100644 index 0000000..b16d921 --- /dev/null +++ b/src/board.h @@ -0,0 +1,136 @@ +/* Definitions */ + +/* Widget Names */ +#define BOARD_NAME "CNVS_GAMEBOARD" + +/* the board size */ +#define BOARD_SIZE 10 +/* border around the board itself */ +#define BOARD_BORDER 0 +/* cell size on the board */ +#define CELL_SIZE 40.0 +/* cell padding */ +#define CELL_PAD 6.0 +/* square colors */ +#define SQUARE_COLOR_1 "white" +#define SQUARE_COLOR_2 "grey" + +#define THICKNESS 1.0 +#define QUEEN_OFFSET 0 + +#define INVALID_SQUARE_VALUE 101 + +/* Data structures */ +typedef gushort Square; +typedef gchar Piece; + + +struct amazon_board { + + // Gnome canvas counts coordinates w/ origin starting in top/left corner + Square squares[BOARD_SIZE][BOARD_SIZE]; + //These are really meant for temporary processing, and might not contain + //safe values. They are currently candidates for downsizing. + //Square from; + //Square to; + + /* The AI engine queens were managed in an array w/ elements 0-3 + * this mapping is meant to keep track of which queen is on which + * square + */ + Square square_to_wh_queen_map[4]; + Square square_to_bl_queen_map[4]; + + GnomeCanvasItem *selected_queen; + GnomeCanvasItem *white_queens[4]; + GnomeCanvasItem *black_queens[4]; + + double orig_x; + double orig_y; + double curr_x; + double curr_y; + + char db[120]; + GnomeCanvasItem *square_items[100]; + GnomeCanvasGroup *root; + GnomeCanvas *canvas; + + +}; +typedef struct amazon_board Board; + + +/* Possible square occupants */ +enum { + NOTHING, + BLACK, + WHITE, + ARROW +}; + +//GUI states +enum { + FIRE_ARROW, + MOVE_BLACK_QUEEN, + MOVE_WHITE_QUEEN, + WAIT_FOR_AI, + UNDO, + AUTO_FINISH, + FORCE_MOVE, + START_GAME, + NEW_GAME, + LOAD_GAME, + START_REPLAY, + STOP_REPLAY, + GAME_OVER, + QUIT_GAME, + CONFUSED +}; + +/* Prototypes */ + +void init_game_board(GtkWidget *GamazonsMain); +void draw_board(); +void mark_square (GnomeCanvasItem *square); + + +Square get_square (double x, double y); +void clear_square (GnomeCanvasItem **square); +//void try_move (Board *board, GnomeCanvasItem *item); +void move_piece_to (Square to, GnomeCanvasItem *item); + +void move_piece(move m); +int move_ai(); +void register_move_with_engine(Square arrow_sq); +void gen_legal_moves(Square sq); +int is_move_legal(Square sq); +int is_queen_square(Square sq); +void free_all_memory(); +int create_hash(state *s); +void print_board(); +void destroy_board(); +void print_move_in_text_window(move *m); +int read_in_moves(FILE *history_fd); +void get_move_str(move *m, char move_str[]); +int get_move_from_str(move *m, char move_str[]); +void rest(int duration); + + +// Coordinate conversion routines +double get_x_from_square(int sq); +double get_y_from_square(int sq); +int get_x_int_from_square(int sq); +int get_y_int_from_square(int sq); +int engine_x_to_board_x(int eng_x); +int engine_y_to_board_y(int eng_y); +int board_x_to_engine_x(int brd_x); +int board_y_to_engine_y(int brd_y); +int get_square_from_engine(int x, int y); + + +void fire_arrow(Square sq); +void square_contains(Square sq); +void count_queens(); +int game_over(); + + diff --git a/src/bstate.c b/src/bstate.c new file mode 100644 index 0000000..4450e41 --- /dev/null +++ b/src/bstate.c @@ -0,0 +1,569 @@ +#include +#include "amazons.h" +#include "board.h" +#include "bstate.h" + +static Board_State bstate; +extern struct game_states states; +extern struct options options; +extern GtkWidget *main_window; + + +/*============================================================================== + * bstate_set_just_finished + * + * tells the internal state machine what state was just finished. It then + * figures out from that what the next state should be. This is designed to + * eliminate the redundant code scattered all around that tries to figure + * this out. + */ +int bstate_set_just_finished(int finished) +{ + GtkWidget *auto_button, *force_button, *undo_button, *settings_menu, *stop_button, *delay_spinner; + state *s; + auto_button = (GtkWidget *) lookup_widget(main_window, "BT_AUTOFINISH"); + force_button = (GtkWidget *) lookup_widget(main_window, "BT_FORCEMOVE"); + undo_button = (GtkWidget *) lookup_widget(main_window, "BT_UNDO"); + settings_menu = (GtkWidget *) lookup_widget(main_window, "Settings"); + stop_button = (GtkWidget *) lookup_widget(main_window, "BT_REPLAY_STOP"); + delay_spinner = (GtkWidget *) lookup_widget(main_window, "ReplayDelaySpinner"); + + + switch(finished) + { + case FIRE_ARROW: + if (bstate.turn == BLACK_PLAYER) + { + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = WHITE_PLAYER; + } + else + { + if (options.black_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = BLACK_PLAYER; + } + gtk_widget_set_sensitive (settings_menu, TRUE); + break; + case MOVE_BLACK_QUEEN: + bstate.what_next = FIRE_ARROW; + gtk_widget_set_sensitive (undo_button, TRUE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (settings_menu, FALSE); + break; + case MOVE_WHITE_QUEEN: + bstate.what_next = FIRE_ARROW; + gtk_widget_set_sensitive (undo_button, TRUE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (settings_menu, FALSE); + break; + case WAIT_FOR_AI: + if (bstate.turn == BLACK_PLAYER) + { + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = WHITE_PLAYER; + } + else + { + if (options.black_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + bstate.turn = BLACK_PLAYER; + } + break; + case UNDO: + if (bstate.turn == BLACK_PLAYER) + { + bstate.what_next = MOVE_BLACK_QUEEN; + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + } + gtk_widget_set_sensitive (settings_menu, TRUE); + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + break; + case AUTO_FINISH: + bstate.what_next = WAIT_FOR_AI; + gtk_widget_set_sensitive (settings_menu, FALSE); + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + break; + case FORCE_MOVE: + gtk_widget_set_sensitive (force_button, FALSE); + break; + case START_GAME: + if (options.white_player == AI) + { + bstate.what_next = NEW_GAME; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, FALSE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + gtk_widget_set_sensitive (stop_button, FALSE); + gtk_widget_set_sensitive (delay_spinner, FALSE); + gtk_widget_set_sensitive (settings_menu, TRUE); + bstate.turn = WHITE_PLAYER; + bstate.from = INVALID_SQUARE_VALUE; + bstate.to = INVALID_SQUARE_VALUE; + bstate.last_arrow = INVALID_SQUARE_VALUE; + bstate.moving_ai = FALSE; + bstate.open_dialog = FALSE; + //bstate.new_game = FALSE; + bstate.quit_game = FALSE; + bstate.game_life++; + break; + case NEW_GAME: + /* + if (bstate.moving_ai) //in the middle of an AI move + bstate.new_game = TRUE; + else + bstate.new_game = FALSE; + */ + + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + gtk_widget_set_sensitive (settings_menu, TRUE); + gtk_widget_set_sensitive (stop_button, FALSE); + gtk_widget_set_sensitive (delay_spinner, FALSE); + bstate.turn = WHITE_PLAYER; + bstate.from = INVALID_SQUARE_VALUE; + bstate.to = INVALID_SQUARE_VALUE; + bstate.last_arrow = INVALID_SQUARE_VALUE; + bstate.quit_game = FALSE; + bstate.replay_mode = FALSE; + bstate.game_life++; + + break; + + case LOAD_GAME: + s = states.s[states.current_state]; + bstate.turn = s->turn; + if (bstate.turn == WHITE_PLAYER) + { + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + } + else + { + if (options.black_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + } + gtk_widget_set_sensitive (settings_menu, TRUE); + gtk_widget_set_sensitive (stop_button, FALSE); + gtk_widget_set_sensitive (delay_spinner, FALSE); + bstate.replay_mode = FALSE; + bstate.game_life++; + game_over(); //check if the game is already over + break; + case START_REPLAY: + gtk_widget_set_sensitive (stop_button, TRUE); + gtk_widget_set_sensitive (delay_spinner, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (settings_menu, FALSE); + bstate.what_next = STOP_REPLAY; + bstate.replay_mode = TRUE; + bstate.game_life++; + + break; + case STOP_REPLAY: + gtk_widget_set_sensitive (stop_button, FALSE); + gtk_widget_set_sensitive (delay_spinner, FALSE); + bstate.replay_mode = FALSE; + + s = states.s[states.current_state]; + bstate.turn = s->turn; + if (bstate.turn == WHITE_PLAYER) + { + if (options.white_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + } + else + { + if (options.black_player == AI) + { + bstate.what_next = WAIT_FOR_AI; + bstate.moving_ai = TRUE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, TRUE); + } + else + { + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.moving_ai = FALSE; + + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, TRUE); + gtk_widget_set_sensitive (force_button, FALSE); + } + } + gtk_widget_set_sensitive (settings_menu, TRUE); + game_over(); //check if the game is already over + + break; + case GAME_OVER: + gtk_widget_set_sensitive (undo_button, FALSE); + gtk_widget_set_sensitive (auto_button, FALSE); + gtk_widget_set_sensitive (force_button, FALSE); + gtk_widget_set_sensitive (settings_menu, TRUE); + bstate.what_next = NEW_GAME; + bstate.game_life++; + break; + + case QUIT_GAME: + bstate.quit_game = TRUE; + bstate.game_life++; + break; + default: + bstate.what_next = CONFUSED; + } + update_status_bar(); +#ifdef DEBUG + print_bstate(); +#endif + return bstate.what_next; + +} + +/*============================================================================== + * bstate_store_what_next + * + * This initializes the internal board state machine. Use of this is discouraged + * and should instead use bstate_set_just_finished. +void bstate_store_what_next(int next) +{ + switch(next) + { + case FIRE_ARROW: + bstate.what_next = FIRE_ARROW; + break; + case MOVE_BLACK_QUEEN: + if (options.black_player == AI) + bstate.what_next = WAIT_FOR_AI; + else + bstate.what_next = MOVE_BLACK_QUEEN; + bstate.turn = BLACK_PLAYER; + break; + case MOVE_WHITE_QUEEN: + if (options.white_player == AI) + bstate.what_next = WAIT_FOR_AI; + else + bstate.what_next = MOVE_WHITE_QUEEN; + bstate.turn = WHITE_PLAYER; + break; + case WAIT_FOR_AI: + bstate.what_next = WAIT_FOR_AI; + break; + default: + bstate.what_next = CONFUSED; + } + update_status_bar(); +} + */ + +/*============================================================================== + * bstate_get_what_next + * + * This is the method for code throughout the program to find out what input + * is expected next. + */ +int bstate_get_what_next() +{ + return bstate.what_next; +} + +/*============================================================================== + * bstate_set_move_from + * + * This lets the internal board state know that a queen has just been moved from + * a given square. + */ +void bstate_set_move_from(Square from) +{ + bstate.from = from; +} + +/*============================================================================== + * bstate_set_move_from + * + * This lets the internal board state know that a queen has just been moved to + * a given square. + */ +void bstate_set_move_to(Square to) +{ + bstate.to = to; +} + +/*============================================================================== + * bstate_get_move_from + * + * This lets the internal board state know that a queen has just been moved from + * a given square. + */ +Square bstate_get_move_from() +{ + return bstate.from; +} + +/*============================================================================== + * bstate_get_move_from + * + * This lets the internal board state know that a queen has just been moved to + * a given square. + */ +Square bstate_get_move_to() +{ + return bstate.to; +} + +int bstate_get_moving_ai() +{ + return bstate.moving_ai; +} +/* +void bstate_set_moving_ai(int moving) +{ + bstate.moving_ai = moving; +} +*/ +/* +int bstate_get_new_game() +{ + return bstate.new_game; +} +void bstate_set_new_game(int new_game) +{ + bstate.new_game = new_game; +} +*/ + +void bstate_set_moving_piece(int moving) +{ + bstate.moving_piece = moving; +} +int bstate_get_moving_piece() +{ + return bstate.moving_piece; +} + +int bstate_get_turn() +{ + return bstate.turn; +} + +int bstate_get_open_dialog() +{ + return bstate.open_dialog; +} + +void bstate_set_open_dialog(int dialog) +{ + bstate.open_dialog = dialog; +} + +void bstate_set_dont_slide(int slide) +{ + bstate.dont_slide = slide; +} + +int bstate_get_dont_slide() +{ + return bstate.dont_slide; +} + +int bstate_get_game_life() +{ + return bstate.game_life; +} + +int bstate_get_replay_mode() +{ + return bstate.replay_mode; +} + +void bstate_set_replay_mode(int mode) +{ + bstate.replay_mode = mode; +} + +/*============================================================================== + * bstate_update_player_settings + * + * After the player settings window closes, the game state must be updated to + * reflect those changes. However, if we're waiting for a NEW_GAME to come, we + * don't do anything. Unfortunately, this means that if, when the game starts + * and an AI is expected to move, and the user changes this player to HUMAN, the + * user can't just go ahead and start moving that piece. He must still select a + * new game from the menu. However, this does prevent weird things from happening + * if, after a game is finished and we're again waiting for NEW_GAME and the losing + * player is changed. + */ +void bstate_update_player_settings() +{ + if (bstate.what_next == NEW_GAME) + return; + + if (bstate.turn == WHITE_PLAYER && options.white_player == HUMAN) + bstate.what_next = MOVE_WHITE_QUEEN; + if (bstate.turn == BLACK_PLAYER && options.black_player == HUMAN) + bstate.what_next = MOVE_BLACK_QUEEN; + + if (bstate.turn == WHITE_PLAYER && options.white_player == AI) + bstate.what_next = WAIT_FOR_AI; + if (bstate.turn == BLACK_PLAYER && options.black_player == AI) + bstate.what_next = WAIT_FOR_AI; + update_status_bar(); + +} + +int bstate_get_quit_game() +{ + return bstate.quit_game; +} + + +void print_bstate() +{ + printf("turn = %d\n", bstate.turn); + printf("what_next = %d\n", bstate.what_next); + printf("moving_ai = %d\n", bstate.moving_ai); +} + diff --git a/src/bstate.h b/src/bstate.h new file mode 100644 index 0000000..1015274 --- /dev/null +++ b/src/bstate.h @@ -0,0 +1,48 @@ +struct board_state { + int turn; //Who's turn it is + int what_next; //What's expected to happen next + int moving_ai; //TRUE if AI is moving + int moving_piece; //TRUE if a game piece is sliding + int new_game; //TRUE if a new game has been started + int open_dialog; //TRUE if a dialog window has been opened + int quit_game; //TRUE if the game has been quit + int dont_slide; //TRUE if game pieces shouldn't slide on board + int game_life; //Each game has a number. At critical points in the + //program, it can check if this number has changed. If + //so, it's a different game and the prev version should end + int replay_mode; //TRUE when a game is being replayed + Square from; + Square to; + Square last_arrow; +}; +typedef struct board_state Board_State; + + +/* Prototypes */ + +int bstate_set_just_finished(int finished); +//void bstate_store_what_next(int next); +int bstate_get_what_next(); +void bstate_set_move_from(Square from); +void bstate_set_move_to(Square to); +Square bstate_get_move_from(); +Square bstate_get_move_to(); + +int bstate_get_moving_ai(); +//void bstate_set_moving_ai(int moving); +int bstate_get_new_game(); +void bstate_set_new_game(int new_game); +int bstate_get_moving_piece(); +void bstate_set_moving_piece(int moving); +void bstate_update_player_settings(); +int bstate_get_turn(); +int bstate_get_open_dialog(); +void bstate_set_open_dialog(int dialog); +int bstate_get_quit_game(); +void bstate_set_dont_slide(int slide); +int bstate_get_dont_slide(); +int bstate_get_game_life(); +void bstate_set_replay_mode(int mode); +int bstate_get_replay_mode(); +void print_bstate(); + diff --git a/src/bugs b/src/bugs new file mode 100644 index 0000000..65664d9 --- /dev/null +++ b/src/bugs @@ -0,0 +1,3 @@ +gui board representation added an extra white queen, making it impossible for me to move or fire to that square. + +When the AI wins against a human, the AI doesn't know the game is over, because it doesn't check until after a human goes. Maybe have the AI check possible opponents moves and if there aren't any, it wins. diff --git a/src/callbacks.c b/src/callbacks.c new file mode 100644 index 0000000..df046b1 --- /dev/null +++ b/src/callbacks.c @@ -0,0 +1,1074 @@ +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include + +#include "callbacks.h" +#include "interface.h" +#include "support.h" +#include "amazons.h" +#include "board.h" +#include "bstate.h" + +extern Board *board; +extern struct options options; +extern struct game_states states; +extern Square legal_moves[100]; +extern int ok; +extern GtkWidget *main_window; +extern state_hash; +int grabbed_queen; +GtkWidget *PlayerSettingsWindow; +extern int moving_ai; + +GtkWidget *file_selector; +gchar *selected_filename; + +/* Local Prototypes */ +void load_new_theme (GtkFileSelection *selector, gpointer user_data); +void save_game_history(GtkFileSelection *selector, gpointer user_data); +void on_ThemeCancelButton_clicked(GtkButton *button, gpointer user_data); +void on_save_as1CancelButton_clicked(GtkButton *button, gpointer user_data); +void on_OpenCancelButton_clicked(GtkButton *button, gpointer user_data); +void load_saved_game(GtkFileSelection *selector, gpointer user_data); + + +void +on_new1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + /* + if (bstate_get_moving_piece()) + { + gnome_warning_dialog("Unable to start a new game while a piece is being moved. Please try again."); + return; + } + */ + free_all_memory(); + init_engine(); + destroy_board(); + init_game_board(main_window); + load_values_from_file(); + + bstate_set_just_finished(NEW_GAME); + while (bstate_get_what_next() == WAIT_FOR_AI) + move_ai(); //if both players are AI, keeps on running +} + + + + +void +on_quit1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + + state_hash = 0; + bstate_set_just_finished(QUIT_GAME); + gtk_main_quit(); + +} + + + +void +on_clear1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_preferences1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_about1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + static GtkWidget *about; + GdkPixbuf *pixbuf = NULL; + + const gchar *authors[] = {"Ron Yorgason", "Sean McMillen", NULL}; + gchar *documenters[] = { + NULL + }; + /* Translator credits */ + gchar *translator_credits = _("translator_credits"); + + if (about != NULL) { + gdk_window_raise (about->window); + gdk_window_show (about->window); + return; + } + + { + char filename[1024]; + + strcpy(filename, PACKAGE_DATA_DIR "/pixmaps/gnome-gamazons.png"); + pixbuf = gdk_pixbuf_new_from_file(filename, NULL); + } + + about = gnome_about_new (_("Gamazons"), VERSION, + "(C) 2002 Ronald Yorgason and Sean McMillen", + _("Send comments and bug reports to: " + "yorgasor@cs.pdx.edu"), + (const char **)authors, + (const char **)documenters, + strcmp (translator_credits, "translator_credits") != 0 ? translator_credits : NULL, + pixbuf); + g_signal_connect (G_OBJECT (about), "destroy", G_CALLBACK + (gtk_widget_destroyed), &about); + gtk_widget_show (about); +} + + +void +on_network1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_player1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *time, *width, *depth; + GtkWidget *white_ai, *white_h, *black_ai, *black_h; + + + if (bstate_get_open_dialog()) + return; + + bstate_set_open_dialog(TRUE); + PlayerSettingsWindow = create_PlayerSettings(); + + /* grab all the widgets */ + time = lookup_widget(PlayerSettingsWindow, "TimeSpinner"); + width = lookup_widget(PlayerSettingsWindow, "WidthSpinner"); + depth = lookup_widget(PlayerSettingsWindow, "DepthSpinner"); + white_ai = lookup_widget(PlayerSettingsWindow, "WhiteAIRadio"); + white_h = lookup_widget(PlayerSettingsWindow, "WhiteHumanRadio"); + black_ai = lookup_widget(PlayerSettingsWindow, "BlackAIRadio"); + black_h = lookup_widget(PlayerSettingsWindow, "BlackHumanRadio"); + + + + + /* Load current values */ + load_values_from_file(); + gtk_spin_button_set_value( (GtkSpinButton *)time, options.engine.timeout); + gtk_spin_button_set_value( (GtkSpinButton *)width, options.engine.maxwidth); + gtk_spin_button_set_value( (GtkSpinButton *)depth, options.engine.maxdepth); + + if (options.white_player == HUMAN) + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(white_h), TRUE); + else + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(white_ai), TRUE); + + if (options.black_player == HUMAN) + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(black_h), TRUE); + else + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(black_ai), TRUE); + + + gtk_widget_show(PlayerSettingsWindow); + +} + + +void +on_how_to_play1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GError *error = NULL; + if (gnome_help_display("gamazons",NULL,&error)) + { +#ifdef DEBUG + printf("I should pop up the help display now\n"); +#endif + } + else + { +#ifdef DEBUG + printf("I couldn't display the help screen, sorry.\n"); +#endif + printf("%s\n", error->message ); + } +} + + +void +on_help2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ +} + + +void +on_BT_UNDO_clicked (GtkButton *button, + gpointer user_data) +{ + int temp; + GtkWidget *undo_button; + int i; + + if (bstate_get_moving_piece()) + return; + if (bstate_get_open_dialog()) + return; + + if (bstate_get_what_next() == FIRE_ARROW) //Undo during mid-move + { + int to_col, from_col, to_row, from_row; + Square to, from; + + from = bstate_get_move_to(); + to = bstate_get_move_from(); + + bstate_set_move_to(to); + bstate_set_move_from(from); + + move_piece_to (to, board->selected_queen); + + //roll back the state of the board + from_col = get_x_int_from_square(bstate_get_move_from()); + from_row = get_y_int_from_square(bstate_get_move_from()); + + to_col = get_x_int_from_square(bstate_get_move_to()); + to_row = get_y_int_from_square(bstate_get_move_to()); + + board->squares[to_row][to_col] = board->squares[from_row][from_col]; + board->squares[from_row][from_col] = NOTHING; + gen_legal_moves(bstate_get_move_to()); + + if (board->squares[to_row][to_col] == WHITE) + { + bstate_set_just_finished(UNDO); + for (i=0; i<4; i++) //update queen to square mapping + { + if (board->square_to_wh_queen_map[i] == to_row*10 + to_col) + { + board->square_to_wh_queen_map[i] = from_row*10 + from_col; + break; + } + } + } + else + { + bstate_set_just_finished(UNDO); + for (i=0; i<4; i++) //update queen to square mapping + { + if (board->square_to_bl_queen_map[i] == to_row*10 + to_col) + { + board->square_to_bl_queen_map[i] = from_row*10 + from_col; + break; + } + } + } + + } + + +} + + +/*============================================================================== + * on_BT_FORCEMOVE_clicked + * + * This sets the global timeout variable, forcing the AI to take the best move + * currently available. + */ +void +on_BT_FORCEMOVE_clicked (GtkButton *button, + gpointer user_data) +{ + if (bstate_get_moving_piece()) + return; + if (bstate_get_open_dialog()) + return; + bstate_set_just_finished(FORCE_MOVE); + ok = 0; +} + +/*============================================================================== + * on_BT_AUTOFINISH_clicked + * + * This starts the auto-finish process if allowed. This can't be done inbetween + * a human player moving & firing an arrow, or while an AI is moving. + * + */ +void +on_BT_AUTOFINISH_clicked (GtkButton *button, + gpointer user_data) +{ + if (bstate_get_moving_piece()) + return; + if (bstate_get_open_dialog()) + return; + options.white_player = AI; + options.black_player = AI; + options.engine.timeout = 1; + options.engine.maxdepth = 5; + options.engine.maxwidth = 15; + bstate_set_just_finished(AUTO_FINISH); + while (bstate_get_what_next() == WAIT_FOR_AI) + move_ai(); //if both players are AI, keeps on running + +} + + +void +on_GamazonsMain_destroy (GtkObject *object, + gpointer user_data) +{ + + state_hash = 0; + bstate_set_just_finished(QUIT_GAME); + gtk_main_quit(); + +} + + +/*============================================================================== + * board_press_cb + * + * This is the main board handling routine. Determines what the user is clicking + * on and what a click means. + */ +int board_press_cb (GnomeCanvasItem *item, GdkEvent *event, gpointer data) +{ + double drop_x, drop_y; + double new_x, new_y; + int from_row, from_col, to_row, to_col; +// int from; + int i,j,k; + GtkWidget *auto_button, *undo_button; + static Square to; + static Square from; + + if (bstate_get_moving_piece()) + { + //printf("Can't do that while a piece is moving\n"); + return; + } + if (bstate_get_open_dialog()) + { + //printf("Can't do that while another window is open\n"); + return; + } + if (bstate_get_what_next() == NEW_GAME) + { + //printf("Can't do that while I'm expecting a new game to start\n"); + return; + } + if (bstate_get_replay_mode()) + return 0; + + switch (event->type) { + case GDK_BUTTON_PRESS: + if (event->button.button != 1) + break; + +#ifdef DEBUG + printf("what_next = %d\n", bstate_get_what_next()); +#endif + //Set where a piece is coming from + board->orig_x = board->curr_x = event->button.x; + board->orig_y = board->curr_y = event->button.y; + from = get_square (board->curr_x, board->curr_y); + from_col = get_x_int_from_square(from); + from_row = get_y_int_from_square(from); + +#ifdef DEBUG + print_board(); +#endif + + //Make sure it's time to move a queen before letting the user do it, + //as well as make sure he's moving his own queen. Also make sure it's + //a human's turn! +#ifdef DEBUG + printf("checking row %d, col %d\n", from_row, from_col); + square_contains(from); + printf("board->squares = %d\n",board->squares[from_row][from_col]); +#endif + if ((board->squares[from_row][from_col] == WHITE && + bstate_get_what_next() == MOVE_WHITE_QUEEN && + options.white_player == HUMAN) || + (board->squares[from_row][from_col] == BLACK && + bstate_get_what_next() == MOVE_BLACK_QUEEN && + options.black_player == HUMAN)) + { + //Human is moving a queen +#ifdef DEBUG + printf("board->squares = %d, what_next = %d\n", board->squares[from_row][from_col], bstate_get_what_next()); +#endif + grabbed_queen = TRUE; + gen_legal_moves(from); +#ifdef DEBUG + printf("grabbing queen\n"); +#endif + gnome_canvas_item_raise_to_top (item); + gnome_canvas_item_grab (item, + GDK_POINTER_MOTION_MASK | + GDK_BUTTON_RELEASE_MASK, + NULL, + event->button.time); + + board->selected_queen = item; + } + from = get_square (board->curr_x, board->curr_y); + to = from; +#ifdef DEBUG + printf("GDK_BUTTON_PRESS: to = %d from = %d\n", to, from); +#endif + break; + + case GDK_MOTION_NOTIFY: + if (event && (event->motion.state & GDK_BUTTON1_MASK)) + { + if (!grabbed_queen) + break; + new_x = event->motion.x; + new_y = event->motion.y; + gnome_canvas_item_raise_to_top (item); + gnome_canvas_item_move (item, + new_x - board->curr_x, + new_y - board->curr_y); + + + board->curr_x = new_x; + board->curr_y = new_y; + } + break; + + case GDK_BUTTON_RELEASE: + if (event->button.button != 1) + break; +#ifdef DEBUG + printf("what_next = %d\n", bstate_get_what_next()); +#endif + if (grabbed_queen == FALSE) + break; + else + grabbed_queen = FALSE; + + if (item != NULL) + gnome_canvas_item_ungrab (item, event->button.time); + + +#ifdef DEBUG + printf("GDK_BUTTON_RELEASE: to = %d from = %d\n", to, from); +#endif + drop_x = event->button.x; + drop_y = event->button.y; + + //something funny here? + if (is_queen_square(get_square (drop_x, drop_y))) + { + move_piece_to (to, item); + break; + } + +#ifdef DEBUG + printf("Queen is dropped at coords %f, %f\n", drop_x, drop_y); +#endif + to = get_square (drop_x, drop_y); +#ifdef DEBUG + printf("new square is %d\n", to); +#endif + + /* Register the queen move with the board */ + from_col = get_x_int_from_square(from); + from_row = get_y_int_from_square(from); + + to_col = get_x_int_from_square(to); + to_row = get_y_int_from_square(to); +#ifdef DEBUG + printf("setting square %d%d to hold %d\n", to_row, to_col, board->squares[from_row][from_col]); +#endif + + //Queen is being moved to a different square + if (to != from) + { + //put the piece back if it's not a legal move + if (!is_move_legal(to)) + { + //bstate_set_move_to(from); + move_piece_to(from, item); + break; + } + else + { + bstate_set_move_to(to); + bstate_set_move_from(from); + bstate_set_just_finished(MOVE_WHITE_QUEEN); + + board->squares[to_row][to_col] = board->squares[from_row][from_col]; + for (k=0; k<4; k++) //update square to queen mapping + { + if (board->square_to_wh_queen_map[k] == from_row*10 + from_col) + { + board->square_to_wh_queen_map[k] = to_row*10 + to_col; + break; + } + if (board->square_to_bl_queen_map[k] == from_row*10 + from_col) + { + board->square_to_bl_queen_map[k] = to_row*10 + to_col; + break; + } + } + board->squares[from_row][from_col] = NOTHING; + gen_legal_moves(to); //prepare moves for arrow + } + } + +#ifdef DEBUG + square_contains(to); + square_contains(from); +#endif + + + move_piece_to(to, item); +#ifdef DEBUG + printf("what_next = %d\n", bstate_get_what_next()); +#endif + break; + //default: + } + + return 1; +} + +/*============================================================================== + * arrow_fire_cb + * + * Determines the square the arrow is fired at and marks it as such. + * Also checks that this is the appropriate time to fire an arrow and that the + * given square is in the list of legal moves. + */ +int arrow_fire_cb(GnomeCanvasItem *item, GdkEvent *event, gpointer data) +{ + double x_coord, y_coord; + int sq; + int row, col; + state *s; + //GtkWidget *auto_button, *undo_button; + + if (bstate_get_moving_piece()) + return 0; + if (bstate_get_open_dialog()) + return 0; + if (bstate_get_what_next() == NEW_GAME) + return 0; + if (bstate_get_replay_mode()) + return 0; + + count_queens(); + switch (event->type) + { + case GDK_BUTTON_PRESS: + if (event->button.button != 1) + break; + if (bstate_get_what_next() != FIRE_ARROW) + break; + + x_coord = event->button.x-4; + y_coord = event->button.y-4; + + sq = get_square(x_coord, y_coord); + if (!is_move_legal(sq)) + break; + + /* Make sure the square is empty first */ + col = get_x_int_from_square(sq); + row = get_y_int_from_square(sq); + +#ifdef DEBUG + printf("what_next = %d\n", bstate_get_what_next()); + printf("arrow fire: "); + square_contains(sq); +#endif + if (board->squares[row][col] != NOTHING) + break; + + fire_arrow(sq); + s = states.s[states.current_state]; + register_move_with_engine(sq); + + bstate_set_just_finished(FIRE_ARROW); + + + //check for gameover + if (game_over()) + break; + + dup_state(s, states.s[++(states.current_state)]); + if (bstate_get_what_next() == WAIT_FOR_AI) + move_ai(); + //default: + } + + return 0; + +} + +/*============================================================================== + * on_PlayerOKButton_clicked + * + * This processes the information from the Player settings window. If a change + * is made, sometimes the state of the game must reflect this change. For + * instance, if it was a humans turn, and this player was set to AI, the game + * state must stop waiting for the human to move and must instead instruct the + * AI to start thinking. + */ +void +on_PlayerOKButton_clicked (GtkButton *button, + gpointer user_data) +{ + GtkWidget *time, *width, *depth; + GtkWidget *white_ai, *white_h, *black_ai, *black_h; + + load_values_from_file(); + + /* grab all the widgets */ + time = lookup_widget(PlayerSettingsWindow, "TimeSpinner"); + width = lookup_widget(PlayerSettingsWindow, "WidthSpinner"); + depth = lookup_widget(PlayerSettingsWindow, "DepthSpinner"); + white_ai = lookup_widget(PlayerSettingsWindow, "WhiteAIRadio"); + white_h = lookup_widget(PlayerSettingsWindow, "WhiteHumanRadio"); + black_ai = lookup_widget(PlayerSettingsWindow, "BlackAIRadio"); + black_h = lookup_widget(PlayerSettingsWindow, "BlackHumanRadio"); + + + /* Store new values */ + options.engine.timeout = gtk_spin_button_get_value_as_int( (GtkSpinButton *)time); + options.engine.maxwidth = gtk_spin_button_get_value_as_int( (GtkSpinButton *)width); + options.engine.maxdepth = gtk_spin_button_get_value_as_int( (GtkSpinButton *)depth); + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(white_h))) + options.white_player = HUMAN; + else + options.white_player = AI; + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(black_h))) + options.black_player = HUMAN; + else + options.black_player = AI; + + store_values_in_file(); + gtk_widget_destroy(PlayerSettingsWindow); + + bstate_update_player_settings(); + bstate_set_open_dialog(FALSE); + //checks to see if the AI is supposed to move after changes to the player have been made + //if the ai is already moving, don't muck things up by calling it again. + if (!bstate_get_moving_ai()) + { + while (bstate_get_what_next() == WAIT_FOR_AI) + { + move_ai(); + } + } + +} + + +void +on_PlayerCancelButton_clicked (GtkButton *button, + gpointer user_data) +{ + gtk_widget_destroy(PlayerSettingsWindow); + bstate_set_open_dialog(FALSE); +} + + +void +on_theme1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + + if (bstate_get_open_dialog()) + return; + bstate_set_open_dialog(TRUE); + file_selector = gtk_file_selection_new ("Pick your theme file."); + + gtk_file_selection_set_filename (GTK_FILE_SELECTION (file_selector), PACKAGE_DATA_DIR "/gamazons/"); + gtk_file_selection_complete (GTK_FILE_SELECTION (file_selector), "*.theme"); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (load_new_theme), + NULL); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (on_ThemeCancelButton_clicked), + NULL); + + /* Ensure that the dialog box is destroyed when the user clicks a button. */ + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + /* Display that dialog */ + + gtk_widget_show (file_selector); + + +} + +void load_new_theme (GtkFileSelection *selector, gpointer user_data) +{ + if (bstate_get_moving_piece()) + { + gnome_warning_dialog("Warning: Theme can't be updated while a game piece is moving. Please try again."); + bstate_set_open_dialog(FALSE); + return; + } + + selected_filename = (gchar *) gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_selector)); + load_values_from_file(); //Get current settings + if (!load_images_from_theme (selected_filename)) //load new theme settings + { + gnome_error_dialog("Theme file doesn't exist!\n"); + bstate_set_open_dialog(FALSE); + return; + } + store_values_in_file(); //store new settings + destroy_board(); + draw_board(); + bstate_set_open_dialog(FALSE); + +} + +void on_ThemeCancelButton_clicked(GtkButton *button, gpointer user_data) +{ + bstate_set_open_dialog(FALSE); + +} + +void +on_save_as1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + //char home[256]; + char *home_env; + + if (bstate_get_open_dialog()) + return; + bstate_set_open_dialog(TRUE); + + file_selector = gtk_file_selection_new ("Save your move history to a file"); + + gtk_file_selection_set_filename (GTK_FILE_SELECTION (file_selector), options.hist_dir); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (save_game_history), + NULL); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (on_save_as1CancelButton_clicked), + NULL); + + /* Ensure that the dialog box is destroyed when the user clicks a button. */ + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + /* Display that dialog */ + + gtk_widget_show (file_selector); + + +} + +void save_game_history(GtkFileSelection *selector, gpointer user_data) +{ + FILE *history_fd; + GtkTextView *view; + GtkTextBuffer *buffer; + GtkTextIter *iter_start = (GtkTextIter *) malloc(sizeof(GtkTextIter)); + GtkTextIter *iter_end = (GtkTextIter *) malloc(sizeof(GtkTextIter)); + gchar *text; + char *temp_dir; + + selected_filename = (gchar *)gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_selector)); + if (strcmp(options.hist_dir, selected_filename) == 0) + { + bstate_set_open_dialog(FALSE); + return; + } + + load_values_from_file(); //Get current settings + strcpy(options.hist_dir, selected_filename); + temp_dir = dirname(options.hist_dir); + strcpy(options.hist_dir, temp_dir); + options.hist_dir[strlen(options.hist_dir)+1] = '\0'; + options.hist_dir[strlen(options.hist_dir)] = '/'; + store_values_in_file(); //save new dir + + view = (GtkTextView *) lookup_widget(main_window, "textview1"); + buffer = gtk_text_view_get_buffer (view); + gtk_text_buffer_get_start_iter(buffer, iter_start); + gtk_text_buffer_get_end_iter(buffer, iter_end); + + text = gtk_text_buffer_get_text(buffer, iter_start, iter_end, FALSE); + history_fd = fopen(selected_filename, "w"); + + if (history_fd == NULL) + { + gnome_error_dialog("Unable to save move history"); + bstate_set_open_dialog(FALSE); + return; + } + + fprintf(history_fd, "%s", text); + fclose(history_fd); + bstate_set_open_dialog(FALSE); +} + +void on_save_as1CancelButton_clicked(GtkButton *button, gpointer user_data) +{ + bstate_set_open_dialog(FALSE); +} + + +void +on_open_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + //char home[256]; + char *home_env; + + if (bstate_get_open_dialog()) + return; + bstate_set_open_dialog(TRUE); + + file_selector = gtk_file_selection_new ("Load saved Gamazons history file you wish to continue"); + + gtk_file_selection_set_filename (GTK_FILE_SELECTION (file_selector), options.hist_dir); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (load_saved_game), + NULL); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (on_OpenCancelButton_clicked), + NULL); + + /* Ensure that the dialog box is destroyed when the user clicks a button. */ + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + /* Display that dialog */ + + gtk_widget_show (file_selector); + + +} + +void load_saved_game(GtkFileSelection *selector, gpointer user_data) +{ + + FILE *history_fd; + char *temp_dir; + + selected_filename = (gchar *)gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_selector)); + if (strcmp(options.hist_dir, selected_filename) == 0) + { + bstate_set_open_dialog(FALSE); + return; + } + + load_values_from_file(); //Get current settings + strcpy(options.hist_dir, selected_filename); + temp_dir = dirname(options.hist_dir); + strcpy(options.hist_dir, temp_dir); + options.hist_dir[strlen(options.hist_dir)+1] = '\0'; + options.hist_dir[strlen(options.hist_dir)] = '/'; + store_values_in_file(); + + history_fd = fopen(selected_filename, "ro"); + if (history_fd == NULL) + { + gnome_error_dialog("Error opening history file\n"); + bstate_set_open_dialog(FALSE); + return; + } + gtk_widget_destroy(file_selector); + bstate_set_open_dialog(FALSE); + bstate_set_replay_mode(FALSE); + + free_all_memory(); + init_engine(); + destroy_board(); + init_game_board(main_window); + + if (read_in_moves(history_fd)) + bstate_set_just_finished(LOAD_GAME); + else + gnome_error_dialog("Error: Corrupted history file\n"); + + + //printf("finished loading history file\n"); + fclose(history_fd); + + if (bstate_get_what_next() == NEW_GAME) //game over + return; + while (bstate_get_what_next() == WAIT_FOR_AI) + move_ai(); //if both players are AI, keeps on running + +} + +void on_OpenCancelButton_clicked(GtkButton *button, gpointer user_data) +{ + bstate_set_open_dialog(FALSE); +} + +void +on_BT_REPLAY_clicked (GtkButton *button, + gpointer user_data) +{ + //char home[256]; + char *home_env; + + if (bstate_get_open_dialog()) + return; + bstate_set_open_dialog(TRUE); + + file_selector = gtk_file_selection_new ("Load saved Gamazons history file you wish to replay"); + + gtk_file_selection_set_filename (GTK_FILE_SELECTION (file_selector), options.hist_dir); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (replay_saved_game), + NULL); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (on_OpenCancelButton_clicked), + NULL); + + /* Ensure that the dialog box is destroyed when the user clicks a button. */ + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), + "clicked", + G_CALLBACK (gtk_widget_destroy), + (gpointer) file_selector); + + /* Display that dialog */ + + gtk_widget_show (file_selector); + + +} + +void replay_saved_game(GtkFileSelection *selector, gpointer user_data) +{ + + FILE *history_fd; + char *temp_dir; + int game_life = bstate_get_game_life(); + + selected_filename = (gchar *)gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_selector)); + if (strcmp(options.hist_dir, selected_filename) == 0) + { + bstate_set_open_dialog(FALSE); + return; + } + + load_values_from_file(); //Get current settings + strcpy(options.hist_dir, selected_filename); + temp_dir = dirname(options.hist_dir); + strcpy(options.hist_dir, temp_dir); + options.hist_dir[strlen(options.hist_dir)+1] = '\0'; + options.hist_dir[strlen(options.hist_dir)] = '/'; + store_values_in_file(); + + history_fd = fopen(selected_filename, "ro"); + if (history_fd == NULL) + { + gnome_error_dialog("Error opening history file\n"); + bstate_set_open_dialog(FALSE); + return; + } + gtk_widget_destroy(file_selector); + bstate_set_open_dialog(FALSE); + bstate_set_just_finished(START_REPLAY); + + free_all_memory(); + init_engine(); + destroy_board(); + init_game_board(main_window); + + //bstate_set_replay_mode(TRUE); + if (read_in_moves(history_fd)) + { + } + else if (bstate_get_replay_mode()) //if still in replay mode, there must have been an error. Otherwise + { //the stop button was pressed and all is well. + gnome_error_dialog("Error: Corrupted history file\n"); + } + else if (game_life != bstate_get_game_life()) + { + return; + } + + bstate_set_just_finished(STOP_REPLAY); //cleans up replay mode if successfully finished + //bstate_set_replay_mode(FALSE); + + + //printf("finished loading history file\n"); + fclose(history_fd); + + if (bstate_get_what_next() == NEW_GAME) //game over + return; + while (bstate_get_what_next() == WAIT_FOR_AI) + move_ai(); //if both players are AI, keeps on running + +} + + +void +on_BT_REPLAY_STOP_clicked (GtkButton *button, + gpointer user_data) +{ + //bstate_set_replay_mode(FALSE); + bstate_set_just_finished(STOP_REPLAY); + +} + diff --git a/src/callbacks.h b/src/callbacks.h new file mode 100644 index 0000000..e9d5844 --- /dev/null +++ b/src/callbacks.h @@ -0,0 +1,104 @@ +#include + + +void +on_new1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_quit1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_clear1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_preferences1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_about1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_network1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_player1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_how_to_play1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_help2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_BT_UNDO_clicked (GtkButton *button, + gpointer user_data); + +void +on_BT_FORCEMOVE_clicked (GtkButton *button, + gpointer user_data); + +void +on_BT_AUTOFINISH_clicked (GtkButton *button, + gpointer user_data); + +void +on_GamazonsMain_destroy (GtkObject *object, + gpointer user_data); + +int +board_press_cb (GnomeCanvasItem *item, GdkEvent *event, gpointer data); + +int arrow_fire_cb(GnomeCanvasItem *item, GdkEvent *event, gpointer data); + +void +on_PlayerOKButton_clicked (GtkButton *button, + gpointer user_data); + +void +on_PlayerCancelButton_clicked (GtkButton *button, + gpointer user_data); + +void +on_theme1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_BT_UNDO_clicked (GtkButton *button, + gpointer user_data); + +void +on_BT_FORCEMOVE_clicked (GtkButton *button, + gpointer user_data); + +void +on_BT_AUTOFINISH_clicked (GtkButton *button, + gpointer user_data); + +void on_ThemeCancelButton_clicked(GtkButton *button, gpointer user_data); + +void +on_save_as1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_open_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_BT_REPLAY_clicked (GtkButton *button, + gpointer user_data); + +void +on_BT_REPLAY_STOP_clicked (GtkButton *button, + gpointer user_data); + +void replay_saved_game(GtkFileSelection *selector, gpointer user_data); + diff --git a/src/docs b/src/docs new file mode 100644 index 0000000..0e40c20 --- /dev/null +++ b/src/docs @@ -0,0 +1,2 @@ +V & V: + diff --git a/src/eval.c b/src/eval.c new file mode 100644 index 0000000..85e4340 --- /dev/null +++ b/src/eval.c @@ -0,0 +1,1097 @@ +#include +#include +#include "amazons.h" +#include "unit-test.h" + + +/* local protos */ +static void tt_copy(state *s, state_t *t, short alpha, short beta); + + +/* Globals */ +int black_misc = 0, white_misc = 0; //miscellaneous heuristic values + + +/* Heuristic Weights */ +#define QUEEN_LOSS 15 //point deduction when losing a queen +#define QUEEN_DANGER 10 //point deduction when queen in danger +#define QUEEN_CLUSTER 5 //point deduction when a queen isn't in + // a quadrant +#define OWN_VALUE 1.5 //Value of owning a square + + + +/*============================================================================== + * get_forward_diag + * + * This gets a stream of bits from the given bit board in a "forwards" diagonal + * starting at the position diag, and returns the stream. + */ +int get_forward_diag(ull board_l, ull board_u, int diag) +{ + int len = GET_FDIAG_LEN(diag); + int i; + ushort res = 0; + ull *board; + int pos=diag; + ushort mask = 0x1; + + for (i=0; i 49) + board = &board_u; + else + board = &board_l; + + res |= (*board >> (pos % 50)) & mask; + pos +=10; + mask <<= 1; + } + + return res; +} + + +/*============================================================================== + * get_back_diag + * + * This gets a stream of bits from the given bit board in a "backwards" diagonal + * starting at the position diag, and returns the stream. + */ +int get_back_diag(ull board_l, ull board_u, int diag) +{ + int len = GET_BDIAG_LEN(diag); + int i; + ushort res = 0; + int pos=diag; + ushort mask = 0x1; + + for (i=0; i<=len; i++) + { + //This needs some funky footwork to get bits in the early 50's + if (pos + i > 49) + { + if (pos > 49) + { + res |= (board_u >> (pos % 50)) & mask; + } + else + { + res |= (board_u << (50 - pos)) & mask; + } + } + else + res |= (board_l >> pos) & mask; + + pos +=8; + mask <<= 1; + } + + return res; +} + +/*============================================================================== + * put_forward_diag + * + * This takes a stream of bits and stores them on the given bit board in a + * "forward" diagonal starting at the position diag. + */ +void put_forward_diag(ull *board_l, ull *board_u, ushort stream, int diag) +{ + int len = GET_FDIAG_LEN(diag); + int i; + ull *board; + int pos=diag; + ushort mask = 0x1; + + for (i=0; i 49) + board = board_u; + else + board = board_l; + + *board |= ((ull) (stream & mask ) << (pos % 50)); + pos +=10; + mask <<= 1; + } +} + + +/*============================================================================== + * put_back_diag + * + * This takes a stream of bits and stores them on the given bit board in a + * "backwards" diagonal starting at the position diag. + */ +void put_back_diag(ull *board_l, ull *board_u, ushort stream, int diag) +{ + int len = GET_BDIAG_LEN(diag); + int i; + int pos=diag; + ushort mask = 0x1; + + for (i=0; i 49) + { + if (pos > 49) + *board_u |= ((ull) (stream & mask ) << (pos % 50)); + else + *board_u |= ((ull) (stream & mask ) >> (50 - pos)); + } + else + *board_l |= ((ull) (stream & mask ) << pos); + + pos +=8; + mask <<= 1; + } +} + + +/*============================================================================== + * heval + * + * This calculates the heuristic evaluation for a given state. It currently + * bases it's evaluation on the number of squares the queens can move to and the + * number of squares each side "owns". + */ +int heval(state *s) +{ + int p1=0, p2=0; + float own1L0 = 0, own2L0= 0; + float own1L1 = 0, own2L1= 0; + ull board_u, board_l; + ull web_board_u=0, web_board_l=0; + ull white_web1_u=0, white_web1_l=0, black_web1_u=0, black_web1_l=0; + ull res1_l=0, res1_u=0, res2_l=0, res2_u=0; + ull dirs_l=0, dirs_u=0; + + //Generates quads that look like: + // 1 1 1 1 1 0 0 0 0 0 + // 1 1 1 1 1 0 0 0 0 0 + // 1 1 1 1 1 0 0 0 0 0 + // 1 1 1 1 1 0 0 0 0 0 + // 1 1 1 1 1 0 0 0 0 0 + ull low_quad = 0x07c1f07c1f, high_quad = 0xf83e0f83e0; + + int i; + int black_q_pos[4]; + int white_q_pos[4]; + + ++heval_calls; + white_misc = black_misc = 0; + + //establish queen positions + for (i=0; i<4; i++) + { + black_q_pos[i] = XY_TO_POS(s->black_q_x[i], s->black_q_y[i]); + white_q_pos[i] = XY_TO_POS(s->white_q_x[i], s->white_q_y[i]); + } + //printf("heval:\n"); + //pboard(*s); + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + //pvec(board_u); + //pvec(board_l); + //pbvec(board_l, board_u); + + //calculate moves + /* + for (i=0; i<4; i++) + { + p1 += calc_moves(board_l, board_u, white_q_pos[i]); + p2 += calc_moves(board_l, board_u, black_q_pos[i]); + } + */ + + //make webs for queens & count # of moves + for (i=0; i<4; i++) + { + if (!(p1 += gen_web_board_count(&white_web1_l, &white_web1_u, board_l, board_u, white_q_pos[i]))) + white_misc -= QUEEN_LOSS; //white queen is trapped. + + if (!(p2 += gen_web_board_count(&black_web1_l, &black_web1_u, board_l, board_u, black_q_pos[i]))) + black_misc -= QUEEN_LOSS; //black queen is trapped. + } + + /* look for queens in trouble */ + for (i=0; i<4; i++) + { + //check white queens + gen_dirs_board(&dirs_l, &dirs_u, white_q_pos[i]); + res1_l = white_web1_l & dirs_l; + res1_u = white_web1_u & dirs_u; + + if (count_bits(res1_l, res1_u) < 3) + { + res2_l = res1_l & black_web1_l; + res2_u = res1_u & black_web1_u; + if (!((res1_l ^ res2_l) || (res1_u ^ res2_u))) + white_misc -= QUEEN_DANGER; + } + + //check black queens + gen_dirs_board(&dirs_l, &dirs_u, black_q_pos[i]); + res1_l = black_web1_l & dirs_l; + res1_u = black_web1_u & dirs_u; + if (count_bits(res1_l, res1_u) < 3) + { + res2_l = res1_l & white_web1_l; + res2_u = res1_u & white_web1_u; + if (!((res1_l ^ res2_l) || (res1_u ^ res2_u))) + black_misc -= QUEEN_DANGER; + } + } + + /* Encourage queens to spread out a bit */ + for (i=0; i<2; i++) + { + if (!(s->white_bd[i] & low_quad)) + white_misc -= QUEEN_CLUSTER; + else if (!(s->black_bd[i] & low_quad)) + white_misc += QUEEN_CLUSTER; //give bonus points for owning a quadrant + if (!(s->white_bd[i] & high_quad)) + white_misc -= QUEEN_CLUSTER; + else if (!(s->black_bd[i] & high_quad)) + white_misc += QUEEN_CLUSTER; //give bonus points for owning a quadrant + if (!(s->black_bd[i] & low_quad)) + black_misc -= QUEEN_CLUSTER; + else if (!(s->white_bd[i] & low_quad)) + black_misc += QUEEN_CLUSTER; + if (!(s->black_bd[i] & high_quad)) + black_misc -= QUEEN_CLUSTER; + else if (!(s->white_bd[i] & high_quad)) + black_misc += QUEEN_CLUSTER; + } + + /* + *calculate square ownership + */ + +#ifdef DEBUG_HEVAL + printf("white moves = %d, black moves = %d\n", p1, p2); +#endif + +#ifdef DEBUG_WEB + printf("White's web board:\n"); + pbvec(white_web1_l, white_web1_u); + + printf("Blacks's web board:\n"); + pbvec(black_web1_l, black_web1_u); +#endif + //make webs for each empty square + for (i=0; i<100; i++) + { + if (i > 49) + { + if (board_u & ((ull)0x1 << (i % 50))) + continue; + } + else + { + if (board_l & ((ull)0x1 << (i % 50))) + continue; + } + + web_board_l = web_board_u = 0; + gen_web_board(&web_board_l, &web_board_u, board_l, board_u, i); + +#ifdef DEBUG_WEB + printf("web board for square %d:\n", i); + pbvec(web_board_l, web_board_u); +#endif + + if (s->turn == WHITE_PLAYER) //player 1 moves next + { + if ((web_board_l & s->white_bd[0]) || (web_board_u & s->white_bd[1])) + { + //printf("Square %d is owned by white - level 0\n", i); + ++own1L0; + if ((web_board_l & s->black_bd[0]) || (web_board_u & s->black_bd[1])) + own1L0 -= .5; + } + else if ((web_board_l & s->black_bd[0]) || (web_board_u & s->black_bd[1])) + { + //printf("Square %d is owned by black - level 0\n", i); + ++own2L0; + } + else if ((web_board_l & white_web1_l) || (web_board_u & white_web1_u)) + { + //printf("Square %d is owned by white - level 1\n", i); + ++own1L1; + if ((web_board_l & black_web1_l) || (web_board_u & black_web1_u)) + own1L1 -= .5; + } + else if ((web_board_l & black_web1_l) || (web_board_u & black_web1_u)) + { + //printf("Square %d is owned by black - level 1\n", i); + ++own2L1; + } + else + { + //printf("Square %d is not owned by anyone\n", i); + } + } + else + { + if ((web_board_l & s->black_bd[0]) || (web_board_u & s->black_bd[1])) + { + //printf("Square %d is owned by black - level 0\n", i); + ++own2L0; + if ((web_board_l & s->white_bd[0]) || (web_board_u & s->white_bd[1])) + own2L0 -= .5; + } + else if ((web_board_l & s->white_bd[0]) || (web_board_u & s->white_bd[1])) + { + ++own1L0; + //printf("Square %d is owned by white - level 0\n", i); + } + else if ((web_board_l & black_web1_l) || (web_board_u & black_web1_u)) + { + //printf("Square %d is owned by black - level 1\n", i); + ++own2L1; + if ((web_board_l & white_web1_l) || (web_board_u & white_web1_u)) + own2L1 -= .5; + } + else if ((web_board_l & white_web1_l) || (web_board_u & white_web1_u)) + { + //printf("Square %d is owned by white - level 1\n", i); + ++own1L1; + } + else + { + //printf("Square %d is not owned by anyone\n", i); + } + } + } + + +#ifdef DEBUG_HEVAL + printf("Direct white squares = %d, direct black squares = %d\n", own1L0, own2L0); + printf("Indirect white squares = %d, indirect black squares = %d\n", own1L1, own2L1); + printf("white squares = %d, black squares = %d\n", own1, own2); +#endif +// printf("own1 = %d p1 = %d own2 = %d p2 = %d\n", own1,p1,own2,p2); + return (((own1L0 + own1L1) * OWN_VALUE + p1 + white_misc) - (p2 + (own2L0 + own2L1) * OWN_VALUE + black_misc)); + +} + +/*============================================================================== + * calc_moves + * + * This receives a complete bit board with all occupied square bits set. From + * the given position, it calculates all possible moves in every direction. + * + * Returns the number of moves possible. + */ +int calc_moves(ull board_l, ull board_u, int pos) +{ + ushort stream; + int row, col, fdiag, bdiag; + int diag; + + + //count row moves + if (pos < 50) + stream = GET_ROW(board_l, GET_COL_POS(pos)); + else + stream = GET_ROW(board_u, GET_COL_POS(pos)); + row = calc_stream_moves(stream, GET_ROW_POS(pos), 10); + //printf("%d row moves\n", row); + + + //count col moves + stream = GET_COL(board_l, board_u, GET_ROW_POS(pos)); + col = calc_stream_moves(stream, GET_COL_POS(pos), 10); + //printf("%d col moves\n", col); + + //count forw diag moves + diag = GET_FDIAG(pos); + stream = get_forward_diag(board_l, board_u, diag); + fdiag = calc_stream_moves(stream, GET_FDIAG_POS(pos), GET_FDIAG_LEN(diag)); + //printf("%d fdiag moves\n", fdiag); + + //count back diag moves + diag = GET_BDIAG(pos); + stream = get_back_diag(board_l, board_u, diag); + bdiag = calc_stream_moves(stream, GET_BDIAG_POS(pos), GET_BDIAG_LEN(diag)); + //printf("%d bdiag moves\n", bdiag); + + //printf("%d total moves\n", row+col+fdiag+bdiag); + return (row+col+fdiag+bdiag); + + +} + +/*============================================================================== + * calc_stream_moves + * + * Calculates the number of empty bits in either direction from the given position + * in the given stream. + * + * Returns the number of moves in that stream. + */ +int calc_stream_moves(ushort stream, ushort pos, ushort len) +{ + int i; + int moves = 0; + int before=0, after=0; + + //psvec(stream, len); + //error check + if (pos > len) + { + printf("duh, the position %d can't be greater than the length %d\n", pos, len); + return 0; + } + +// printf("stream len = %d\n", len); + for (i=0; i>= 1; + } + + ++i; + stream >>= 1; + + for ( ; i>= 1; + } + moves = before + after; + //printf("Pos = %d, before = %d, after = %d\n", pos, before, after); + + return moves; +} + + +/*============================================================================== + * gen_web_stream + * + * This generates a stream of 1 bits (the 'web') in both directions, starting + * from the given position pos, and stops when it hits a set bit in the given + * stream or comes to the end of the stream. + * + * Returns the generated web. + */ +ushort gen_web_stream(ushort stream, int pos, int len) +{ + ushort web = 0; + int i; + + web |= 0x1 << pos; + + for (i=pos-1; i>=0; i--) + { + if (stream & (0x1 << i)) + break; + else + web |= 0x1 << i; + } + + for (i=pos+1; i=0; i--) + { + if (stream & (0x1 << i)) + { + web |= 0x1 << i; + break; + } + else + web |= 0x1 << i; + } + + for (i=pos+1; i 49) + row = GET_ROW(board_u, GET_COL_POS(pos)); + else + row = GET_ROW(board_l, GET_COL_POS(pos)); + + web_row = gen_web_stream_plus(row, GET_ROW_POS(pos), 10); + //printf("Row for pos %d:", pos); + +#ifdef DEBUG_WEB + printf("Generating web for row "); psvec(row, 10); + printf("Web generated for row at pos %d:", pos); + psvec(web_row, 10); +#endif + + if (pos > 49) + PUT_ROW(*web_u, pos/10, web_row); + else + PUT_ROW(*web_l, pos/10, web_row); +#ifdef DEBUG_WEB + printf("web board after row inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + //col web + col = GET_COL(board_l, board_u, pos%10); + web_col = gen_web_stream_plus(col, GET_COL_POS(pos), 10); + +#ifdef DEBUG_WEB + printf("Generating web for col "); psvec(col, 10); + printf("Web generated for col at pos %d:", pos); + psvec(web_col, 10); +#endif + + PUT_COL(*web_l, *web_u, pos%10, web_col); +#ifdef DEBUG_WEB + printf("web board after col inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + //fdiag web + diag = GET_FDIAG(pos); + fdiag = get_forward_diag(board_l, board_u, diag); + web_fdiag = gen_web_stream_plus(fdiag, GET_FDIAG_POS(pos), GET_FDIAG_LEN(diag)); + +#ifdef DEBUG_WEB + printf("Generating web for fdiag "); psvec(fdiag, GET_FDIAG_LEN(diag)); + printf("Web generated for fdiag at pos %d:", pos); + psvec(web_fdiag, 10); +#endif + + put_forward_diag(web_l, web_u, web_fdiag, diag); +#ifdef DEBUG_WEB + printf("web board after fdiag inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + //bdiag web + diag = GET_BDIAG(pos); + bdiag = get_back_diag(board_l, board_u, diag); + web_bdiag = gen_web_stream_plus(bdiag, GET_BDIAG_POS(pos), GET_BDIAG_LEN(diag)); + +#ifdef DEBUG_WEB + printf("Generating web for bdiag "); psvec(bdiag, GET_BDIAG_LEN(diag)); + printf("Web generated for bdiag at pos %d:", pos); + psvec(web_bdiag, 10); +#endif + + put_back_diag(web_l, web_u, web_bdiag, diag); +#ifdef DEBUG_WEB + printf("web board after bdiag inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + +} +/*============================================================================== + * gen_web_board_count + * + * This takes the bit boards, board_l & board_u that represent all the occupied + * squares. Then, from the given position pos, generates a stream of 1's in + * every direction until they hit an occupied square. The result is stored + * in the given web_u & web_l + */ +int gen_web_board_count(ull *web_l, ull *web_u, ull board_l, ull board_u, int pos) +{ + ushort row, col, fdiag, bdiag; + ushort web_row, web_col, web_fdiag, web_bdiag; + int diag; + int row_count, col_count, fdiag_count, bdiag_count; + +#ifdef DEBUG_HEVAL + printf("Counting moves for queen on position %d\n", pos); +#endif + //row web + if (pos > 49) + row = GET_ROW(board_u, GET_COL_POS(pos)); + else + row = GET_ROW(board_l, GET_COL_POS(pos)); + + web_row = gen_web_stream(row, GET_ROW_POS(pos), 10); + row_count = count_contig_bits(web_row, 10); + //printf("Row for pos %d:", pos); + +#ifdef DEBUG_HEVAL + printf("Counting moves for queen on position %d\n", pos); + printf(" Row moves: %d\n", row_count); +#endif + +#ifdef DEBUG_WEB + printf("Generating web for row "); psvec(row, 10); + printf("Web generated for row at pos %d:", pos); + psvec(web_row, 10); +#endif + + if (pos > 49) + PUT_ROW(*web_u, pos/10, web_row); + else + PUT_ROW(*web_l, pos/10, web_row); +#ifdef DEBUG_WEB + printf("web board after row inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + //col web + col = GET_COL(board_l, board_u, pos%10); + web_col = gen_web_stream(col, GET_COL_POS(pos), 10); + col_count = count_contig_bits(web_col, 10); + +#ifdef DEBUG_HEVAL + printf(" Col moves: %d\n", col_count); +#endif + +#ifdef DEBUG_WEB + printf("Generating web for col "); psvec(col, 10); + printf("Web generated for col at pos %d:", pos); + psvec(web_col, 10); +#endif + + PUT_COL(*web_l, *web_u, pos%10, web_col); +#ifdef DEBUG_WEB + printf("web board after col inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + //fdiag web + diag = GET_FDIAG(pos); + fdiag = get_forward_diag(board_l, board_u, diag); + web_fdiag = gen_web_stream(fdiag, GET_FDIAG_POS(pos), GET_FDIAG_LEN(diag)); + fdiag_count = count_contig_bits(web_fdiag, GET_FDIAG_LEN(diag)); + +#ifdef DEBUG_HEVAL + printf(" Fdiag moves: %d\n", fdiag_count); +#endif + +#ifdef DEBUG_WEB + printf("Generating web for fdiag "); psvec(fdiag, GET_FDIAG_LEN(diag)); + printf("Web generated for fdiag at pos %d:", pos); + psvec(web_fdiag, 10); +#endif + + put_forward_diag(web_l, web_u, web_fdiag, diag); +#ifdef DEBUG_WEB + printf("web board after fdiag inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + //bdiag web + diag = GET_BDIAG(pos); + bdiag = get_back_diag(board_l, board_u, diag); + web_bdiag = gen_web_stream(bdiag, GET_BDIAG_POS(pos), GET_BDIAG_LEN(diag)); + bdiag_count = count_contig_bits(web_bdiag, GET_BDIAG_LEN(diag)); + +#ifdef DEBUG_HEVAL + printf(" Bdiag moves: %d\n", bdiag_count); +#endif +#ifdef DEBUG_WEB + printf("Generating web for bdiag "); psvec(bdiag, GET_BDIAG_LEN(diag)); + printf("Web generated for bdiag at pos %d:", pos); + psvec(web_bdiag, 10); +#endif + + put_back_diag(web_l, web_u, web_bdiag, diag); +#ifdef DEBUG_WEB + printf("web board after bdiag inserted:\n"); + pbvec(*web_l, *web_u); +#endif + + return (row_count + col_count + fdiag_count + bdiag_count - 4); +} + +/*============================================================================== + * count_contig_bits + * + * This counts the number of contiguous bits in a stream. It starts looking at + * the 0th bit, and starts counting when it finds the first set bit, and stops + * counting on the next unset bit. + * + * Returns the number of contiguous set bits. + */ +int count_contig_bits(ushort stream, int len) +{ + int i; + int count = 0; + + for (i=0; i=0; i--) + { + for (j=0; j<10; j++) + { + printf("%d ", (int)((u >> (i*10 + j)) &0x1)); + } + printf("\n"); + } + + +// pvec(l); + for (i=4; i>=0; i--) + { + for (j=0; j<10; j++) + { + printf("%d ", (int)((l >> (i*10 + j)) &0x1)); + } + printf("\n"); + } + + return 0; +} + +/*============================================================================== + * tt_lookup + * + * This looks a given state up in the transposition table (TT). If it's found, it + * returns a pointer to the tt entry and lets the caller decide if it's usable. + * + * Otherwise, it returns NULL. + * + * Note: this also allocates the initial TT. On first run, if the TT hasn't been + * created yet, this will create it. This means that it MUST be called before + * tt_store, otherwise very bad things will happen. + * + */ +state_t * tt_lookup(state *s) +{ + ull board_u, board_l; + int hash_index; + int found = 0; + int max = 0; + + if (tt == NULL) + tt = (state_t **) calloc(TT, sizeof(state_t *)); + + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + hash_index = (board_u ^ board_l) % TT; + + while(tt[hash_index] && !found && (max < MAX_TT_SEARCH) && (hash_index < TT)) + { + found = tt_compare(s,tt[hash_index]); + ++hash_index; + ++max; + } + + ++tt_lookups; + if (found) + { + ++tt_lookup_finds; + return (tt[--hash_index]); + /* + s->value = tt[--hash_index]->value; + s->depth = tt[hash_index]->depth; + return TRUE; + */ + } + else + return NULL; + +} + +/*============================================================================== + * tt_compare + * + * This compares a state to a state_t. Returns TRUE if they're equivalent, FALSE + * if not. + */ +int tt_compare(state *s, state_t *t) +{ + if ((s->white_bd[0] == t->white_bd[0]) && (s->white_bd[1] == t->white_bd[1]) && + (s->black_bd[0] == t->black_bd[0]) && (s->black_bd[1] == t->black_bd[1]) && + (s->blocks_bd[0] == t->blocks_bd[0]) && (s->blocks_bd[1] == t->blocks_bd[1]) && + (s->turn == t->turn)) + return TRUE; + else + return FALSE; +} + +/*============================================================================== + * tt_store + * + * tt_store takes a state and stores the necessary components into the TT. If + * the calculated hash index is already occupied (collision), it will proceed on + * to the next one, etc etc... If it doesn't find an empty spot withint + * MAX_TT_SEARCH, it will go back to the initial hash index it calculated, free + * whatever was there, and replace it with the new one. + * + */ +void tt_store(state *s, short alpha, short beta) +{ + ull board_u, board_l; + int hash_index; + int max = 0; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + hash_index = (board_u ^ board_l) % TT; + + ++tt_stores; + + //looks at a max of MAX_TT_SEARCH items before freeing the first one and storing there + while(tt[hash_index] && (max < MAX_TT_SEARCH) && (hash_index < TT)) + { + ++hash_index; + ++max; + } + + if (max == MAX_TT_SEARCH) + { + hash_index -= max; + ++tt_overwrite; + } + + if (tt[hash_index]) + free(tt[hash_index]); + + tt[hash_index] = (state_t *) malloc(sizeof(state_t)); + tt_copy(s, tt[hash_index], alpha, beta); + +} + +/*============================================================================== + * tt_copy + * + * Copies a state struct into a state_t struct. + */ +static void tt_copy(state *s, state_t *t, short alpha, short beta) +{ + + t->white_bd[0] = s->white_bd[0]; + t->white_bd[1] = s->white_bd[1]; + + t->black_bd[0] = s->black_bd[0]; + t->black_bd[1] = s->black_bd[1]; + + t->blocks_bd[0] = s->blocks_bd[0]; + t->blocks_bd[1] = s->blocks_bd[1]; + + t->turn = s->turn; + t->value = s->value; + t->depth = s->depth; + t->alpha = alpha; + t->beta = beta; +} + + +/*============================================================================== + * tt_update + * + * This is used to update the value and depth members of a TT entry that already + * exists. Sometimes, if the value stored in the TT isn't accurate to a very deep + * level, it's desireable to go ahead and search deeper and update the entry with + * a more accurate reading. + * + * Of course, it's possible in the meantime for the original entry to have been + * overwritten, so if it isn't found, it recreates the entire entry. + */ +void tt_update(state *s, short alpha, short beta) +{ + ull board_u, board_l; + int hash_index; + int found = 0; + int max = 0; + + if (tt == NULL) + tt = (state_t **) calloc(TT, sizeof(state_t *)); + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + hash_index = (board_u ^ board_l) % TT; + + while(tt[hash_index] && !found && (max < MAX_TT_SEARCH) && (hash_index < TT)) + { + found = tt_compare(s,tt[hash_index]); + ++hash_index; + ++max; + } + + if (found) + { + tt[--hash_index]->value = s->value; + tt[hash_index]->depth = s->depth; + ++tt_updates; + } + else //create a new one + { + hash_index-= MAX_TT_SEARCH; + if (tt[hash_index]) + free(tt[hash_index]); + + tt[hash_index] = (state_t *) malloc(sizeof(state_t)); + tt_copy(s, tt[hash_index], alpha, beta); + + ++tt_overwrite; + } + +} + +/*============================================================================== + * gen_dirs_board + * + * This function generates a bitmask board that completely surrounds a single + * position. + * + * The generated mask will look something like: + * + * 1 1 1 + * 1 0 1 + * 1 1 1 + * + * Where the 0 bit is the position passed in. This gets tricky when the position + * is right next to a border and part of the mask will need to be amputated + * accordingly. + */ +void gen_dirs_board(ull *board_l, ull *board_u, int pos) +{ + int row = GET_COL_POS(pos); + int row_adj = row % 5; + int pos_adj = pos % 50; + ull *board_ptr = NULL; + + /* Generate top row */ + if (row < 9) //position is not against top border, generate this row + { + if (pos > 39) //use upper board + board_ptr = board_u; + else + board_ptr = board_l; + //The 2nd half of this expressions is a row bitmask that takes care of + //positions next to the left or right borders, ensuring that the bits + //placed on the board stay in the row + if (pos == 40) + *board_ptr |= 0x3; + else + *board_ptr |= (((ull)0x7 << ((pos_adj + 9) % 50)) & ((ull)0x3ff << (((row_adj + 1)%5) * 10))); + } + + /* Generate middle row */ + if (pos < 50) + board_ptr = board_l; //otherwise board_ptr is still pointing to board_u + else + board_ptr = board_u; //otherwise board_ptr is still pointing to board_u + + if (pos_adj == 0) + *board_ptr |= (ull) (0x2); //in bottom left corner of board half, can't shift neg + else + *board_ptr |= (((ull) 0x5 << (pos_adj - 1)) & ((ull) 0x3ff << (row_adj * 10))); + + /* Generate bottom row */ + if (row > 0) //position is not against bottom border, generate this row + { + if (pos < 60) + board_ptr = board_l; //otherwise board_ptr is still pointing to board_u + else + board_ptr = board_u; //otherwise board_ptr is still pointing to board_u + if (pos_adj == 10) + *board_ptr |= (ull) 0x3; //in bottom left corner of board half, can't shift neg + else + *board_ptr |= (((ull) 0x7 << ((pos - 11)%50)) & ((ull) 0x3ff << (((row - 1)%5) * 10))); + } + + +} + +int count_bits(ull board_l, ull board_u) +{ + int count = 0; + int i; + + for (i=0; i< 64; i++) + { + if (board_l & 0x1) + ++count; + board_l >>= 1; + + if (board_u & 0x1) + ++count; + board_u >>= 1; + } + return count; +} diff --git a/src/gamazon.bugs b/src/gamazon.bugs new file mode 100644 index 0000000..b14b453 --- /dev/null +++ b/src/gamazon.bugs @@ -0,0 +1,43 @@ +bug1: +-------------------------------------- +start new game +player vs player +press autofinish +while thingy is moving press new game +segfault or wierd behaviour occurs +-------------------------------------- + +bug2: +-------------------------------------- +start new game +player vs player +press autofinish +while thingy moves close app +--------------------------------------- + +bug3+4: +--------------------------------------- +move thingy outside of board. +while its moving back press new game +bug4: quit while its moving back +--------------------------------------- + + +bug5 +--------------------------------------------------------------- +start new game +while player black ai +move g1 thingy very close to settings +while its moving back try chainging theme +warning message is displayed ("Theme cant be updated blah.."). +but game stops after that at "move white amazon" +- without being able to actually move it +actually you dont even have to pick theme. just open theme menu +and press ok(easier to press enter). + it wont be able to open *.theme but will stop game + +Even better. no need to move anything. try opening blarg.theme +which doesnt exist. game will kinda freeze on move white amazon +--------------------------------------------------------------- + + diff --git a/src/gamazons.html b/src/gamazons.html new file mode 100644 index 0000000..ce69585 --- /dev/null +++ b/src/gamazons.html @@ -0,0 +1,201 @@ + + + +Gamazons Help + + + + +

Gamazons

+ +Rules of the Game
+Strategies
+What the Buttons Do
+Settings Menu
+Future Enhancements
+ + + +

Rules of the Game

+An amazon moves in a straight line in any direction, just like a chess queen. +When an amazon moves to a new spot, she's required to fire an "arrow", which +again travels in a straight line in any direction. The square the arrow lands +on becomes an impenetrable wall, which neither amazons nor arrows can move +over or land on. You also can't move or fire over other amazon pieces. +

+Game play alternates turns, starting with the white player. Each turn an +amazon moves and fires an arrow, thus each turn another square becomes unusable. +The winner is the side that moves last. + + +

Strategies

+One way to judge a good move or position is by determining the number of +squares you can move to vs the number your opponent can move to. You can +exert good control over your opponent by limiting his options. The bad news +is, the computer can calculate this a lot faster and more accurately than you +can. If this is your only strategy, you're going to get wupped. +

+I've had good success by starting out with a full out attack on one amazon and +then working on positioning the rest in good locations. Try not to put your +amazons too close to each other, try and move them to separate places so they +own different squares. +

+The computer AI is a pretty decent player. It has a decent board evaluator, +but since there are so many different options to evaluate, it can't look very +far ahead until late in the game. It also can't plan strategies, like, "Ok, +I'm going to try and claim this area for myself, so I'll block this guy here and +then block that guy over there..." You can. Use it to your advantage. + + +

What the Buttons Do

+UNDO +
+
+ Sometimes you may accidentally drop a piece in a spot you didn't mean + to. It's especially touchy on laptop touchpads if you're not familiar + with them. If you've made an accident like this, you're in luck. Just + click on Undo and your amazon will move back. If, however, you fired + your arrow, you're out of luck. Once you've done that, the turn is + officially over and there's no going back (at least for now. If I hear + from enough whiners^H^H^H^H^H^users who feel this would be a useful + feature, I'll raise the priority of multiple undo. +
+

+FORCE MOVE +
+

+ Ok, it seemed like a good idea when i first designed the game, but it's + probably not all that useful right now. It's designed for the impatient + user who gets tired of waiting for the AI to move. Right now, you can + specify the maximum time for the AI to think each turn, so if you don't + like waiting, just set that to a low value. Eventually I'd like to give + the AI a variable time limit, perhaps within an overal set game time + (ie - it has 5 minutes to play its entire game, so budget that time as + best as possible). Then this button might come in handy if it + gets stuck on one move too long and you get impatient. +
+

+AUTO FINISH +
+

+ Ah, one of the most annoying parts about Amazons in general is finishing + the game. Once you get to the point where all the pieces are in their + own little areas, the game is pretty much decided. It's just tedious + filling in the squares until one side runs out. This button is meant to + remove this boredom. Technically, all it does is set both sides to AI + with only 1 second to think. Generally, filling in squares is pretty + brainless stuff. The only problem is, it doesn't always find the + optimal fillin method. It's entirely possible (and in weird complicated + areas, likely) that it will seal off squares you could've used. If + you've got a close game, you could lose because of such an error. + Eventually, I'll fix this to fill in the squares perfectly. But for + now, use at your own risk. +
+

+REPLAY +
+

+ This button will allow you to load a saved history file, and will let you + watch a game that the history file describes. In theory, you should be + able to load games from major tournaments, and be able to watch them in + Gamazons. Minor massaging of their notation might be necessary for Gamazons + to recognize it though. +
+

+STOP +
+

+ This will stop a running replay of a game. This will allow you to go back to + a game that might have turned out differently if you did something else. +
+

+REPLAY DELAY +
+

+ This sets the delay between moves in a game being replayed. +
+

+MOVEMENT SPEED +
+

+ This sets how fast the pieces slide across the board. For slower machines, the + sliding might be painfully slow. Incrementing this value may make it more + tolerable. +
+

+ + + +

Settings Menu

+ +PLAYER +
+
+ Here you have the ability to choose whether a side should be a human or + AI. You can also set some strange settings for how the AI works: how + long he thinks, how far ahead he should look, and how many options he + should evaluate. Really, all you need to worry about is how long you + want the AI to think. However, if you really want to see how the other + setting affect its gameplay, here's what they mean. +

+ The AI works by generating a search tree out of all the possible moves + it can make. First, it gives evaluates all of the moves it can make + this turn. Then it sorts them in a line, best move first, worst move + last. Then it looks at what its best move and what kind of moves its + opponent can make in response. Then the second best move, etc... all + the way down the line. A move's true value is not based solely on the + your move, but also what kind of move your opponent can do in response. +

+ The max search depth means how far deep it will look (ie - moves it + can make, then moves its opponent can make, then moves it can make + from there ...). +

+ The search width specifies how far down the line it will look evaluate + response values for. For instance, if there are 3000 possible opening + moves, what are the odds that the absolute worst opening move will + really turn out to be the best? Some theories say it's best to + evaluate all possible moves just to make sure there's not some trap in + ignoring something further down. So the default search width is 3000. + However, by evaluating the response of fewer moves, say 15-50 you reduce + the amount of work done at each level of the tree, thus you can see much + further ahead. Obviously, there's a balance to be made. And the + options exist so one can research the trade offs between searching wide + vs searching deep. +

+

+

+THEME +
+

+ Now you can select from a variety of themes that show give your gameboard + a different appearance. The theme files are very simple and just + contain the type of image and its location. If you're feeling creative, + go ahead and experiement with your own themes. If it looks halfway + decent, send it to me and I'll probably include it in the next release. + Note: Square images are 40x40 pixels, and the game pieces should fit + within that size. +
+

+ +FUTURE ENHANCEMENTS +
+

+ Soon you will see different difficulty + levels for the AI. If you're new to the game and sick and tired of + getting your can kicked every time, you'll be able to choose between + several levels of difficulty (I'll even throw in a level that plays + completely random so there's almost no way you could lose. Speaking of + which, remind me to add a feature that will detect if someone loses + against a random AI and have it email me the loser's name & email so I + can come back and taunt him). I would also like to break the AI up into + two different parts. So you could have black at level 9 with a + high max depth & high max width search play against white at level 6 + with a low max depth & max width search. It's really hard for me to + tell if a new heuristic is an improvement unless I can play it against + the old version, so I'm not even going to try to make a smarter AI until + these features are in. +
+ + + + diff --git a/src/interface.c b/src/interface.c new file mode 100644 index 0000000..c3200a5 --- /dev/null +++ b/src/interface.c @@ -0,0 +1,1002 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include + +#include + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + gtk_object_set_data_full (GTK_OBJECT (component), name, \ + gtk_widget_ref (widget), (GtkDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + gtk_object_set_data (GTK_OBJECT (component), name, widget) + +static GnomeUIInfo file1_menu_uiinfo[] = +{ + GNOMEUIINFO_MENU_NEW_ITEM (N_("_New"), NULL, on_new1_activate, NULL), + GNOMEUIINFO_MENU_OPEN_ITEM (on_open_activate, NULL), + GNOMEUIINFO_MENU_SAVE_AS_ITEM (on_save_as1_activate, NULL), + GNOMEUIINFO_SEPARATOR, + GNOMEUIINFO_MENU_EXIT_ITEM (on_quit1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo Settings_menu_uiinfo[] = +{ + { + GNOME_APP_UI_ITEM, N_("_Player"), + NULL, + (gpointer) on_player1_activate, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, + 0, (GdkModifierType) 0, NULL + }, + { + GNOME_APP_UI_ITEM, N_("_Theme"), + NULL, + (gpointer) on_theme1_activate, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, + 0, (GdkModifierType) 0, NULL + }, + GNOMEUIINFO_END +}; + +static GnomeUIInfo help1_menu_uiinfo[] = +{ + { + GNOME_APP_UI_ITEM, N_("_How To Play"), + NULL, + (gpointer) on_how_to_play1_activate, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, "gtk-help", + 0, (GdkModifierType) 0, NULL + }, + GNOMEUIINFO_MENU_ABOUT_ITEM (on_about1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo menubar1_uiinfo[] = +{ + GNOMEUIINFO_MENU_GAME_TREE (file1_menu_uiinfo), + GNOMEUIINFO_MENU_SETTINGS_TREE (Settings_menu_uiinfo), + GNOMEUIINFO_MENU_HELP_TREE (help1_menu_uiinfo), + GNOMEUIINFO_END +}; + +GtkWidget* +create_GamazonsMain (void) +{ + GtkWidget *GamazonsMain; + GtkWidget *vbox1; + GtkWidget *menubar1; + GtkWidget *scrolledwindow1; + GtkWidget *viewport1; + GtkWidget *hbox1; + GtkWidget *scrolledwindow2; + GtkWidget *viewport2; + GtkWidget *table1; + GtkWidget *hbox9; + GtkWidget *label30; + GtkWidget *label31; + GtkWidget *label32; + GtkWidget *label33; + GtkWidget *label34; + GtkWidget *label35; + GtkWidget *label36; + GtkWidget *label37; + GtkWidget *label38; + GtkWidget *label39; + GtkWidget *vbox7; + GtkWidget *label29; + GtkWidget *label28; + GtkWidget *label27; + GtkWidget *label26; + GtkWidget *label25; + GtkWidget *label24; + GtkWidget *label23; + GtkWidget *label22; + GtkWidget *label21; + GtkWidget *label20; + GtkWidget *vbox8; + GtkWidget *label40; + GtkWidget *label41; + GtkWidget *label42; + GtkWidget *label43; + GtkWidget *label44; + GtkWidget *label45; + GtkWidget *label46; + GtkWidget *label47; + GtkWidget *label48; + GtkWidget *label49; + GtkWidget *hbox10; + GtkWidget *label10; + GtkWidget *label11; + GtkWidget *label12; + GtkWidget *label13; + GtkWidget *label14; + GtkWidget *label15; + GtkWidget *label16; + GtkWidget *label17; + GtkWidget *label18; + GtkWidget *label19; + GtkWidget *scrolledwindow4; + GtkWidget *CNVS_GAMEBOARD; + AtkObject *atko; + GtkWidget *vbox2; + GtkWidget *vbox3; + GtkWidget *vbox4; + GtkWidget *label1; + GtkWidget *scrolledwindow3; + GtkWidget *viewport3; + GtkWidget *hbox11; + GtkWidget *scrolledwindow5; + GtkWidget *viewport4; + GtkWidget *vbox9; + GtkWidget *vbuttonbox1; + GtkWidget *BT_UNDO; + GtkWidget *BT_FORCEMOVE; + GtkWidget *BT_AUTOFINISH; + GtkWidget *hbox12; + GtkWidget *vbox12; + GtkWidget *hseparator2; + GtkWidget *vbuttonbox2; + GtkWidget *BT_REPLAY; + GtkWidget *BT_REPLAY_STOP; + GtkWidget *label50; + GtkObject *ReplayDelaySpinner_adj; + GtkWidget *ReplayDelaySpinner; + GtkWidget *hseparator3; + GtkWidget *vbox13; + GtkWidget *label51; + GtkObject *MovementSpeedSpinner_adj; + GtkWidget *MovementSpeedSpinner; + GtkWidget *scrolledwindow6; + GtkWidget *textview1; + GtkWidget *statusbar1; + + GamazonsMain = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_usize (GamazonsMain, 770, 510); + gtk_window_set_title (GTK_WINDOW (GamazonsMain), _("Gamazons")); + gtk_window_set_resizable (GTK_WINDOW (GamazonsMain), FALSE); + gtk_window_set_destroy_with_parent (GTK_WINDOW (GamazonsMain), TRUE); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (GamazonsMain), vbox1); + + menubar1 = gtk_menu_bar_new (); + gtk_widget_show (menubar1); + gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); + gnome_app_fill_menu (GTK_MENU_SHELL (menubar1), menubar1_uiinfo, + NULL, FALSE, 0); + + scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow1); + gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport1 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport1); + gtk_container_add (GTK_CONTAINER (scrolledwindow1), viewport1); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_container_add (GTK_CONTAINER (viewport1), hbox1); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow2); + gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow2, TRUE, TRUE, 0); + gtk_widget_set_usize (scrolledwindow2, 210, -2); + GTK_WIDGET_SET_FLAGS (scrolledwindow2, GTK_CAN_DEFAULT); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport2 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport2); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), viewport2); + + table1 = gtk_table_new (3, 3, FALSE); + gtk_widget_show (table1); + gtk_container_add (GTK_CONTAINER (viewport2), table1); + + hbox9 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox9); + gtk_table_attach (GTK_TABLE (table1), hbox9, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + label30 = gtk_label_new (_("a")); + gtk_widget_show (label30); + gtk_box_pack_start (GTK_BOX (hbox9), label30, FALSE, FALSE, 0); + gtk_widget_set_usize (label30, 40, 15); + gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT); + + label31 = gtk_label_new (_("b")); + gtk_widget_show (label31); + gtk_box_pack_start (GTK_BOX (hbox9), label31, FALSE, FALSE, 0); + gtk_widget_set_usize (label31, 40, 15); + gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT); + + label32 = gtk_label_new (_("c")); + gtk_widget_show (label32); + gtk_box_pack_start (GTK_BOX (hbox9), label32, FALSE, FALSE, 0); + gtk_widget_set_usize (label32, 40, 15); + gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT); + + label33 = gtk_label_new (_("d")); + gtk_widget_show (label33); + gtk_box_pack_start (GTK_BOX (hbox9), label33, FALSE, FALSE, 0); + gtk_widget_set_usize (label33, 40, 15); + gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT); + + label34 = gtk_label_new (_("e")); + gtk_widget_show (label34); + gtk_box_pack_start (GTK_BOX (hbox9), label34, FALSE, FALSE, 0); + gtk_widget_set_usize (label34, 40, 15); + gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT); + + label35 = gtk_label_new (_("f")); + gtk_widget_show (label35); + gtk_box_pack_start (GTK_BOX (hbox9), label35, FALSE, FALSE, 0); + gtk_widget_set_usize (label35, 40, 15); + gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT); + + label36 = gtk_label_new (_("g")); + gtk_widget_show (label36); + gtk_box_pack_start (GTK_BOX (hbox9), label36, FALSE, FALSE, 0); + gtk_widget_set_usize (label36, 40, 15); + gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT); + + label37 = gtk_label_new (_("h")); + gtk_widget_show (label37); + gtk_box_pack_start (GTK_BOX (hbox9), label37, FALSE, FALSE, 0); + gtk_widget_set_usize (label37, 40, 15); + gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT); + + label38 = gtk_label_new (_("i")); + gtk_widget_show (label38); + gtk_box_pack_start (GTK_BOX (hbox9), label38, FALSE, FALSE, 0); + gtk_widget_set_usize (label38, 40, 15); + gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT); + + label39 = gtk_label_new (_("j")); + gtk_widget_show (label39); + gtk_box_pack_start (GTK_BOX (hbox9), label39, FALSE, FALSE, 0); + gtk_widget_set_usize (label39, 40, 15); + gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT); + + vbox7 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox7); + gtk_table_attach (GTK_TABLE (table1), vbox7, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + label29 = gtk_label_new (_("10")); + gtk_widget_show (label29); + gtk_box_pack_start (GTK_BOX (vbox7), label29, FALSE, FALSE, 0); + gtk_widget_set_usize (label29, 15, 40); + gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT); + + label28 = gtk_label_new (_("9")); + gtk_widget_show (label28); + gtk_box_pack_start (GTK_BOX (vbox7), label28, FALSE, FALSE, 0); + gtk_widget_set_usize (label28, 15, 40); + gtk_label_set_justify (GTK_LABEL (label28), GTK_JUSTIFY_LEFT); + + label27 = gtk_label_new (_("8")); + gtk_widget_show (label27); + gtk_box_pack_start (GTK_BOX (vbox7), label27, FALSE, FALSE, 0); + gtk_widget_set_usize (label27, 15, 40); + gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT); + + label26 = gtk_label_new (_("7")); + gtk_widget_show (label26); + gtk_box_pack_start (GTK_BOX (vbox7), label26, FALSE, FALSE, 0); + gtk_widget_set_usize (label26, 15, 40); + gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT); + + label25 = gtk_label_new (_("6")); + gtk_widget_show (label25); + gtk_box_pack_start (GTK_BOX (vbox7), label25, FALSE, FALSE, 0); + gtk_widget_set_usize (label25, 15, 40); + gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT); + + label24 = gtk_label_new (_("5")); + gtk_widget_show (label24); + gtk_box_pack_start (GTK_BOX (vbox7), label24, FALSE, FALSE, 0); + gtk_widget_set_usize (label24, 15, 40); + gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT); + + label23 = gtk_label_new (_("4")); + gtk_widget_show (label23); + gtk_box_pack_start (GTK_BOX (vbox7), label23, FALSE, FALSE, 0); + gtk_widget_set_usize (label23, 15, 40); + gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT); + + label22 = gtk_label_new (_("3")); + gtk_widget_show (label22); + gtk_box_pack_start (GTK_BOX (vbox7), label22, FALSE, FALSE, 0); + gtk_widget_set_usize (label22, 15, 40); + gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT); + + label21 = gtk_label_new (_("2")); + gtk_widget_show (label21); + gtk_box_pack_start (GTK_BOX (vbox7), label21, FALSE, FALSE, 0); + gtk_widget_set_usize (label21, 15, 40); + gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT); + + label20 = gtk_label_new (_("1")); + gtk_widget_show (label20); + gtk_box_pack_start (GTK_BOX (vbox7), label20, FALSE, FALSE, 0); + gtk_widget_set_usize (label20, 15, 40); + gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_LEFT); + + vbox8 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox8); + gtk_table_attach (GTK_TABLE (table1), vbox8, 2, 3, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + label40 = gtk_label_new (_("10")); + gtk_widget_show (label40); + gtk_box_pack_start (GTK_BOX (vbox8), label40, FALSE, FALSE, 0); + gtk_widget_set_usize (label40, 15, 40); + gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT); + + label41 = gtk_label_new (_("9")); + gtk_widget_show (label41); + gtk_box_pack_start (GTK_BOX (vbox8), label41, FALSE, FALSE, 0); + gtk_widget_set_usize (label41, 15, 40); + gtk_label_set_justify (GTK_LABEL (label41), GTK_JUSTIFY_LEFT); + + label42 = gtk_label_new (_("8")); + gtk_widget_show (label42); + gtk_box_pack_start (GTK_BOX (vbox8), label42, FALSE, FALSE, 0); + gtk_widget_set_usize (label42, 15, 40); + gtk_label_set_justify (GTK_LABEL (label42), GTK_JUSTIFY_LEFT); + + label43 = gtk_label_new (_("7")); + gtk_widget_show (label43); + gtk_box_pack_start (GTK_BOX (vbox8), label43, FALSE, FALSE, 0); + gtk_widget_set_usize (label43, 15, 40); + gtk_label_set_justify (GTK_LABEL (label43), GTK_JUSTIFY_LEFT); + + label44 = gtk_label_new (_("6")); + gtk_widget_show (label44); + gtk_box_pack_start (GTK_BOX (vbox8), label44, FALSE, FALSE, 0); + gtk_widget_set_usize (label44, 15, 40); + gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT); + + label45 = gtk_label_new (_("5")); + gtk_widget_show (label45); + gtk_box_pack_start (GTK_BOX (vbox8), label45, FALSE, FALSE, 0); + gtk_widget_set_usize (label45, 15, 40); + gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT); + + label46 = gtk_label_new (_("4")); + gtk_widget_show (label46); + gtk_box_pack_start (GTK_BOX (vbox8), label46, FALSE, FALSE, 0); + gtk_widget_set_usize (label46, 15, 40); + gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT); + + label47 = gtk_label_new (_("3")); + gtk_widget_show (label47); + gtk_box_pack_start (GTK_BOX (vbox8), label47, FALSE, FALSE, 0); + gtk_widget_set_usize (label47, 15, 40); + gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT); + + label48 = gtk_label_new (_("2")); + gtk_widget_show (label48); + gtk_box_pack_start (GTK_BOX (vbox8), label48, FALSE, FALSE, 0); + gtk_widget_set_usize (label48, 15, 40); + gtk_label_set_justify (GTK_LABEL (label48), GTK_JUSTIFY_LEFT); + + label49 = gtk_label_new (_("1")); + gtk_widget_show (label49); + gtk_box_pack_start (GTK_BOX (vbox8), label49, FALSE, FALSE, 0); + gtk_widget_set_usize (label49, 15, 40); + gtk_label_set_justify (GTK_LABEL (label49), GTK_JUSTIFY_LEFT); + + hbox10 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox10); + gtk_table_attach (GTK_TABLE (table1), hbox10, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + label10 = gtk_label_new (_("a")); + gtk_widget_show (label10); + gtk_box_pack_start (GTK_BOX (hbox10), label10, FALSE, FALSE, 0); + gtk_widget_set_usize (label10, 40, 15); + gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT); + + label11 = gtk_label_new (_("b")); + gtk_widget_show (label11); + gtk_box_pack_start (GTK_BOX (hbox10), label11, FALSE, FALSE, 0); + gtk_widget_set_usize (label11, 40, 15); + gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT); + + label12 = gtk_label_new (_("c")); + gtk_widget_show (label12); + gtk_box_pack_start (GTK_BOX (hbox10), label12, FALSE, FALSE, 0); + gtk_widget_set_usize (label12, 40, 15); + gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT); + + label13 = gtk_label_new (_("d")); + gtk_widget_show (label13); + gtk_box_pack_start (GTK_BOX (hbox10), label13, FALSE, FALSE, 0); + gtk_widget_set_usize (label13, 40, 15); + gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_LEFT); + + label14 = gtk_label_new (_("e")); + gtk_widget_show (label14); + gtk_box_pack_start (GTK_BOX (hbox10), label14, FALSE, FALSE, 0); + gtk_widget_set_usize (label14, 40, 15); + gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT); + + label15 = gtk_label_new (_("f")); + gtk_widget_show (label15); + gtk_box_pack_start (GTK_BOX (hbox10), label15, FALSE, FALSE, 0); + gtk_widget_set_usize (label15, 40, 15); + gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT); + + label16 = gtk_label_new (_("g")); + gtk_widget_show (label16); + gtk_box_pack_start (GTK_BOX (hbox10), label16, FALSE, FALSE, 0); + gtk_widget_set_usize (label16, 40, 15); + gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT); + + label17 = gtk_label_new (_("h")); + gtk_widget_show (label17); + gtk_box_pack_start (GTK_BOX (hbox10), label17, FALSE, FALSE, 0); + gtk_widget_set_usize (label17, 40, 15); + gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT); + + label18 = gtk_label_new (_("i")); + gtk_widget_show (label18); + gtk_box_pack_start (GTK_BOX (hbox10), label18, FALSE, FALSE, 0); + gtk_widget_set_usize (label18, 40, 15); + gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT); + + label19 = gtk_label_new (_("j")); + gtk_widget_show (label19); + gtk_box_pack_start (GTK_BOX (hbox10), label19, FALSE, FALSE, 0); + gtk_widget_set_usize (label19, 40, 15); + gtk_label_set_justify (GTK_LABEL (label19), GTK_JUSTIFY_LEFT); + + scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow4); + gtk_table_attach (GTK_TABLE (table1), scrolledwindow4, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_NEVER, GTK_POLICY_NEVER); + + CNVS_GAMEBOARD = gnome_canvas_new (); + gtk_widget_show (CNVS_GAMEBOARD); + gtk_container_add (GTK_CONTAINER (scrolledwindow4), CNVS_GAMEBOARD); + gtk_widget_set_usize (CNVS_GAMEBOARD, 400, 400); + gnome_canvas_set_scroll_region (GNOME_CANVAS (CNVS_GAMEBOARD), 0, 0, 100, 100); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_box_pack_start (GTK_BOX (hbox1), vbox2, TRUE, TRUE, 0); + + vbox3 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox3); + gtk_box_pack_start (GTK_BOX (vbox2), vbox3, TRUE, TRUE, 0); + + vbox4 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox4); + gtk_box_pack_start (GTK_BOX (vbox3), vbox4, TRUE, TRUE, 0); + + label1 = gtk_label_new (_("Move History:")); + gtk_widget_show (label1); + gtk_box_pack_start (GTK_BOX (vbox4), label1, FALSE, FALSE, 0); + gtk_widget_set_usize (label1, 0, 40); + gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label1), 0.55, 0.72); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow3); + gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow3, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport3 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport3); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), viewport3); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport3), GTK_SHADOW_NONE); + + hbox11 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox11); + gtk_container_add (GTK_CONTAINER (viewport3), hbox11); + + scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow5); + gtk_box_pack_start (GTK_BOX (hbox11), scrolledwindow5, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport4 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport4); + gtk_container_add (GTK_CONTAINER (scrolledwindow5), viewport4); + gtk_widget_set_usize (viewport4, -2, 17); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport4), GTK_SHADOW_NONE); + + vbox9 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox9); + gtk_container_add (GTK_CONTAINER (viewport4), vbox9); + + vbuttonbox1 = gtk_vbutton_box_new (); + gtk_widget_show (vbuttonbox1); + gtk_box_pack_start (GTK_BOX (vbox9), vbuttonbox1, FALSE, TRUE, 0); + gtk_widget_set_usize (vbuttonbox1, -2, 105); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (vbuttonbox1), 0); + + BT_UNDO = gtk_button_new_with_mnemonic (_("Undo")); + gtk_widget_show (BT_UNDO); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), BT_UNDO); + gtk_widget_set_usize (BT_UNDO, -2, 30); + GTK_WIDGET_SET_FLAGS (BT_UNDO, GTK_CAN_DEFAULT); + + BT_FORCEMOVE = gtk_button_new_with_mnemonic (_("Force Move")); + gtk_widget_show (BT_FORCEMOVE); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), BT_FORCEMOVE); + gtk_widget_set_usize (BT_FORCEMOVE, 106, 30); + GTK_WIDGET_SET_FLAGS (BT_FORCEMOVE, GTK_CAN_DEFAULT); + + BT_AUTOFINISH = gtk_button_new_with_mnemonic (_("Autofinish")); + gtk_widget_show (BT_AUTOFINISH); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), BT_AUTOFINISH); + gtk_widget_set_usize (BT_AUTOFINISH, -2, 30); + GTK_WIDGET_SET_FLAGS (BT_AUTOFINISH, GTK_CAN_DEFAULT); + + hbox12 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox12); + gtk_box_pack_start (GTK_BOX (vbox9), hbox12, TRUE, TRUE, 0); + + vbox12 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox12); + gtk_box_pack_start (GTK_BOX (hbox12), vbox12, TRUE, TRUE, 0); + + hseparator2 = gtk_hseparator_new (); + gtk_widget_show (hseparator2); + gtk_box_pack_start (GTK_BOX (vbox12), hseparator2, FALSE, FALSE, 7); + + vbuttonbox2 = gtk_vbutton_box_new (); + gtk_widget_show (vbuttonbox2); + gtk_box_pack_start (GTK_BOX (vbox12), vbuttonbox2, FALSE, FALSE, 0); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (vbuttonbox2), 7); + + BT_REPLAY = gtk_button_new_with_mnemonic (_("Replay")); + gtk_widget_show (BT_REPLAY); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), BT_REPLAY); + gtk_widget_set_usize (BT_REPLAY, 107, -2); + GTK_WIDGET_SET_FLAGS (BT_REPLAY, GTK_CAN_DEFAULT); + + BT_REPLAY_STOP = gtk_button_new_with_mnemonic (_("Stop")); + gtk_widget_show (BT_REPLAY_STOP); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), BT_REPLAY_STOP); + gtk_widget_set_usize (BT_REPLAY_STOP, 37, -2); + GTK_WIDGET_SET_FLAGS (BT_REPLAY_STOP, GTK_CAN_DEFAULT); + + label50 = gtk_label_new (_("Replay Delay")); + gtk_widget_show (label50); + gtk_box_pack_start (GTK_BOX (vbox12), label50, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label50), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label50), 0.5, 0); + gtk_misc_set_padding (GTK_MISC (label50), 0, 4); + + ReplayDelaySpinner_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10); + ReplayDelaySpinner = gtk_spin_button_new (GTK_ADJUSTMENT (ReplayDelaySpinner_adj), 1, 0); + gtk_widget_show (ReplayDelaySpinner); + gtk_box_pack_start (GTK_BOX (vbox12), ReplayDelaySpinner, FALSE, FALSE, 0); + + hseparator3 = gtk_hseparator_new (); + gtk_widget_show (hseparator3); + gtk_box_pack_start (GTK_BOX (vbox12), hseparator3, FALSE, FALSE, 7); + + vbox13 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox13); + gtk_box_pack_start (GTK_BOX (vbox12), vbox13, TRUE, TRUE, 0); + + label51 = gtk_label_new (_("Movement Speed")); + gtk_widget_show (label51); + gtk_box_pack_start (GTK_BOX (vbox13), label51, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label51), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label51), 0.5, 0); + gtk_misc_set_padding (GTK_MISC (label51), 0, 4); + + MovementSpeedSpinner_adj = gtk_adjustment_new (1, 1, 10, 1, 10, 10); + MovementSpeedSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (MovementSpeedSpinner_adj), 1, 0); + gtk_widget_show (MovementSpeedSpinner); + gtk_box_pack_start (GTK_BOX (vbox13), MovementSpeedSpinner, FALSE, FALSE, 0); + + scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow6); + gtk_box_pack_start (GTK_BOX (hbox11), scrolledwindow6, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + textview1 = gtk_text_view_new (); + gtk_widget_show (textview1); + gtk_container_add (GTK_CONTAINER (scrolledwindow6), textview1); + gtk_widget_set_usize (textview1, 120, -2); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview1), FALSE); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview1), FALSE); + + statusbar1 = gtk_statusbar_new (); + gtk_widget_show (statusbar1); + gtk_box_pack_start (GTK_BOX (vbox1), statusbar1, FALSE, FALSE, 0); + + gtk_signal_connect (GTK_OBJECT (GamazonsMain), "destroy", + GTK_SIGNAL_FUNC (on_GamazonsMain_destroy), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_UNDO), "clicked", + GTK_SIGNAL_FUNC (on_BT_UNDO_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_FORCEMOVE), "clicked", + GTK_SIGNAL_FUNC (on_BT_FORCEMOVE_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_AUTOFINISH), "clicked", + GTK_SIGNAL_FUNC (on_BT_AUTOFINISH_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_REPLAY), "clicked", + GTK_SIGNAL_FUNC (on_BT_REPLAY_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_REPLAY_STOP), "clicked", + GTK_SIGNAL_FUNC (on_BT_REPLAY_STOP_clicked), + NULL); + + atko = gtk_widget_get_accessible (CNVS_GAMEBOARD); + atk_object_set_name (atko, _("CNVS_GAMEBOARD")); + + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (GamazonsMain, GamazonsMain, "GamazonsMain"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox1, "vbox1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1, "menubar1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1_uiinfo[0].widget, "file1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[0].widget, "new1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[1].widget, "open"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[2].widget, "save_as1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[3].widget, "separator1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[4].widget, "quit1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1_uiinfo[1].widget, "Settings"); + GLADE_HOOKUP_OBJECT (GamazonsMain, Settings_menu_uiinfo[0].widget, "player1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, Settings_menu_uiinfo[1].widget, "theme1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1_uiinfo[2].widget, "help1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, help1_menu_uiinfo[0].widget, "how_to_play1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, help1_menu_uiinfo[1].widget, "about1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow1, "scrolledwindow1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport1, "viewport1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow2, "scrolledwindow2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport2, "viewport2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, table1, "table1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox9, "hbox9"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label30, "label30"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label31, "label31"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label32, "label32"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label33, "label33"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label34, "label34"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label35, "label35"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label36, "label36"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label37, "label37"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label38, "label38"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label39, "label39"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label29, "label29"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label28, "label28"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label27, "label27"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label26, "label26"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label25, "label25"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label24, "label24"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label23, "label23"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label22, "label22"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label21, "label21"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label20, "label20"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox8, "vbox8"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label40, "label40"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label41, "label41"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label42, "label42"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label43, "label43"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label44, "label44"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label45, "label45"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label46, "label46"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label47, "label47"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label48, "label48"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label49, "label49"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox10, "hbox10"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label10, "label10"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label11, "label11"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label12, "label12"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label13, "label13"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label14, "label14"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label15, "label15"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label16, "label16"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label17, "label17"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label18, "label18"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label19, "label19"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow4, "scrolledwindow4"); + GLADE_HOOKUP_OBJECT (GamazonsMain, CNVS_GAMEBOARD, "CNVS_GAMEBOARD"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox2, "vbox2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox3, "vbox3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox4, "vbox4"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label1, "label1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow3, "scrolledwindow3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport3, "viewport3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox11, "hbox11"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow5, "scrolledwindow5"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport4, "viewport4"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox9, "vbox9"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbuttonbox1, "vbuttonbox1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_UNDO, "BT_UNDO"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_FORCEMOVE, "BT_FORCEMOVE"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_AUTOFINISH, "BT_AUTOFINISH"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox12, "hbox12"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox12, "vbox12"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hseparator2, "hseparator2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbuttonbox2, "vbuttonbox2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_REPLAY, "BT_REPLAY"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_REPLAY_STOP, "BT_REPLAY_STOP"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label50, "label50"); + GLADE_HOOKUP_OBJECT (GamazonsMain, ReplayDelaySpinner, "ReplayDelaySpinner"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hseparator3, "hseparator3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox13, "vbox13"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label51, "label51"); + GLADE_HOOKUP_OBJECT (GamazonsMain, MovementSpeedSpinner, "MovementSpeedSpinner"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow6, "scrolledwindow6"); + GLADE_HOOKUP_OBJECT (GamazonsMain, textview1, "textview1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, statusbar1, "statusbar1"); + + return GamazonsMain; +} + +GtkWidget* +create_PlayerSettings (void) +{ + GtkWidget *PlayerSettings; + GtkWidget *vbox5; + GtkWidget *hbox3; + GtkWidget *WhitePlayerLabel; + GtkWidget *WhiteHumanRadio; + GSList *WhiteHumanRadio_group = NULL; + GtkWidget *WhiteAIRadio; + GtkWidget *hbox4; + GtkWidget *BlackPlayerLabel; + GtkWidget *BlackHumanRadio; + GSList *BlackHumanRadio_group = NULL; + GtkWidget *BlackAIRadio; + GtkWidget *hseparator1; + GtkWidget *AISettings; + GtkWidget *hbox5; + GtkWidget *vbox6; + GtkWidget *hbox6; + GtkWidget *TimeLabel; + GtkWidget *SearchDepthLabel; + GtkWidget *SearchWidthLabel; + GtkWidget *hbox7; + GtkObject *TimeSpinner_adj; + GtkWidget *TimeSpinner; + GtkObject *DepthSpinner_adj; + GtkWidget *DepthSpinner; + GtkObject *WidthSpinner_adj; + GtkWidget *WidthSpinner; + GtkWidget *hbuttonbox3; + GtkWidget *PlayerOKButton; + GtkWidget *PlayerCancelButton; + GtkWidget *alignment1; + GtkWidget *hbox8; + GtkWidget *image1; + GtkWidget *label9; + + PlayerSettings = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_usize (PlayerSettings, 370, 185); + gtk_window_set_title (GTK_WINDOW (PlayerSettings), _("Player Settings")); + gtk_window_set_default_size (GTK_WINDOW (PlayerSettings), 300, 185); + gtk_window_set_resizable (GTK_WINDOW (PlayerSettings), FALSE); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (PlayerSettings), vbox5); + gtk_widget_set_usize (vbox5, -2, 70); + + hbox3 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox3); + gtk_box_pack_start (GTK_BOX (vbox5), hbox3, TRUE, TRUE, 0); + gtk_widget_set_usize (hbox3, -2, 2); + + WhitePlayerLabel = gtk_label_new (_("White Player:")); + gtk_widget_show (WhitePlayerLabel); + gtk_box_pack_start (GTK_BOX (hbox3), WhitePlayerLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (WhitePlayerLabel, 100, -2); + gtk_label_set_justify (GTK_LABEL (WhitePlayerLabel), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (WhitePlayerLabel), 0.3, 0.5); + + WhiteHumanRadio = gtk_radio_button_new_with_mnemonic (NULL, _("Human")); + gtk_widget_show (WhiteHumanRadio); + gtk_box_pack_start (GTK_BOX (hbox3), WhiteHumanRadio, FALSE, FALSE, 0); + gtk_widget_set_usize (WhiteHumanRadio, 85, -2); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (WhiteHumanRadio), WhiteHumanRadio_group); + WhiteHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (WhiteHumanRadio)); + + WhiteAIRadio = gtk_radio_button_new_with_mnemonic (NULL, _("AI")); + gtk_widget_show (WhiteAIRadio); + gtk_box_pack_start (GTK_BOX (hbox3), WhiteAIRadio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (WhiteAIRadio), WhiteHumanRadio_group); + WhiteHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (WhiteAIRadio)); + + hbox4 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox4); + gtk_box_pack_start (GTK_BOX (vbox5), hbox4, TRUE, TRUE, 0); + gtk_widget_set_usize (hbox4, -2, 2); + + BlackPlayerLabel = gtk_label_new (_("Black Player: ")); + gtk_widget_show (BlackPlayerLabel); + gtk_box_pack_start (GTK_BOX (hbox4), BlackPlayerLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (BlackPlayerLabel, 100, -2); + gtk_label_set_justify (GTK_LABEL (BlackPlayerLabel), GTK_JUSTIFY_LEFT); + + BlackHumanRadio = gtk_radio_button_new_with_mnemonic (NULL, _("Human")); + gtk_widget_show (BlackHumanRadio); + gtk_box_pack_start (GTK_BOX (hbox4), BlackHumanRadio, FALSE, FALSE, 0); + gtk_widget_set_usize (BlackHumanRadio, 85, -2); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (BlackHumanRadio), BlackHumanRadio_group); + BlackHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (BlackHumanRadio)); + + BlackAIRadio = gtk_radio_button_new_with_mnemonic (NULL, _("AI")); + gtk_widget_show (BlackAIRadio); + gtk_box_pack_start (GTK_BOX (hbox4), BlackAIRadio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (BlackAIRadio), BlackHumanRadio_group); + BlackHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (BlackAIRadio)); + + hseparator1 = gtk_hseparator_new (); + gtk_widget_show (hseparator1); + gtk_box_pack_start (GTK_BOX (vbox5), hseparator1, TRUE, TRUE, 0); + gtk_widget_set_usize (hseparator1, -2, 1); + + AISettings = gtk_label_new (_("AI Settings:")); + gtk_widget_show (AISettings); + gtk_box_pack_start (GTK_BOX (vbox5), AISettings, FALSE, FALSE, 0); + gtk_widget_set_usize (AISettings, -2, 15); + gtk_label_set_justify (GTK_LABEL (AISettings), GTK_JUSTIFY_LEFT); + + hbox5 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox5); + gtk_box_pack_start (GTK_BOX (vbox5), hbox5, TRUE, TRUE, 0); + + vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox6); + gtk_box_pack_start (GTK_BOX (hbox5), vbox6, TRUE, TRUE, 0); + gtk_widget_set_usize (vbox6, -2, 28); + + hbox6 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox6); + gtk_box_pack_start (GTK_BOX (vbox6), hbox6, TRUE, TRUE, 0); + + TimeLabel = gtk_label_new (_("Search Time: ")); + gtk_widget_show (TimeLabel); + gtk_box_pack_start (GTK_BOX (hbox6), TimeLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (TimeLabel, 121, -2); + gtk_label_set_justify (GTK_LABEL (TimeLabel), GTK_JUSTIFY_LEFT); + + SearchDepthLabel = gtk_label_new (_("Max Search Depth")); + gtk_widget_show (SearchDepthLabel); + gtk_box_pack_start (GTK_BOX (hbox6), SearchDepthLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (SearchDepthLabel, 127, -2); + + SearchWidthLabel = gtk_label_new (_("Max Search Width")); + gtk_widget_show (SearchWidthLabel); + gtk_box_pack_start (GTK_BOX (hbox6), SearchWidthLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (SearchWidthLabel, 112, -2); + gtk_label_set_justify (GTK_LABEL (SearchWidthLabel), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (SearchWidthLabel), 1, 0.5); + + hbox7 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox7); + gtk_box_pack_start (GTK_BOX (vbox6), hbox7, TRUE, TRUE, 0); + + TimeSpinner_adj = gtk_adjustment_new (5, 1, 100, 1, 10, 10); + TimeSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (TimeSpinner_adj), 1, 0); + gtk_widget_show (TimeSpinner); + gtk_box_pack_start (GTK_BOX (hbox7), TimeSpinner, TRUE, TRUE, 10); + gtk_widget_set_usize (TimeSpinner, 10, -2); + + DepthSpinner_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10); + DepthSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (DepthSpinner_adj), 1, 0); + gtk_widget_show (DepthSpinner); + gtk_box_pack_start (GTK_BOX (hbox7), DepthSpinner, TRUE, TRUE, 10); + gtk_widget_set_usize (DepthSpinner, 10, -2); + + WidthSpinner_adj = gtk_adjustment_new (1, 1, 3000, 1, 10, 10); + WidthSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (WidthSpinner_adj), 1, 0); + gtk_widget_show (WidthSpinner); + gtk_box_pack_start (GTK_BOX (hbox7), WidthSpinner, TRUE, TRUE, 10); + gtk_widget_set_usize (WidthSpinner, 10, -2); + + hbuttonbox3 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox3); + gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox3, TRUE, TRUE, 0); + gtk_widget_set_usize (hbuttonbox3, -2, 25); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 39); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox3), 0); + + PlayerOKButton = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (PlayerOKButton); + gtk_container_add (GTK_CONTAINER (hbuttonbox3), PlayerOKButton); + gtk_widget_set_usize (PlayerOKButton, 50, -2); + gtk_container_set_border_width (GTK_CONTAINER (PlayerOKButton), 10); + GTK_WIDGET_SET_FLAGS (PlayerOKButton, GTK_CAN_DEFAULT); + + PlayerCancelButton = gtk_button_new (); + gtk_widget_show (PlayerCancelButton); + gtk_container_add (GTK_CONTAINER (hbuttonbox3), PlayerCancelButton); + gtk_container_set_border_width (GTK_CONTAINER (PlayerCancelButton), 10); + GTK_WIDGET_SET_FLAGS (PlayerCancelButton, GTK_CAN_DEFAULT); + + alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment1); + gtk_container_add (GTK_CONTAINER (PlayerCancelButton), alignment1); + + hbox8 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox8); + gtk_container_add (GTK_CONTAINER (alignment1), hbox8); + + image1 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image1); + gtk_box_pack_start (GTK_BOX (hbox8), image1, FALSE, FALSE, 0); + + label9 = gtk_label_new_with_mnemonic (_("Cancel")); + gtk_widget_show (label9); + gtk_box_pack_start (GTK_BOX (hbox8), label9, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT); + + gtk_signal_connect (GTK_OBJECT (PlayerOKButton), "clicked", + GTK_SIGNAL_FUNC (on_PlayerOKButton_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (PlayerCancelButton), "clicked", + GTK_SIGNAL_FUNC (on_PlayerCancelButton_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (PlayerSettings, PlayerSettings, "PlayerSettings"); + GLADE_HOOKUP_OBJECT (PlayerSettings, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox3, "hbox3"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WhitePlayerLabel, "WhitePlayerLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WhiteHumanRadio, "WhiteHumanRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WhiteAIRadio, "WhiteAIRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox4, "hbox4"); + GLADE_HOOKUP_OBJECT (PlayerSettings, BlackPlayerLabel, "BlackPlayerLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, BlackHumanRadio, "BlackHumanRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, BlackAIRadio, "BlackAIRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hseparator1, "hseparator1"); + GLADE_HOOKUP_OBJECT (PlayerSettings, AISettings, "AISettings"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox5, "hbox5"); + GLADE_HOOKUP_OBJECT (PlayerSettings, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox6, "hbox6"); + GLADE_HOOKUP_OBJECT (PlayerSettings, TimeLabel, "TimeLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, SearchDepthLabel, "SearchDepthLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, SearchWidthLabel, "SearchWidthLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox7, "hbox7"); + GLADE_HOOKUP_OBJECT (PlayerSettings, TimeSpinner, "TimeSpinner"); + GLADE_HOOKUP_OBJECT (PlayerSettings, DepthSpinner, "DepthSpinner"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WidthSpinner, "WidthSpinner"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbuttonbox3, "hbuttonbox3"); + GLADE_HOOKUP_OBJECT (PlayerSettings, PlayerOKButton, "PlayerOKButton"); + GLADE_HOOKUP_OBJECT (PlayerSettings, PlayerCancelButton, "PlayerCancelButton"); + GLADE_HOOKUP_OBJECT (PlayerSettings, alignment1, "alignment1"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox8, "hbox8"); + GLADE_HOOKUP_OBJECT (PlayerSettings, image1, "image1"); + GLADE_HOOKUP_OBJECT (PlayerSettings, label9, "label9"); + + return PlayerSettings; +} + diff --git a/src/interface.c.bak b/src/interface.c.bak new file mode 100644 index 0000000..7ee075d --- /dev/null +++ b/src/interface.c.bak @@ -0,0 +1,996 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include + +#include + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + gtk_object_set_data_full (GTK_OBJECT (component), name, \ + gtk_widget_ref (widget), (GtkDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + gtk_object_set_data (GTK_OBJECT (component), name, widget) + +static GnomeUIInfo file1_menu_uiinfo[] = +{ + GNOMEUIINFO_MENU_NEW_ITEM (N_("_New"), NULL, on_new1_activate, NULL), + GNOMEUIINFO_MENU_OPEN_ITEM (on_open_activate, NULL), + GNOMEUIINFO_MENU_SAVE_AS_ITEM (on_save_as1_activate, NULL), + GNOMEUIINFO_SEPARATOR, + GNOMEUIINFO_MENU_EXIT_ITEM (on_quit1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo Settings_menu_uiinfo[] = +{ + { + GNOME_APP_UI_ITEM, N_("_Player"), + NULL, + (gpointer) on_player1_activate, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, + 0, (GdkModifierType) 0, NULL + }, + { + GNOME_APP_UI_ITEM, N_("_Theme"), + NULL, + (gpointer) on_theme1_activate, NULL, NULL, + GNOME_APP_PIXMAP_NONE, NULL, + 0, (GdkModifierType) 0, NULL + }, + GNOMEUIINFO_END +}; + +static GnomeUIInfo help1_menu_uiinfo[] = +{ + { + GNOME_APP_UI_ITEM, N_("_How To Play"), + NULL, + (gpointer) on_how_to_play1_activate, NULL, NULL, + GNOME_APP_PIXMAP_STOCK, "gtk-help", + 0, (GdkModifierType) 0, NULL + }, + GNOMEUIINFO_MENU_ABOUT_ITEM (on_about1_activate, NULL), + GNOMEUIINFO_END +}; + +static GnomeUIInfo menubar1_uiinfo[] = +{ + GNOMEUIINFO_MENU_GAME_TREE (file1_menu_uiinfo), + GNOMEUIINFO_MENU_SETTINGS_TREE (Settings_menu_uiinfo), + GNOMEUIINFO_MENU_HELP_TREE (help1_menu_uiinfo), + GNOMEUIINFO_END +}; + +GtkWidget* +create_GamazonsMain (void) +{ + GtkWidget *GamazonsMain; + GtkWidget *vbox1; + GtkWidget *menubar1; + GtkWidget *scrolledwindow1; + GtkWidget *viewport1; + GtkWidget *hbox1; + GtkWidget *scrolledwindow2; + GtkWidget *viewport2; + GtkWidget *table1; + GtkWidget *hbox9; + GtkWidget *label30; + GtkWidget *label31; + GtkWidget *label32; + GtkWidget *label33; + GtkWidget *label34; + GtkWidget *label35; + GtkWidget *label36; + GtkWidget *label37; + GtkWidget *label38; + GtkWidget *label39; + GtkWidget *vbox7; + GtkWidget *label29; + GtkWidget *label28; + GtkWidget *label27; + GtkWidget *label26; + GtkWidget *label25; + GtkWidget *label24; + GtkWidget *label23; + GtkWidget *label22; + GtkWidget *label21; + GtkWidget *label20; + GtkWidget *vbox8; + GtkWidget *label40; + GtkWidget *label41; + GtkWidget *label42; + GtkWidget *label43; + GtkWidget *label44; + GtkWidget *label45; + GtkWidget *label46; + GtkWidget *label47; + GtkWidget *label48; + GtkWidget *label49; + GtkWidget *hbox10; + GtkWidget *label10; + GtkWidget *label11; + GtkWidget *label12; + GtkWidget *label13; + GtkWidget *label14; + GtkWidget *label15; + GtkWidget *label16; + GtkWidget *label17; + GtkWidget *label18; + GtkWidget *label19; + GtkWidget *scrolledwindow4; + GtkWidget *CNVS_GAMEBOARD; + AtkObject *atko; + GtkWidget *vbox2; + GtkWidget *vbox3; + GtkWidget *vbox4; + GtkWidget *label1; + GtkWidget *scrolledwindow3; + GtkWidget *viewport3; + GtkWidget *hbox11; + GtkWidget *scrolledwindow5; + GtkWidget *viewport4; + GtkWidget *vbox9; + GtkWidget *vbuttonbox1; + GtkWidget *BT_UNDO; + GtkWidget *BT_FORCEMOVE; + GtkWidget *BT_AUTOFINISH; + GtkWidget *hbox12; + GtkWidget *vbox12; + GtkWidget *hseparator2; + GtkWidget *vbuttonbox2; + GtkWidget *BT_REPLAY; + GtkWidget *BT_REPLAY_STOP; + GtkWidget *label50; + GtkObject *ReplayDelaySpinner_adj; + GtkWidget *ReplayDelaySpinner; + GtkWidget *hseparator3; + GtkWidget *vbox13; + GtkWidget *label51; + GtkObject *MovementSpeedSpinner_adj; + GtkWidget *MovementSpeedSpinner; + GtkWidget *scrolledwindow6; + GtkWidget *textview1; + GtkWidget *statusbar1; + + GamazonsMain = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_usize (GamazonsMain, 770, 510); + gtk_window_set_title (GTK_WINDOW (GamazonsMain), _("Gamazons")); + gtk_window_set_resizable (GTK_WINDOW (GamazonsMain), FALSE); + gtk_window_set_destroy_with_parent (GTK_WINDOW (GamazonsMain), TRUE); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (GamazonsMain), vbox1); + + menubar1 = gtk_menu_bar_new (); + gtk_widget_show (menubar1); + gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); + gnome_app_fill_menu (GTK_MENU_SHELL (menubar1), menubar1_uiinfo, + NULL, FALSE, 0); + + scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow1); + gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport1 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport1); + gtk_container_add (GTK_CONTAINER (scrolledwindow1), viewport1); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_container_add (GTK_CONTAINER (viewport1), hbox1); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow2); + gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow2, TRUE, TRUE, 0); + gtk_widget_set_usize (scrolledwindow2, 210, -2); + GTK_WIDGET_SET_FLAGS (scrolledwindow2, GTK_CAN_DEFAULT); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport2 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport2); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), viewport2); + + table1 = gtk_table_new (3, 3, FALSE); + gtk_widget_show (table1); + gtk_container_add (GTK_CONTAINER (viewport2), table1); + + hbox9 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox9); + gtk_table_attach (GTK_TABLE (table1), hbox9, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + label30 = gtk_label_new (_("a")); + gtk_widget_show (label30); + gtk_box_pack_start (GTK_BOX (hbox9), label30, FALSE, FALSE, 0); + gtk_widget_set_usize (label30, 40, 15); + gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT); + + label31 = gtk_label_new (_("b")); + gtk_widget_show (label31); + gtk_box_pack_start (GTK_BOX (hbox9), label31, FALSE, FALSE, 0); + gtk_widget_set_usize (label31, 40, 15); + gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT); + + label32 = gtk_label_new (_("c")); + gtk_widget_show (label32); + gtk_box_pack_start (GTK_BOX (hbox9), label32, FALSE, FALSE, 0); + gtk_widget_set_usize (label32, 40, 15); + gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT); + + label33 = gtk_label_new (_("d")); + gtk_widget_show (label33); + gtk_box_pack_start (GTK_BOX (hbox9), label33, FALSE, FALSE, 0); + gtk_widget_set_usize (label33, 40, 15); + gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT); + + label34 = gtk_label_new (_("e")); + gtk_widget_show (label34); + gtk_box_pack_start (GTK_BOX (hbox9), label34, FALSE, FALSE, 0); + gtk_widget_set_usize (label34, 40, 15); + gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT); + + label35 = gtk_label_new (_("f")); + gtk_widget_show (label35); + gtk_box_pack_start (GTK_BOX (hbox9), label35, FALSE, FALSE, 0); + gtk_widget_set_usize (label35, 40, 15); + gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT); + + label36 = gtk_label_new (_("g")); + gtk_widget_show (label36); + gtk_box_pack_start (GTK_BOX (hbox9), label36, FALSE, FALSE, 0); + gtk_widget_set_usize (label36, 40, 15); + gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT); + + label37 = gtk_label_new (_("h")); + gtk_widget_show (label37); + gtk_box_pack_start (GTK_BOX (hbox9), label37, FALSE, FALSE, 0); + gtk_widget_set_usize (label37, 40, 15); + gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT); + + label38 = gtk_label_new (_("i")); + gtk_widget_show (label38); + gtk_box_pack_start (GTK_BOX (hbox9), label38, FALSE, FALSE, 0); + gtk_widget_set_usize (label38, 40, 15); + gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT); + + label39 = gtk_label_new (_("j")); + gtk_widget_show (label39); + gtk_box_pack_start (GTK_BOX (hbox9), label39, FALSE, FALSE, 0); + gtk_widget_set_usize (label39, 40, 15); + gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT); + + vbox7 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox7); + gtk_table_attach (GTK_TABLE (table1), vbox7, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + label29 = gtk_label_new (_("10")); + gtk_widget_show (label29); + gtk_box_pack_start (GTK_BOX (vbox7), label29, FALSE, FALSE, 0); + gtk_widget_set_usize (label29, 15, 40); + gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT); + + label28 = gtk_label_new (_("9")); + gtk_widget_show (label28); + gtk_box_pack_start (GTK_BOX (vbox7), label28, FALSE, FALSE, 0); + gtk_widget_set_usize (label28, 15, 40); + gtk_label_set_justify (GTK_LABEL (label28), GTK_JUSTIFY_LEFT); + + label27 = gtk_label_new (_("8")); + gtk_widget_show (label27); + gtk_box_pack_start (GTK_BOX (vbox7), label27, FALSE, FALSE, 0); + gtk_widget_set_usize (label27, 15, 40); + gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT); + + label26 = gtk_label_new (_("7")); + gtk_widget_show (label26); + gtk_box_pack_start (GTK_BOX (vbox7), label26, FALSE, FALSE, 0); + gtk_widget_set_usize (label26, 15, 40); + gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT); + + label25 = gtk_label_new (_("6")); + gtk_widget_show (label25); + gtk_box_pack_start (GTK_BOX (vbox7), label25, FALSE, FALSE, 0); + gtk_widget_set_usize (label25, 15, 40); + gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT); + + label24 = gtk_label_new (_("5")); + gtk_widget_show (label24); + gtk_box_pack_start (GTK_BOX (vbox7), label24, FALSE, FALSE, 0); + gtk_widget_set_usize (label24, 15, 40); + gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT); + + label23 = gtk_label_new (_("4")); + gtk_widget_show (label23); + gtk_box_pack_start (GTK_BOX (vbox7), label23, FALSE, FALSE, 0); + gtk_widget_set_usize (label23, 15, 40); + gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT); + + label22 = gtk_label_new (_("3")); + gtk_widget_show (label22); + gtk_box_pack_start (GTK_BOX (vbox7), label22, FALSE, FALSE, 0); + gtk_widget_set_usize (label22, 15, 40); + gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT); + + label21 = gtk_label_new (_("2")); + gtk_widget_show (label21); + gtk_box_pack_start (GTK_BOX (vbox7), label21, FALSE, FALSE, 0); + gtk_widget_set_usize (label21, 15, 40); + gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT); + + label20 = gtk_label_new (_("1")); + gtk_widget_show (label20); + gtk_box_pack_start (GTK_BOX (vbox7), label20, FALSE, FALSE, 0); + gtk_widget_set_usize (label20, 15, 40); + gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_LEFT); + + vbox8 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox8); + gtk_table_attach (GTK_TABLE (table1), vbox8, 2, 3, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + label40 = gtk_label_new (_("10")); + gtk_widget_show (label40); + gtk_box_pack_start (GTK_BOX (vbox8), label40, FALSE, FALSE, 0); + gtk_widget_set_usize (label40, 15, 40); + gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT); + + label41 = gtk_label_new (_("9")); + gtk_widget_show (label41); + gtk_box_pack_start (GTK_BOX (vbox8), label41, FALSE, FALSE, 0); + gtk_widget_set_usize (label41, 15, 40); + gtk_label_set_justify (GTK_LABEL (label41), GTK_JUSTIFY_LEFT); + + label42 = gtk_label_new (_("8")); + gtk_widget_show (label42); + gtk_box_pack_start (GTK_BOX (vbox8), label42, FALSE, FALSE, 0); + gtk_widget_set_usize (label42, 15, 40); + gtk_label_set_justify (GTK_LABEL (label42), GTK_JUSTIFY_LEFT); + + label43 = gtk_label_new (_("7")); + gtk_widget_show (label43); + gtk_box_pack_start (GTK_BOX (vbox8), label43, FALSE, FALSE, 0); + gtk_widget_set_usize (label43, 15, 40); + gtk_label_set_justify (GTK_LABEL (label43), GTK_JUSTIFY_LEFT); + + label44 = gtk_label_new (_("6")); + gtk_widget_show (label44); + gtk_box_pack_start (GTK_BOX (vbox8), label44, FALSE, FALSE, 0); + gtk_widget_set_usize (label44, 15, 40); + gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT); + + label45 = gtk_label_new (_("5")); + gtk_widget_show (label45); + gtk_box_pack_start (GTK_BOX (vbox8), label45, FALSE, FALSE, 0); + gtk_widget_set_usize (label45, 15, 40); + gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT); + + label46 = gtk_label_new (_("4")); + gtk_widget_show (label46); + gtk_box_pack_start (GTK_BOX (vbox8), label46, FALSE, FALSE, 0); + gtk_widget_set_usize (label46, 15, 40); + gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT); + + label47 = gtk_label_new (_("3")); + gtk_widget_show (label47); + gtk_box_pack_start (GTK_BOX (vbox8), label47, FALSE, FALSE, 0); + gtk_widget_set_usize (label47, 15, 40); + gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT); + + label48 = gtk_label_new (_("2")); + gtk_widget_show (label48); + gtk_box_pack_start (GTK_BOX (vbox8), label48, FALSE, FALSE, 0); + gtk_widget_set_usize (label48, 15, 40); + gtk_label_set_justify (GTK_LABEL (label48), GTK_JUSTIFY_LEFT); + + label49 = gtk_label_new (_("1")); + gtk_widget_show (label49); + gtk_box_pack_start (GTK_BOX (vbox8), label49, FALSE, FALSE, 0); + gtk_widget_set_usize (label49, 15, 40); + gtk_label_set_justify (GTK_LABEL (label49), GTK_JUSTIFY_LEFT); + + hbox10 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox10); + gtk_table_attach (GTK_TABLE (table1), hbox10, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + label10 = gtk_label_new (_("a")); + gtk_widget_show (label10); + gtk_box_pack_start (GTK_BOX (hbox10), label10, FALSE, FALSE, 0); + gtk_widget_set_usize (label10, 40, 15); + gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT); + + label11 = gtk_label_new (_("b")); + gtk_widget_show (label11); + gtk_box_pack_start (GTK_BOX (hbox10), label11, FALSE, FALSE, 0); + gtk_widget_set_usize (label11, 40, 15); + gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT); + + label12 = gtk_label_new (_("c")); + gtk_widget_show (label12); + gtk_box_pack_start (GTK_BOX (hbox10), label12, FALSE, FALSE, 0); + gtk_widget_set_usize (label12, 40, 15); + gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT); + + label13 = gtk_label_new (_("d")); + gtk_widget_show (label13); + gtk_box_pack_start (GTK_BOX (hbox10), label13, FALSE, FALSE, 0); + gtk_widget_set_usize (label13, 40, 15); + gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_LEFT); + + label14 = gtk_label_new (_("e")); + gtk_widget_show (label14); + gtk_box_pack_start (GTK_BOX (hbox10), label14, FALSE, FALSE, 0); + gtk_widget_set_usize (label14, 40, 15); + gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT); + + label15 = gtk_label_new (_("f")); + gtk_widget_show (label15); + gtk_box_pack_start (GTK_BOX (hbox10), label15, FALSE, FALSE, 0); + gtk_widget_set_usize (label15, 40, 15); + gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT); + + label16 = gtk_label_new (_("g")); + gtk_widget_show (label16); + gtk_box_pack_start (GTK_BOX (hbox10), label16, FALSE, FALSE, 0); + gtk_widget_set_usize (label16, 40, 15); + gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT); + + label17 = gtk_label_new (_("h")); + gtk_widget_show (label17); + gtk_box_pack_start (GTK_BOX (hbox10), label17, FALSE, FALSE, 0); + gtk_widget_set_usize (label17, 40, 15); + gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT); + + label18 = gtk_label_new (_("i")); + gtk_widget_show (label18); + gtk_box_pack_start (GTK_BOX (hbox10), label18, FALSE, FALSE, 0); + gtk_widget_set_usize (label18, 40, 15); + gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT); + + label19 = gtk_label_new (_("j")); + gtk_widget_show (label19); + gtk_box_pack_start (GTK_BOX (hbox10), label19, FALSE, FALSE, 0); + gtk_widget_set_usize (label19, 40, 15); + gtk_label_set_justify (GTK_LABEL (label19), GTK_JUSTIFY_LEFT); + + scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow4); + gtk_table_attach (GTK_TABLE (table1), scrolledwindow4, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_NEVER, GTK_POLICY_NEVER); + + CNVS_GAMEBOARD = gnome_canvas_new (); + gtk_widget_show (CNVS_GAMEBOARD); + gtk_container_add (GTK_CONTAINER (scrolledwindow4), CNVS_GAMEBOARD); + gtk_widget_set_usize (CNVS_GAMEBOARD, 400, 400); + gnome_canvas_set_scroll_region (GNOME_CANVAS (CNVS_GAMEBOARD), 0, 0, 100, 100); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_box_pack_start (GTK_BOX (hbox1), vbox2, TRUE, TRUE, 0); + + vbox3 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox3); + gtk_box_pack_start (GTK_BOX (vbox2), vbox3, TRUE, TRUE, 0); + + vbox4 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox4); + gtk_box_pack_start (GTK_BOX (vbox3), vbox4, TRUE, TRUE, 0); + + label1 = gtk_label_new (_("Move History:")); + gtk_widget_show (label1); + gtk_box_pack_start (GTK_BOX (vbox4), label1, FALSE, FALSE, 0); + gtk_widget_set_usize (label1, 0, 40); + gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label1), 0.55, 0.72); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow3); + gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow3, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport3 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport3); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), viewport3); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport3), GTK_SHADOW_NONE); + + hbox11 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox11); + gtk_container_add (GTK_CONTAINER (viewport3), hbox11); + + scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow5); + gtk_box_pack_start (GTK_BOX (hbox11), scrolledwindow5, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + viewport4 = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport4); + gtk_container_add (GTK_CONTAINER (scrolledwindow5), viewport4); + gtk_widget_set_usize (viewport4, -2, 17); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport4), GTK_SHADOW_NONE); + + vbox9 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox9); + gtk_container_add (GTK_CONTAINER (viewport4), vbox9); + + vbuttonbox1 = gtk_vbutton_box_new (); + gtk_widget_show (vbuttonbox1); + gtk_box_pack_start (GTK_BOX (vbox9), vbuttonbox1, FALSE, TRUE, 0); + gtk_widget_set_usize (vbuttonbox1, -2, 105); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (vbuttonbox1), 0); + + BT_UNDO = gtk_button_new_with_mnemonic (_("Undo")); + gtk_widget_show (BT_UNDO); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), BT_UNDO); + gtk_widget_set_usize (BT_UNDO, -2, 30); + GTK_WIDGET_SET_FLAGS (BT_UNDO, GTK_CAN_DEFAULT); + + BT_FORCEMOVE = gtk_button_new_with_mnemonic (_("Force Move")); + gtk_widget_show (BT_FORCEMOVE); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), BT_FORCEMOVE); + gtk_widget_set_usize (BT_FORCEMOVE, 106, 30); + GTK_WIDGET_SET_FLAGS (BT_FORCEMOVE, GTK_CAN_DEFAULT); + + BT_AUTOFINISH = gtk_button_new_with_mnemonic (_("Autofinish")); + gtk_widget_show (BT_AUTOFINISH); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), BT_AUTOFINISH); + gtk_widget_set_usize (BT_AUTOFINISH, -2, 30); + GTK_WIDGET_SET_FLAGS (BT_AUTOFINISH, GTK_CAN_DEFAULT); + + hbox12 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox12); + gtk_box_pack_start (GTK_BOX (vbox9), hbox12, TRUE, TRUE, 0); + + vbox12 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox12); + gtk_box_pack_start (GTK_BOX (hbox12), vbox12, TRUE, TRUE, 0); + + hseparator2 = gtk_hseparator_new (); + gtk_widget_show (hseparator2); + gtk_box_pack_start (GTK_BOX (vbox12), hseparator2, FALSE, FALSE, 7); + + vbuttonbox2 = gtk_vbutton_box_new (); + gtk_widget_show (vbuttonbox2); + gtk_box_pack_start (GTK_BOX (vbox12), vbuttonbox2, FALSE, FALSE, 0); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (vbuttonbox2), 7); + + BT_REPLAY = gtk_button_new_with_mnemonic (_("Replay")); + gtk_widget_show (BT_REPLAY); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), BT_REPLAY); + gtk_widget_set_usize (BT_REPLAY, 107, -2); + GTK_WIDGET_SET_FLAGS (BT_REPLAY, GTK_CAN_DEFAULT); + + BT_REPLAY_STOP = gtk_button_new_with_mnemonic (_("Stop")); + gtk_widget_show (BT_REPLAY_STOP); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), BT_REPLAY_STOP); + gtk_widget_set_usize (BT_REPLAY_STOP, 37, -2); + GTK_WIDGET_SET_FLAGS (BT_REPLAY_STOP, GTK_CAN_DEFAULT); + + label50 = gtk_label_new (_("Replay Delay")); + gtk_widget_show (label50); + gtk_box_pack_start (GTK_BOX (vbox12), label50, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label50), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label50), 0.5, 0); + gtk_misc_set_padding (GTK_MISC (label50), 0, 4); + + ReplayDelaySpinner_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10); + ReplayDelaySpinner = gtk_spin_button_new (GTK_ADJUSTMENT (ReplayDelaySpinner_adj), 1, 0); + gtk_widget_show (ReplayDelaySpinner); + gtk_box_pack_start (GTK_BOX (vbox12), ReplayDelaySpinner, FALSE, FALSE, 0); + + hseparator3 = gtk_hseparator_new (); + gtk_widget_show (hseparator3); + gtk_box_pack_start (GTK_BOX (vbox12), hseparator3, FALSE, FALSE, 7); + + vbox13 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox13); + gtk_box_pack_start (GTK_BOX (vbox12), vbox13, TRUE, TRUE, 0); + + label51 = gtk_label_new (_("Movement Speed")); + gtk_widget_show (label51); + gtk_box_pack_start (GTK_BOX (vbox13), label51, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label51), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label51), 0.5, 0); + gtk_misc_set_padding (GTK_MISC (label51), 0, 4); + + MovementSpeedSpinner_adj = gtk_adjustment_new (1, 1, 10, 1, 10, 10); + MovementSpeedSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (MovementSpeedSpinner_adj), 1, 0); + gtk_widget_show (MovementSpeedSpinner); + gtk_box_pack_start (GTK_BOX (vbox13), MovementSpeedSpinner, FALSE, FALSE, 0); + + scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow6); + gtk_box_pack_start (GTK_BOX (hbox11), scrolledwindow6, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + textview1 = gtk_text_view_new (); + gtk_widget_show (textview1); + gtk_container_add (GTK_CONTAINER (scrolledwindow6), textview1); + gtk_widget_set_usize (textview1, 120, -2); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview1), FALSE); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview1), FALSE); + + statusbar1 = gtk_statusbar_new (); + gtk_widget_show (statusbar1); + gtk_box_pack_start (GTK_BOX (vbox1), statusbar1, FALSE, FALSE, 0); + + gtk_signal_connect (GTK_OBJECT (GamazonsMain), "destroy", + GTK_SIGNAL_FUNC (on_GamazonsMain_destroy), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_UNDO), "clicked", + GTK_SIGNAL_FUNC (on_BT_UNDO_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_FORCEMOVE), "clicked", + GTK_SIGNAL_FUNC (on_BT_FORCEMOVE_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (BT_AUTOFINISH), "clicked", + GTK_SIGNAL_FUNC (on_BT_AUTOFINISH_clicked), + NULL); + + atko = gtk_widget_get_accessible (CNVS_GAMEBOARD); + atk_object_set_name (atko, _("CNVS_GAMEBOARD")); + + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (GamazonsMain, GamazonsMain, "GamazonsMain"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox1, "vbox1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1, "menubar1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1_uiinfo[0].widget, "file1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[0].widget, "new1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[1].widget, "open"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[2].widget, "save_as1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[3].widget, "separator1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, file1_menu_uiinfo[4].widget, "quit1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1_uiinfo[1].widget, "Settings"); + GLADE_HOOKUP_OBJECT (GamazonsMain, Settings_menu_uiinfo[0].widget, "player1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, Settings_menu_uiinfo[1].widget, "theme1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, menubar1_uiinfo[2].widget, "help1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, help1_menu_uiinfo[0].widget, "how_to_play1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, help1_menu_uiinfo[1].widget, "about1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow1, "scrolledwindow1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport1, "viewport1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow2, "scrolledwindow2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport2, "viewport2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, table1, "table1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox9, "hbox9"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label30, "label30"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label31, "label31"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label32, "label32"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label33, "label33"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label34, "label34"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label35, "label35"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label36, "label36"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label37, "label37"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label38, "label38"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label39, "label39"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label29, "label29"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label28, "label28"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label27, "label27"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label26, "label26"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label25, "label25"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label24, "label24"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label23, "label23"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label22, "label22"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label21, "label21"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label20, "label20"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox8, "vbox8"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label40, "label40"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label41, "label41"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label42, "label42"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label43, "label43"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label44, "label44"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label45, "label45"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label46, "label46"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label47, "label47"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label48, "label48"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label49, "label49"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox10, "hbox10"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label10, "label10"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label11, "label11"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label12, "label12"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label13, "label13"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label14, "label14"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label15, "label15"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label16, "label16"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label17, "label17"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label18, "label18"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label19, "label19"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow4, "scrolledwindow4"); + GLADE_HOOKUP_OBJECT (GamazonsMain, CNVS_GAMEBOARD, "CNVS_GAMEBOARD"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox2, "vbox2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox3, "vbox3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox4, "vbox4"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label1, "label1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow3, "scrolledwindow3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport3, "viewport3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox11, "hbox11"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow5, "scrolledwindow5"); + GLADE_HOOKUP_OBJECT (GamazonsMain, viewport4, "viewport4"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox9, "vbox9"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbuttonbox1, "vbuttonbox1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_UNDO, "BT_UNDO"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_FORCEMOVE, "BT_FORCEMOVE"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_AUTOFINISH, "BT_AUTOFINISH"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hbox12, "hbox12"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox12, "vbox12"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hseparator2, "hseparator2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbuttonbox2, "vbuttonbox2"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_REPLAY, "BT_REPLAY"); + GLADE_HOOKUP_OBJECT (GamazonsMain, BT_REPLAY_STOP, "BT_REPLAY_STOP"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label50, "label50"); + GLADE_HOOKUP_OBJECT (GamazonsMain, ReplayDelaySpinner, "ReplayDelaySpinner"); + GLADE_HOOKUP_OBJECT (GamazonsMain, hseparator3, "hseparator3"); + GLADE_HOOKUP_OBJECT (GamazonsMain, vbox13, "vbox13"); + GLADE_HOOKUP_OBJECT (GamazonsMain, label51, "label51"); + GLADE_HOOKUP_OBJECT (GamazonsMain, MovementSpeedSpinner, "MovementSpeedSpinner"); + GLADE_HOOKUP_OBJECT (GamazonsMain, scrolledwindow6, "scrolledwindow6"); + GLADE_HOOKUP_OBJECT (GamazonsMain, textview1, "textview1"); + GLADE_HOOKUP_OBJECT (GamazonsMain, statusbar1, "statusbar1"); + + return GamazonsMain; +} + +GtkWidget* +create_PlayerSettings (void) +{ + GtkWidget *PlayerSettings; + GtkWidget *vbox5; + GtkWidget *hbox3; + GtkWidget *WhitePlayerLabel; + GtkWidget *WhiteHumanRadio; + GSList *WhiteHumanRadio_group = NULL; + GtkWidget *WhiteAIRadio; + GtkWidget *hbox4; + GtkWidget *BlackPlayerLabel; + GtkWidget *BlackHumanRadio; + GSList *BlackHumanRadio_group = NULL; + GtkWidget *BlackAIRadio; + GtkWidget *hseparator1; + GtkWidget *AISettings; + GtkWidget *hbox5; + GtkWidget *vbox6; + GtkWidget *hbox6; + GtkWidget *TimeLabel; + GtkWidget *SearchDepthLabel; + GtkWidget *SearchWidthLabel; + GtkWidget *hbox7; + GtkObject *TimeSpinner_adj; + GtkWidget *TimeSpinner; + GtkObject *DepthSpinner_adj; + GtkWidget *DepthSpinner; + GtkObject *WidthSpinner_adj; + GtkWidget *WidthSpinner; + GtkWidget *hbuttonbox3; + GtkWidget *PlayerOKButton; + GtkWidget *PlayerCancelButton; + GtkWidget *alignment1; + GtkWidget *hbox8; + GtkWidget *image1; + GtkWidget *label9; + + PlayerSettings = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_usize (PlayerSettings, 370, 185); + gtk_window_set_title (GTK_WINDOW (PlayerSettings), _("Player Settings")); + gtk_window_set_default_size (GTK_WINDOW (PlayerSettings), 300, 185); + gtk_window_set_resizable (GTK_WINDOW (PlayerSettings), FALSE); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (PlayerSettings), vbox5); + gtk_widget_set_usize (vbox5, -2, 70); + + hbox3 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox3); + gtk_box_pack_start (GTK_BOX (vbox5), hbox3, TRUE, TRUE, 0); + gtk_widget_set_usize (hbox3, -2, 2); + + WhitePlayerLabel = gtk_label_new (_("White Player:")); + gtk_widget_show (WhitePlayerLabel); + gtk_box_pack_start (GTK_BOX (hbox3), WhitePlayerLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (WhitePlayerLabel, 100, -2); + gtk_label_set_justify (GTK_LABEL (WhitePlayerLabel), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (WhitePlayerLabel), 0.3, 0.5); + + WhiteHumanRadio = gtk_radio_button_new_with_mnemonic (NULL, _("Human")); + gtk_widget_show (WhiteHumanRadio); + gtk_box_pack_start (GTK_BOX (hbox3), WhiteHumanRadio, FALSE, FALSE, 0); + gtk_widget_set_usize (WhiteHumanRadio, 85, -2); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (WhiteHumanRadio), WhiteHumanRadio_group); + WhiteHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (WhiteHumanRadio)); + + WhiteAIRadio = gtk_radio_button_new_with_mnemonic (NULL, _("AI")); + gtk_widget_show (WhiteAIRadio); + gtk_box_pack_start (GTK_BOX (hbox3), WhiteAIRadio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (WhiteAIRadio), WhiteHumanRadio_group); + WhiteHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (WhiteAIRadio)); + + hbox4 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox4); + gtk_box_pack_start (GTK_BOX (vbox5), hbox4, TRUE, TRUE, 0); + gtk_widget_set_usize (hbox4, -2, 2); + + BlackPlayerLabel = gtk_label_new (_("Black Player: ")); + gtk_widget_show (BlackPlayerLabel); + gtk_box_pack_start (GTK_BOX (hbox4), BlackPlayerLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (BlackPlayerLabel, 100, -2); + gtk_label_set_justify (GTK_LABEL (BlackPlayerLabel), GTK_JUSTIFY_LEFT); + + BlackHumanRadio = gtk_radio_button_new_with_mnemonic (NULL, _("Human")); + gtk_widget_show (BlackHumanRadio); + gtk_box_pack_start (GTK_BOX (hbox4), BlackHumanRadio, FALSE, FALSE, 0); + gtk_widget_set_usize (BlackHumanRadio, 85, -2); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (BlackHumanRadio), BlackHumanRadio_group); + BlackHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (BlackHumanRadio)); + + BlackAIRadio = gtk_radio_button_new_with_mnemonic (NULL, _("AI")); + gtk_widget_show (BlackAIRadio); + gtk_box_pack_start (GTK_BOX (hbox4), BlackAIRadio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (BlackAIRadio), BlackHumanRadio_group); + BlackHumanRadio_group = gtk_radio_button_group (GTK_RADIO_BUTTON (BlackAIRadio)); + + hseparator1 = gtk_hseparator_new (); + gtk_widget_show (hseparator1); + gtk_box_pack_start (GTK_BOX (vbox5), hseparator1, TRUE, TRUE, 0); + gtk_widget_set_usize (hseparator1, -2, 1); + + AISettings = gtk_label_new (_("AI Settings:")); + gtk_widget_show (AISettings); + gtk_box_pack_start (GTK_BOX (vbox5), AISettings, FALSE, FALSE, 0); + gtk_widget_set_usize (AISettings, -2, 15); + gtk_label_set_justify (GTK_LABEL (AISettings), GTK_JUSTIFY_LEFT); + + hbox5 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox5); + gtk_box_pack_start (GTK_BOX (vbox5), hbox5, TRUE, TRUE, 0); + + vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox6); + gtk_box_pack_start (GTK_BOX (hbox5), vbox6, TRUE, TRUE, 0); + gtk_widget_set_usize (vbox6, -2, 28); + + hbox6 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox6); + gtk_box_pack_start (GTK_BOX (vbox6), hbox6, TRUE, TRUE, 0); + + TimeLabel = gtk_label_new (_("Search Time: ")); + gtk_widget_show (TimeLabel); + gtk_box_pack_start (GTK_BOX (hbox6), TimeLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (TimeLabel, 121, -2); + gtk_label_set_justify (GTK_LABEL (TimeLabel), GTK_JUSTIFY_LEFT); + + SearchDepthLabel = gtk_label_new (_("Max Search Depth")); + gtk_widget_show (SearchDepthLabel); + gtk_box_pack_start (GTK_BOX (hbox6), SearchDepthLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (SearchDepthLabel, 127, -2); + + SearchWidthLabel = gtk_label_new (_("Max Search Width")); + gtk_widget_show (SearchWidthLabel); + gtk_box_pack_start (GTK_BOX (hbox6), SearchWidthLabel, FALSE, FALSE, 0); + gtk_widget_set_usize (SearchWidthLabel, 112, -2); + gtk_label_set_justify (GTK_LABEL (SearchWidthLabel), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (SearchWidthLabel), 1, 0.5); + + hbox7 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox7); + gtk_box_pack_start (GTK_BOX (vbox6), hbox7, TRUE, TRUE, 0); + + TimeSpinner_adj = gtk_adjustment_new (5, 1, 100, 1, 10, 10); + TimeSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (TimeSpinner_adj), 1, 0); + gtk_widget_show (TimeSpinner); + gtk_box_pack_start (GTK_BOX (hbox7), TimeSpinner, TRUE, TRUE, 10); + gtk_widget_set_usize (TimeSpinner, 10, -2); + + DepthSpinner_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10); + DepthSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (DepthSpinner_adj), 1, 0); + gtk_widget_show (DepthSpinner); + gtk_box_pack_start (GTK_BOX (hbox7), DepthSpinner, TRUE, TRUE, 10); + gtk_widget_set_usize (DepthSpinner, 10, -2); + + WidthSpinner_adj = gtk_adjustment_new (1, 1, 3000, 1, 10, 10); + WidthSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (WidthSpinner_adj), 1, 0); + gtk_widget_show (WidthSpinner); + gtk_box_pack_start (GTK_BOX (hbox7), WidthSpinner, TRUE, TRUE, 10); + gtk_widget_set_usize (WidthSpinner, 10, -2); + + hbuttonbox3 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox3); + gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox3, TRUE, TRUE, 0); + gtk_widget_set_usize (hbuttonbox3, -2, 25); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 39); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox3), 0); + + PlayerOKButton = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (PlayerOKButton); + gtk_container_add (GTK_CONTAINER (hbuttonbox3), PlayerOKButton); + gtk_widget_set_usize (PlayerOKButton, 50, -2); + gtk_container_set_border_width (GTK_CONTAINER (PlayerOKButton), 10); + GTK_WIDGET_SET_FLAGS (PlayerOKButton, GTK_CAN_DEFAULT); + + PlayerCancelButton = gtk_button_new (); + gtk_widget_show (PlayerCancelButton); + gtk_container_add (GTK_CONTAINER (hbuttonbox3), PlayerCancelButton); + gtk_container_set_border_width (GTK_CONTAINER (PlayerCancelButton), 10); + GTK_WIDGET_SET_FLAGS (PlayerCancelButton, GTK_CAN_DEFAULT); + + alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment1); + gtk_container_add (GTK_CONTAINER (PlayerCancelButton), alignment1); + + hbox8 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox8); + gtk_container_add (GTK_CONTAINER (alignment1), hbox8); + + image1 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image1); + gtk_box_pack_start (GTK_BOX (hbox8), image1, FALSE, FALSE, 0); + + label9 = gtk_label_new_with_mnemonic (_("Cancel")); + gtk_widget_show (label9); + gtk_box_pack_start (GTK_BOX (hbox8), label9, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT); + + gtk_signal_connect (GTK_OBJECT (PlayerOKButton), "clicked", + GTK_SIGNAL_FUNC (on_PlayerOKButton_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (PlayerCancelButton), "clicked", + GTK_SIGNAL_FUNC (on_PlayerCancelButton_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (PlayerSettings, PlayerSettings, "PlayerSettings"); + GLADE_HOOKUP_OBJECT (PlayerSettings, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox3, "hbox3"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WhitePlayerLabel, "WhitePlayerLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WhiteHumanRadio, "WhiteHumanRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WhiteAIRadio, "WhiteAIRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox4, "hbox4"); + GLADE_HOOKUP_OBJECT (PlayerSettings, BlackPlayerLabel, "BlackPlayerLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, BlackHumanRadio, "BlackHumanRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, BlackAIRadio, "BlackAIRadio"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hseparator1, "hseparator1"); + GLADE_HOOKUP_OBJECT (PlayerSettings, AISettings, "AISettings"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox5, "hbox5"); + GLADE_HOOKUP_OBJECT (PlayerSettings, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox6, "hbox6"); + GLADE_HOOKUP_OBJECT (PlayerSettings, TimeLabel, "TimeLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, SearchDepthLabel, "SearchDepthLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, SearchWidthLabel, "SearchWidthLabel"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox7, "hbox7"); + GLADE_HOOKUP_OBJECT (PlayerSettings, TimeSpinner, "TimeSpinner"); + GLADE_HOOKUP_OBJECT (PlayerSettings, DepthSpinner, "DepthSpinner"); + GLADE_HOOKUP_OBJECT (PlayerSettings, WidthSpinner, "WidthSpinner"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbuttonbox3, "hbuttonbox3"); + GLADE_HOOKUP_OBJECT (PlayerSettings, PlayerOKButton, "PlayerOKButton"); + GLADE_HOOKUP_OBJECT (PlayerSettings, PlayerCancelButton, "PlayerCancelButton"); + GLADE_HOOKUP_OBJECT (PlayerSettings, alignment1, "alignment1"); + GLADE_HOOKUP_OBJECT (PlayerSettings, hbox8, "hbox8"); + GLADE_HOOKUP_OBJECT (PlayerSettings, image1, "image1"); + GLADE_HOOKUP_OBJECT (PlayerSettings, label9, "label9"); + + return PlayerSettings; +} + diff --git a/src/interface.h b/src/interface.h new file mode 100644 index 0000000..56ac8bc --- /dev/null +++ b/src/interface.h @@ -0,0 +1,6 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +GtkWidget* create_GamazonsMain (void); +GtkWidget* create_PlayerSettings (void); diff --git a/src/interface.h.bak b/src/interface.h.bak new file mode 100644 index 0000000..56ac8bc --- /dev/null +++ b/src/interface.h.bak @@ -0,0 +1,6 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +GtkWidget* create_GamazonsMain (void); +GtkWidget* create_PlayerSettings (void); diff --git a/src/main-boarddrawn.c b/src/main-boarddrawn.c new file mode 100644 index 0000000..3ab2c59 --- /dev/null +++ b/src/main-boarddrawn.c @@ -0,0 +1,249 @@ +/* + * Initial main.c file generated by Glade. Edit as required. + * Glade will not overwrite this file. + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include + +#include "interface.h" +#include "support.h" + +/* Widget Names */ +#define BOARD_NAME "CNVS_GAMEBOARD" + + +/* the board size */ +#define BOARD_SIZE 10 +/* border around the board itself */ +#define BOARD_BORDER 15 +/* cell size on the board */ +#define CELL_SIZE 40 +/* cell padding */ +#define CELL_PAD 6 +/* square colors */ +#define SQUARE_COLOR_1 "white" +#define SQUARE_COLOR_2 "grey" + +#define THICKNESS 3 + + +/* Prototypes */ +static void init_game_board(GtkWidget *GamazonsMain); +static void draw_a_line(GnomeCanvasGroup *group, + int x1, int y1, int x2, int y2, char *color); +void static fill_a_square(GnomeCanvasGroup *group, + double x1, double y1, double x2, double y2, char *color); +static void get_square_color(int square, char *color); +void draw_board(); + + +/* Globals */ +GnomeCanvas *canvas; +int GameBoard[BOARD_SIZE][BOARD_SIZE]; + +/* Possible square occupants */ +enum { + NOTHING, + BLACK, + WHITE, + ARROW +}; + + + +int +main (int argc, char *argv[]) +{ + GtkWidget *GamazonsMain; + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, + argc, argv, + GNOME_PARAM_APP_DATADIR, PACKAGE_DATA_DIR, + NULL); + + /* + * The following code was added by Glade to create one of each component + * (except popup menus), just so that you see something after building + * the project. Delete any components that you don't want shown initially. + */ + GamazonsMain = create_GamazonsMain (); + init_game_board(GamazonsMain); + gtk_widget_show (GamazonsMain); + + gtk_main (); + return 0; +} + + + +static void init_game_board(GtkWidget *GamazonsMain) +{ + int i,j; + char color[256]; + GtkWidget *w = lookup_widget(GamazonsMain, BOARD_NAME); + + canvas = GNOME_CANVAS(w); + + /* set where can the canvas scroll (our usable area) */ + gnome_canvas_set_scroll_region(canvas, 0.0, 0.0, + BOARD_SIZE*CELL_SIZE + 2*BOARD_BORDER, + BOARD_SIZE*CELL_SIZE + BOARD_BORDER); + + /* set the size of the widget */ + gtk_widget_set_usize(w, + BOARD_SIZE*CELL_SIZE + 2*BOARD_BORDER, + BOARD_SIZE*CELL_SIZE + BOARD_BORDER); + + + /* initialize pieces */ + for (i=0; icoords[0] = x1; + points->coords[1] = y1; + points->coords[2] = x2; + points->coords[3] = y2; + /* draw the line */ + gnome_canvas_item_new(group, + gnome_canvas_line_get_type(), + "points", points, + "fill_color", color, + "width_units", (double)THICKNESS, + NULL); + + /* free the points array */ + gnome_canvas_points_free(points); +} + +void fill_a_square(GnomeCanvasGroup *group, + double x1, double y1, double x2, double y2, char *color) +{ + /* draw the line */ + gnome_canvas_item_new(group, + GNOME_TYPE_CANVAS_RECT, + "x1", x1, + "y1", y1, + "x2", x2, + "y2", y2, + "outline_color", "black", + "fill_color", color, + "width_pixels", (double)THICKNESS, + NULL); + +} + +static void get_square_color(int square, char *color) +{ + if ((square % 2) == 0) + strcpy(color, SQUARE_COLOR_1); + else + strcpy(color, SQUARE_COLOR_2); +} + + +void draw_board() +{ + int i,j; + GdkPixbuf *white_pb, *black_pb; + char color[256]; + GnomeCanvasItem *image; + GnomeCanvasGroup *root = GNOME_CANVAS_GROUP(gnome_canvas_root (GNOME_CANVAS (canvas))); + + + white_pb = gdk_pixbuf_new_from_file("/home/yorgasor/Projects/Gamazons/src/white.png", NULL); + if (white_pb == NULL) + printf("error loading white.png\n"); + else + printf("loaded white.png just fine\n"); + black_pb = gdk_pixbuf_new_from_file("/home/yorgasor/Projects/Gamazons/src/black.png", NULL); + if (black_pb == NULL) + printf("error loading black.png\n"); + + /* fill alternate squares */ + for(i=0;i +#endif + +#include + +#include "interface.h" +#include "support.h" +#include "amazons.h" +#include "board.h" + + + +/* Prototypes */ + +/* Globals */ +Board *board; +GtkWidget *main_window; + + +int main (int argc, char *argv[]) +{ + GtkWidget *GamazonsMain; + + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, + argc, argv, + GNOME_PARAM_APP_DATADIR, PACKAGE_DATA_DIR, + NULL); + + /* + * The following code was added by Glade to create one of each component + * (except popup menus), just so that you see something after building + * the project. Delete any components that you don't want shown initially. + */ + + gnome_window_icon_set_default_from_file (PACKAGE_DATA_DIR "/pixmaps/gnome-gamazons.png"); + + init_engine(); + GamazonsMain = create_GamazonsMain (); + main_window = GamazonsMain; + init_game_board(GamazonsMain); + gtk_widget_show (GamazonsMain); + + gtk_main (); + return 0; +} + + + + diff --git a/src/moves.c b/src/moves.c new file mode 100644 index 0000000..eab7766 --- /dev/null +++ b/src/moves.c @@ -0,0 +1,2203 @@ +/************* + +sean mcmillen +ronald yorgason + +CS410 Combinatorial Games -- Spring 2002 + +amazons player. + +amazons -h for options + +Project URL: http://www.yorgalily.org/amazons/ + +***************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +//#ifdef GAMAZONS +#include +//#endif + +#include "amazons.h" +#include "unit-test.h" + + +#define HEVAL heval // for testing differant hevals +#define MINDEPTH 1 +#define VERBOSE 0 +#define TIMED 1 // boolean, if 1 then TIMEOUT is in effect, if 0 then no + +// macros + +//#define MIN(a,b) (a < b ? a : b) +//#define MAX(a,b) (a > b ? a : b) +#define MMSET(p,q) ((p) == 1 ? SHRT_MIN+q : SHRT_MAX-q) + +// constants + +#define WHITEQUEENS 4 +#define BLACKQUEENS 4 + +/* local prototypes */ +move mtdf(state *s, int guess, int tdepth); + + +// some globals // +FILE *movin; // read moves from here +FILE *movout; // write moves to here +struct pollfd pollstruct; // used to poll FILE *movin + +int onmove; +int nodes; // statitics gatherer +int rawnodes; // statitics gatherer +int hevalz; // statitics gatherer +int hits; // statitics gatherer +int ok; // global, if 0 then timeout condition +time_t start; // global, start of search, used for timeout + // check +struct options options; +struct game_states states; + +#ifdef GAMAZONS +extern int state_hash; +extern GtkWidget *main_window; +#endif + +// command line flags -- set defaults here +/* +int white_player = FALSE; +int black_player = FALSE; +int print_statistics = FALSE; +int TIMEOUT = 5; +int MAXDEPTH = 20; +int MAXWIDTH = 5000; + */ + +int obst_heval(state *s) +{ + int moves; + + int t1; + int t2; + int turn; + + if (onmove > 10) + return heval(s); + + turn = s->turn; + + s->turn = WHITE_PLAYER; + + t1 = countobst(s); + + s->turn = BLACK_PLAYER; + + t2 = countobst(s); + + s->turn = turn; + + moves = t1 - t2; + return moves; +} + + + + + + +int countobst(state *s) +{ + int i,j; + int m=0, p=0; + int xo=0, yo=0; + int axo=0, ayo=0; + int dir, adir; + int QUEENS; + + uchar *queens_x; + uchar *queens_y; + ull *board; + + int queen = 0; + + if(s->turn == WHITE_PLAYER) + { + queens_x = s->white_q_x; + queens_y = s->white_q_y; + board = s->white_bd; + QUEENS = WHITEQUEENS; + } + else + { + queens_x = s->black_q_x; + queens_y = s->black_q_y; + board = s->black_bd; + QUEENS = BLACKQUEENS; + } + + // order: N NE E SE S SW W NW + for (queen = 0; queen < QUEENS; queen++) + { + for (dir = 0; dir < 8; dir++) + { + // for tightness not speed + switch (dir) + { + case 0: + xo = 0; yo = 1; + break; + case 1: + xo = 1; yo = 1; + break; + case 2: + xo = 1; yo = 0; + break; + case 3: + xo = 1; yo = -1; + break; + case 4: + xo = 0; yo = -1; + break; + case 5: + xo = -1; yo = -1; + break; + case 6: + xo = -1; yo = 0; + break; + case 7: + xo = -1; yo = 1; + break; + } + + for (i=1; i < 10; i++) + { + // out of bounds + if (queens_x[queen] + xo*i > 9 || + queens_y[queen] + yo*i > 9 || + queens_x[queen] + xo*i < 0 || + queens_y[queen] + yo*i < 0) + { + // count obst + for (adir = 0; adir < 8; adir++) + { + // for tightness not speed + switch (adir) + { + case 0: + axo = 0; ayo = 1; + break; + case 1: + axo = 1; ayo = 1; + break; + case 2: + axo = 1; ayo = 0; + break; + case 3: + axo = 1; ayo = -1; + break; + case 4: + axo = 0; ayo = -1; + break; + case 5: + axo = -1; ayo = -1; + break; + case 6: + axo = -1; ayo = 0; + break; + case 7: + axo = -1; ayo = 1; + break; + } + if (dir == adir) continue; + + for (j=1; j < 2; j++) + { + if (queens_x[queen] + axo*j > 9 || + queens_y[queen] + ayo*j > 9 || + queens_x[queen] + axo*j < 0 || + queens_y[queen] + ayo*j < 0) + { + break; + } + + if (test(s, queens_x[queen]+axo*j, + queens_y[queen]+ayo*j)) + { + break; + } + m+=1; + } + } + break; + } + + // hit a wall + if (test(s, queens_x[queen]+xo*i, queens_y[queen]+yo*i)) + { + for (adir = 0; adir < 8; adir++) + { + // for tightness not speed + switch (adir) + { + case 0: + axo = 0; ayo = 1; + break; + case 1: + axo = 1; ayo = 1; + break; + case 2: + axo = 1; ayo = 0; + break; + case 3: + axo = 1; ayo = -1; + break; + case 4: + axo = 0; ayo = -1; + break; + case 5: + axo = -1; ayo = -1; + break; + case 6: + axo = -1; ayo = 0; + break; + case 7: + axo = -1; ayo = 1; + break; + } + //if (dir == adir) continue; + if (dir == adir) continue; + + for (j=1; j < 2; j++) + { + if (queens_x[queen] + axo*j > 9 || + queens_y[queen] + ayo*j > 9 || + queens_x[queen] + axo*j < 0 || + queens_y[queen] + ayo*j < 0) + { + break; + } + + if (test(s, queens_x[queen]+axo*j, + queens_y[queen]+ayo*j)) + { + break; + } + m+=1; + } + } + break; + } + + m+=2; + /* + xor(board, queens_x[queen], queens_y[queen]); + queens_x[queen] += i*xo; + queens_y[queen] += i*yo; + xor(board, queens_x[queen], queens_y[queen]); + + // look for arrow moves. + // order: N NE E SE S SW W NW + xor(board, queens_x[queen], queens_y[queen]); + queens_x[queen] -= i*xo; + queens_y[queen] -= i*yo; + xor(board, queens_x[queen], queens_y[queen]); + */ + } + } + } + return m; +} + +// heuristic function +int sean_heval(state *s) +{ + int moves; + + int t1; + int t2; + int turn; + + turn = s->turn; + + s->turn = WHITE_PLAYER; + + t1 = countchildren(s); + + s->turn = BLACK_PLAYER; + + t2 = countchildren(s); + + s->turn = turn; + + moves = t1 - t2; + return moves; +} + +int countchildren(state *s) +{ + int i,j; + int m=0; + int xo=0, yo=0; + int axo=0, ayo=0; + int dir, adir; + int QUEENS; + + uchar *queens_x; + uchar *queens_y; + ull *board; + + int queen = 0; + + if(s->turn == WHITE_PLAYER) + { + queens_x = s->white_q_x; + queens_y = s->white_q_y; + board = s->white_bd; + QUEENS = WHITEQUEENS; + } + else + { + queens_x = s->black_q_x; + queens_y = s->black_q_y; + board = s->black_bd; + QUEENS = BLACKQUEENS; + } + + // look for moves. + // order: N NE E SE S SW W NW + + // this loop moves a queen, shoots an arrow, all the while + // checking to see if its run into things. + // populated movelist (passing in as reference) with the valid moves. + for (queen = 0; queen < QUEENS; queen++) + { + for (dir = 0; dir < 8; dir++) + { + // for tightness not speed + switch (dir) + { + case 0: + xo = 0; yo = 1; + break; + case 1: + xo = 1; yo = 1; + break; + case 2: + xo = 1; yo = 0; + break; + case 3: + xo = 1; yo = -1; + break; + case 4: + xo = 0; yo = -1; + break; + case 5: + xo = -1; yo = -1; + break; + case 6: + xo = -1; yo = 0; + break; + case 7: + xo = -1; yo = 1; + break; + } + + for (i=1; i < 10; i++) + { + // out of bounds + if (queens_x[queen] + xo*i > 9 || + queens_y[queen] + yo*i > 9 || + queens_x[queen] + xo*i < 0 || + queens_y[queen] + yo*i < 0) + { + break; + } + + // hit a wall + if (test(s, queens_x[queen]+xo*i, queens_y[queen]+yo*i)) + { + break; + } + + xor(board, queens_x[queen], queens_y[queen]); + queens_x[queen] += i*xo; + queens_y[queen] += i*yo; + xor(board, queens_x[queen], queens_y[queen]); + + // look for arrow moves. + // order: N NE E SE S SW W NW + for (adir = 0; adir < 8; adir++) + { + // for tightness not speed + switch (adir) + { + case 0: + axo = 0; ayo = 1; + break; + case 1: + axo = 1; ayo = 1; + break; + case 2: + axo = 1; ayo = 0; + break; + case 3: + axo = 1; ayo = -1; + break; + case 4: + axo = 0; ayo = -1; + break; + case 5: + axo = -1; ayo = -1; + break; + case 6: + axo = -1; ayo = 0; + break; + case 7: + axo = -1; ayo = 1; + break; + } + + for (j=1; j < 10; j++) + { + if (queens_x[queen] + axo*j > 9 || + queens_y[queen] + ayo*j > 9 || + queens_x[queen] + axo*j < 0 || + queens_y[queen] + ayo*j < 0) + { + break; + } + + if (test(s, queens_x[queen]+axo*j, + queens_y[queen]+ayo*j)) + { + break; + } + + // put arrow + m++; + } + } + xor(board, queens_x[queen], queens_y[queen]); + queens_x[queen] -= i*xo; + queens_y[queen] -= i*yo; + xor(board, queens_x[queen], queens_y[queen]); + } + } + } + return m; +} + +// populates movelist[] with all possible moves. +// returns the count of moves +// the value of the move is also set here, that means +// this is the function that calls heval (heuristic) +// and tt_lookup (transposition table retrieve) + +int children(state *s, move movelist[]) +{ + int i,j; + int m=0; + int xo=0, yo=0; + int axo=0, ayo=0; + int dir, adir; + int QUEENS; + + uchar *queens_x; + uchar *queens_y; + ull *board; + + int queen = 0; + + if(s->turn == WHITE_PLAYER) + { + queens_x = s->white_q_x; + queens_y = s->white_q_y; + board = s->white_bd; + QUEENS = WHITEQUEENS; + } + else + { + queens_x = s->black_q_x; + queens_y = s->black_q_y; + board = s->black_bd; + QUEENS = BLACKQUEENS; + } + + // look for moves. + // order: N NE E SE S SW W NW + + // this loop moves a queen, shoots an arrow, all the while + // checking to see if its run into things. + // populated movelist (passing in as reference) with the valid moves. + for (queen = 0; queen < QUEENS; queen++) + { + for (dir = 0; dir < 8; dir++) + { + // for tightness not speed + switch (dir) + { + case 0: + xo = 0; yo = 1; + break; + case 1: + xo = 1; yo = 1; + break; + case 2: + xo = 1; yo = 0; + break; + case 3: + xo = 1; yo = -1; + break; + case 4: + xo = 0; yo = -1; + break; + case 5: + xo = -1; yo = -1; + break; + case 6: + xo = -1; yo = 0; + break; + case 7: + xo = -1; yo = 1; + break; + } + + for (i=1; i < 10; i++) + { + // out of bounds + if (queens_x[queen] + xo*i > 9 || + queens_y[queen] + yo*i > 9 || + queens_x[queen] + xo*i < 0 || + queens_y[queen] + yo*i < 0) + { + break; + } + + // hit a wall + if (test(s, queens_x[queen]+xo*i, queens_y[queen]+yo*i)) + { + break; + } + + xor(board, queens_x[queen], queens_y[queen]); + queens_x[queen] += i*xo; + queens_y[queen] += i*yo; + xor(board, queens_x[queen], queens_y[queen]); + + // look for arrow moves. + // order: N NE E SE S SW W NW + for (adir = 0; adir < 8; adir++) + { + // for tightness not speed + switch (adir) + { + case 0: + axo = 0; ayo = 1; + break; + case 1: + axo = 1; ayo = 1; + break; + case 2: + axo = 1; ayo = 0; + break; + case 3: + axo = 1; ayo = -1; + break; + case 4: + axo = 0; ayo = -1; + break; + case 5: + axo = -1; ayo = -1; + break; + case 6: + axo = -1; ayo = 0; + break; + case 7: + axo = -1; ayo = 1; + break; + } + + for (j=1; j < 10; j++) + { + if (queens_x[queen] + axo*j > 9 || + queens_y[queen] + ayo*j > 9 || + queens_x[queen] + axo*j < 0 || + queens_y[queen] + ayo*j < 0) + { + break; + } + + if (test(s, queens_x[queen]+axo*j, + queens_y[queen]+ayo*j)) + { + break; + } + + /* + // put arrow + xor(s->blocks_bd, queens_x[queen]+axo*j, queens_y[queen]+ayo*j); + s->turn ^= 3; + + // printf("evaluating board:"); + // pboard(*s); + if ((stt = tt_lookup(s))) + { + //tt_yes++; + hits++; + movelist[m].val = stt->value; + movelist[m].depth = stt->depth; + } + else + { + //tt_no++; + movelist[m].val = HEVAL(s); + hevalz++; + s->value = movelist[m].val; + s->depth = 1; + tt_store(s, SHRT_MIN, SHRT_MAX); + } + + // remove arrow + xor(s->blocks_bd, queens_x[queen]+axo*j, queens_y[queen]+ayo*j); + s->turn ^= 3; + + */ + movelist[m].queen=queen; + movelist[m].tocol=queens_x[queen]; + movelist[m].torow=queens_y[queen]; + movelist[m].wallcol=queens_x[queen]+axo*j; + movelist[m].wallrow=queens_y[queen]+ayo*j; + + // pmove(movelist[m]); + // printf("\n"); + + m++; + } + } + xor(board, queens_x[queen], queens_y[queen]); + queens_x[queen] -= i*xo; + queens_y[queen] -= i*yo; + xor(board, queens_x[queen], queens_y[queen]); + } + } + } + return m; +} + +// for qsort +int mincompare(move *m1, move *m2) // USED BY MAXIMIZER +{ + if (m1->val > m2->val) + return -1; + else if (m1->val < m2->val) + return 1; + return 0; +} + +// for qsort +int maxcompare(move *m1, move *m2) +{ + if (m1->val < m2->val) + return -1; + else if (m1->val > m2->val) + return 1; + return 0; +} + +// top level iterative search function. called from main, pretty +// self explanatory +move isearch(state *s, int think) +{ + int i; + move temp1, temp2; + move even, odd; + int temp2_valid = FALSE; + + even.val = 0; + odd.val = 0; + + for (i=MINDEPTH; i <= options.engine.maxdepth; i++) + { + rawnodes = 0; + nodes = 0; + hits = 0; + hevalz =0; + + + temp1 = search(s, 0, SHRT_MIN, SHRT_MAX, i, think); + + /* + + // for mtdf NOT WORKING CURRENTLY + if (i & 1) + { + temp1 = mtdf(s, odd.val, i); + even = temp1; + } + else + { + temp1 = mtdf(s, even.val, i); + odd = temp1; + } + */ + + //printf("Searched to depth %d, %d cache hits of %d lookups. %d nodes searched.\n", i,hits,rawnodes, nodes); + //printf("hevals = %d\n", hevalz); + if (ok) // using this global ok is pretty sloppy but works. + { + temp2 = temp1; + temp2_valid = TRUE; + } + else + { + if (think) + { +#ifdef DEBUG + printf("searched %d nodes on your time\n", nodes); +#endif + } +#ifdef DEBUG + printf("time's up at depth %d\n", i); +#endif + break; + } + + } + if (temp2_valid) + return temp2; + else + return temp1; +} + +// NOT WORKING +move mtdf(state *s, int guess, int tdepth) +{ + move temp; + //int f; + int lowerbound = SHRT_MIN; + int upperbound = SHRT_MAX; + int beta; + + temp.val = guess; + + do + { + if (temp.val == lowerbound) + { + beta = temp.val + 1; + } + else + { + beta = temp.val; + } + + //temp = search(s, 0, beta - 1, beta, tdepth, think); + + if (temp.val < beta) + { + upperbound = temp.val; + } + else + { + lowerbound = temp.val; + } + } + while (!(lowerbound >= upperbound)); + + return temp; +} + +// minimax search. +// tdepth is "target depth", that is the current iterative target level +move search(state *s, int depth, int alpha, int beta, int tdepth, int think) +{ + state_t *stt; + move movelist[3000]; + int i; + int index=0; + move stemp; + move temp; + int randomizer; + // int tt_yes=0; + // int tt_no=0; + + int movecount; + + int done; + + nodes++; + + if ((time_t)time(NULL) - start > options.engine.timeout && TIMED && !think) + { + ok = 0; + return movelist[0]; + } + + if (think) + { + if (poll(&pollstruct, 1, 0)) + { + ok = 0; + return movelist[0]; + } + } + + movecount = children(s, movelist); + + if (movecount == 0) // no more moves + { + if (depth == 0) + { +#ifdef DEBUG + printf("player %d wins!\n", s->turn^3); +#endif + s->winner = s->turn^3; + if (options.print_statistics) + print_stats(); +#ifndef GAMAZONS + exit(1); +#endif + } + + // if no more moves, then set the value here to + // a very high value plus/minus the depth + // this ensure that the loser will select the longest path + // to loss, and the winner will select the shortest path to + // a win. + movelist[0].val = MMSET(s->turn, depth); + } + + // for node reordering, make sure everything has a value. + for (i=0; i = stt->alpha && beta <= stt->beta) // correct + { + hits++; + movelist[i].val = stt->value; + movelist[i].depth = stt->depth; + } + else + { + movelist[i].val = HEVAL(s); + hevalz++; + s->value = movelist[i].val; + s->depth = 1; + tt_update(s, SHRT_MIN, SHRT_MAX); + } + } + else + { + movelist[i].val = HEVAL(s); + hevalz++; + s->value = movelist[i].val; + s->depth = 1; + tt_store(s, SHRT_MIN, SHRT_MAX); + } + undomove(s, temp); + } + + rawnodes += movecount; + + // node reordering here. + + if (s->turn == WHITE_PLAYER) + qsort(movelist, movecount, sizeof(move), (void*)mincompare); + else + qsort(movelist, movecount, sizeof(move), (void*)maxcompare); + + // this is the end of the line, return best move. + if (depth+1 >= tdepth) + return movelist[0]; + + done = 0; + for (i=0; i < movecount && !done && i < options.engine.maxdepth; i++) + + { + // already searched farther than we will in the TT, just return it. + if (movelist[i].depth > tdepth - depth) + return movelist[i]; + + temp = savemove(s, movelist[i]); + makemove(s, movelist[i]); + + stemp = search(s, depth+1, alpha, beta, tdepth, think); + + if (ok) + { + // this should perhaps check if tt_lookup still works + // not life changing + if (tdepth-depth > movelist[i].depth) + { + s->value = stemp.val; + s->depth = tdepth-depth; + tt_update(s, alpha, beta); + } + + movelist[i].val = stemp.val; + undomove(s,temp); // undo move. + } + else // times up, return back up the tree as fast as possible. + { + undomove(s,temp); // undo move. + return movelist[i]; + } + + nodes++; + + // alpha-beta stuff: + + if (s->turn == WHITE_PLAYER) + { + if (movelist[i].val > alpha) + { + alpha = movelist[i].val; + index = i; + } + } + else + { + if (movelist[i].val < beta) + { + beta = movelist[i].val; + index = i; + } + } + + if (alpha >= beta) + { + done = 1; + } + } + + /* XXX + printf("movelist index = %d\n", index); + if (movecount > 3) + { + randomizer = rand() %3; + printf("randomizer = %d\n", randomizer); + } + */ + + return movelist[index]; +} + +// print out a longlong in binary +int pvec(ull v) +{ + int i; + + printf("->"); + for (i=49; i >= 0; i--) + { + printf("%d", (int)((v >> i) & (ull)1)); + if (i%10 == 0) + printf(" "); + } + printf("<-\n"); + + return 0; +} + +// bring out a nice representation of the playing board +int pboard(state s) +{ + int board[12][12]; + int i,j; + int row, col; + + // make the whole board blanks + for (i=0; i < 12; i++) + for (j=0; j < 12; j++) + board[i][j] = '.'; + + // place player1 queens + for (i=0; i < WHITEQUEENS; i++) + { + col = s.white_q_x[i]; + row = s.white_q_y[i]; + if (options.white_player == HUMAN) board[col][row] = i+48; + else board[col][row] = 'W'; + } + + // place player2 queens + for (i=0; i < BLACKQUEENS; i++) + { + col = s.black_q_x[i]; + row = s.black_q_y[i]; + if (options.black_player == HUMAN) board[col][row] = i+48; + else board[col][row] = 'B'; + } + + // put walls on the board + //pvec(s.blocks_bd[1]); + for (i=0; i < 50; i++) + { + if ((s.blocks_bd[1] >> i) & 1) + { + board[i%10][i/10+5] = 'x'; + } + } + //pvec(s.blocks_bd[0]); + + for (i=0; i < 50; i++) + { + if ((s.blocks_bd[0] >> i) & 1) + { + board[i%10][i/10] = 'x'; + } + } + printf("\n"); + + // print out the board + for (i=9; i >= 0; i--) + { + printf("%2d ", i); + for (j=0; j < 10; j++) + { + printf(" %c", board[j][i]); + } + printf("\n"); + } + + printf(" a b c d e f g h i j\n"); + //printf(" 0 1 2 3 4 5 6 7 8 9\n"); + printf("\n"); + return 0; +} + +/*============================================================================== + * getmove + * + * Gets the move coordinates from stdin. Does lots of nice error checking on the + * input, and makes sure the move was legal. If no moves are available, the human + * must have lost, so the game ends. + */ +move getmove(state *s, int player) +{ + char tok; + int done = FALSE; + move movelist[3000]; + int move_count; + move m; + char move_str[10]; + int i; + + move_count = children(s, movelist); + if (move_count == 0) + { + printf("Ha ha ha, you lose SUCKER!\n"); + s->winner = s->turn^3; +#ifndef GAMAZONS + exit(0); +#endif + } + + do + { + i = 0; + + printf("player %d's move.\n", player); + printf("queen newcol newrow burncol burnrow (ex. \"0 c4 c1\")\n"); + printf("Move> "); + fflush(stdout); + + ok = 1; + isearch(s, THINK); + + tok = get_token(); + if (isdigit(tok)) + { + m.queen = tok - '0'; + move_str[i++] = tok; + move_str[i++] = ' '; + } + else + { + printf("%c is not a valid queen\n\n", tok); + clear_buf(); + continue; + } + + tok = get_token(); + if (isdigit(tok - '1')) //convert from alpha char to alpha num + { + m.tocol = tok - 'a'; + move_str[i++] = tok; + } + else + { + printf("%c is not a valid column\n\n", tok); + clear_buf(); + continue; + } + + tok = get_token(); + if (isdigit(tok)) + { + m.torow = tok - '0'; + move_str[i++] = tok; + move_str[i++] = ' '; + } + else + { + printf("%c is not a valid row\n\n", tok); + clear_buf(); + continue; + } + + tok = get_token(); + if (isdigit(tok - '1')) //convert from alpha char to alpha num + { + m.wallcol = tok - 'a'; + move_str[i++] = tok; + } + else + { + printf("%c is not a valid column\n\n", tok); + clear_buf(); + continue; + } + + + tok = get_token(); + if (isdigit(tok)) + { + m.wallrow = tok - '0'; + move_str[i++] = tok; + } + else + { + printf("%c is not a valid row\n\n", tok); + clear_buf(); + continue; + } + + move_str[i] = '\0'; + + //make sure it's a valid move + if (!move_lookup(&m, movelist, move_count)) + { + printf("%s is not a legal move\n", move_str); + continue; + } + + //User input verified + done = TRUE; + } + while (done == FALSE); + + return m; +} + +/*============================================================================== + * get_token + * + * Retreives a token from stdin, ignores beginning whitespace. + */ +char get_token() +{ + char tok; + tok = getc(movin); + while (isspace(tok)) + tok = getc(movin); + + return tok; +} + +/*============================================================================== + * clear_buf + * + * Clears chars in the stdin buffer all the way up to and including the carriage + * return. + */ +void clear_buf() +{ + while (getc(movin) != '\n'); +} + + +/*============================================================================== + * move_lookup + * + * Compares a given move with a move with the moves in the given movelist. If it's + * found in the list, returns TRUE, otherwise returns FALSE. + */ +int move_lookup(move *m, move movelist[], int move_count) +{ + int i; + + for (i=0; iqueen != movelist[i].queen) + continue; + if (m->tocol != movelist[i].tocol) + continue; + if (m->torow != movelist[i].torow) + continue; + if (m->wallcol != movelist[i].wallcol) + continue; + if (m->wallrow != movelist[i].wallrow) + continue; + else + { + return TRUE; + } + } + return FALSE; +} + + +// returns 1 if bit is set. +int test(state *s, uchar col, uchar row) +{ + //printf("sigh %d %d\n", col, row); + if (row < 5) + { + if ( (s->blocks_bd[0] | s->white_bd[0] | s->black_bd[0] ) & + (ull)1 << ((row*10) + col)) + return 1; + + return 0; + } + else // row > 5 + { + if ( (s->blocks_bd[1] | s->white_bd[1] | s->black_bd[1]) & + (ull)1 << ((((row-5)*10) + col))) + { + return 1; + } + return 0; + } +} + + +// xor bit at col,row +int xor(ull bd[2], uchar col, uchar row) +{ + if (row < 5) + { + bd[0] ^= (ull)1 << ((row*10) + col); + } + else // row > 5 + { + bd[1] ^= (ull)1 << ((((row-5)*10) + col)); + } + return 1; +} + +// takes a move that is to be made and returns a move that will +// undo it. +move savemove(state *s, move m) +{ + move temp; + + temp.wallcol = m.wallcol; + temp.wallrow = m.wallrow; + temp.queen = m.queen; + + if (s->turn == WHITE_PLAYER) + { + temp.tocol = s->white_q_x[m.queen]; + temp.torow = s->white_q_y[m.queen]; + } + else + { + temp.tocol = s->black_q_x[m.queen]; + temp.torow = s->black_q_y[m.queen]; + } + return temp; +} + +int undomove(state *s, move m) +{ + s->turn ^= 3; + + if (s->turn == WHITE_PLAYER) + { + xor(s->white_bd, s->white_q_x[m.queen], s->white_q_y[m.queen]); + s->white_q_x[m.queen] = m.tocol; + s->white_q_y[m.queen] = m.torow; + xor(s->white_bd, s->white_q_x[m.queen], s->white_q_y[m.queen]); + } + else + { + xor(s->black_bd, s->black_q_x[m.queen], s->black_q_y[m.queen]); + s->black_q_x[m.queen] = m.tocol; + s->black_q_y[m.queen] = m.torow; + xor(s->black_bd, s->black_q_x[m.queen], s->black_q_y[m.queen]); + } + + xor(s->blocks_bd, m.wallcol, m.wallrow); + return 1; +} + +// takes a move and does it. +int makemove(state *s, move m) +{ + if (s->turn == WHITE_PLAYER) + { + //printf("registering move w/ engine for white\n"); + xor(s->white_bd, s->white_q_x[m.queen], s->white_q_y[m.queen]); + s->white_q_x[m.queen] = m.tocol; + s->white_q_y[m.queen] = m.torow; + xor(s->white_bd, s->white_q_x[m.queen], s->white_q_y[m.queen]); + } + else + { + //printf("registering move w/ engine for black\n"); + xor(s->black_bd, s->black_q_x[m.queen], s->black_q_y[m.queen]); + s->black_q_x[m.queen] = m.tocol; + s->black_q_y[m.queen] = m.torow; + xor(s->black_bd, s->black_q_x[m.queen], s->black_q_y[m.queen]); + } + + xor(s->blocks_bd, m.wallcol, m.wallrow); + s->turn ^= 3; + return 1; +} + +// print out a move struct +int pmove(move m) +{ + printf("%d) %d -> %c%d ---> %c%d, val = %d\n", onmove, + m.queen, m.tocol+97, m.torow, m.wallcol+97, m.wallrow, m.val); + + if (movin != stdin) // ? + { + fprintf(movout, "%d %c%d %c%d\n", + m.queen, m.tocol+97, m.torow, m.wallcol+97, m.wallrow); + fflush(movout); + fseek(movout,0,0); + //sleep(6); + } + + return 0; +} + +// set up the state +int init(state *s) +{ + int i; + + s->blocks_bd[0] = s->blocks_bd[1] = 0; + s->white_bd[0] = s->white_bd[1] = 0; + s->black_bd[0] = s->black_bd[1] = 0; + + s->turn = WHITE_PLAYER; + + for (i=0; i < 4; i++) + { + s->white_q_x[i] = 0; + s->white_q_y[i] = 0; + s->black_q_x[i] = 0; + s->black_q_y[i] = 0; + } + + // some lines to trip things up + + // xor(s->blocks_bd, 0,2); + // xor(s->blocks_bd, 1,2); + // xor(s->blocks_bd, 2,2); + // xor(s->blocks_bd, 3,2); + // xor(s->blocks_bd, 4,2); + // xor(s->blocks_bd, 5,2); + // xor(s->blocks_bd, 6,2); + // xor(s->blocks_bd, 7,2); + // xor(s->blocks_bd, 8,3); + // xor(s->blocks_bd, 9,2); + + // place queen on the board + xor(s->white_bd, 6, 0); + s->white_q_x[0] = 6; + s->white_q_y[0] = 0; + + xor(s->white_bd, 3, 0); + s->white_q_x[1] = 3; + s->white_q_y[1] = 0; + + xor(s->white_bd, 0, 3); + s->white_q_x[2] = 0; + s->white_q_y[2] = 3; + + xor(s->white_bd,9,3); + s->white_q_x[3] = 9; + s->white_q_y[3] = 3; + + xor(s->black_bd, 3, 9); + s->black_q_x[0] = 3; + s->black_q_y[0] = 9; + + xor(s->black_bd, 6, 9); + s->black_q_x[1] = 6; + s->black_q_y[1] = 9; + + xor(s->black_bd, 0, 6); + s->black_q_x[2] = 0; + s->black_q_y[2] = 6; + + xor(s->black_bd,9,6); + s->black_q_x[3] = 9; + s->black_q_y[3] = 6; + + + return 0; +} + +int meta_init() +{ + if (!movin) + { +#ifdef DEBUG + printf("not using fifos\n"); +#endif + movin = stdin; + movout = stdout; + } + + pollstruct.fd = fileno(movin); + pollstruct.events = POLLIN; + pollstruct.revents = 0; + + return 1; +} + +// test init function, used to set up potentially interesting +// board states. Change call in main of init to x_init to put into +// action. +int x_init(state *s) +{ + int i; + + s->blocks_bd[0] = s->blocks_bd[1] = 0; + s->white_bd[0] = s->white_bd[1] = 0; + s->black_bd[0] = s->black_bd[1] = 0; + + s->turn = WHITE_PLAYER; + + for (i=0; i < 4; i++) + { + s->white_q_x[i] = 0; + s->white_q_y[i] = 0; + s->black_q_x[i] = 0; + s->black_q_y[i] = 0; + } + + // place queen on the board + xor(s->white_bd, 0, 0); + s->white_q_x[0] = 0; + s->white_q_y[0] = 0; + + xor(s->white_bd, 1, 0); + s->white_q_x[1] = 1; + s->white_q_y[1] = 0; + + xor(s->white_bd, 0, 1); + s->white_q_x[2] = 0; + s->white_q_y[2] = 1; + + xor(s->white_bd, 6, 0); + s->white_q_x[3] = 6; + s->white_q_y[3] = 0; + + + xor(s->black_bd, 8, 0); + s->black_q_x[0] = 8; + s->black_q_y[0] = 0; + + xor(s->black_bd, 2, 0); + s->black_q_x[1] = 2; + s->black_q_y[1] = 0; + + xor(s->black_bd, 2, 1); + s->black_q_x[2] = 2; + s->black_q_y[2] = 1; + + xor(s->black_bd, 2, 2); + s->black_q_x[3] = 2; + s->black_q_y[3] = 2; + + /* + xor(s->blocks_bd, 1,1); + xor(s->blocks_bd, 1,2); + xor(s->blocks_bd, 0,2); + */ + + xor(s->blocks_bd, 3,0); + xor(s->blocks_bd, 3,1); + xor(s->blocks_bd, 3,2); + xor(s->blocks_bd, 3,3); + xor(s->blocks_bd, 0,3); + xor(s->blocks_bd, 1,3); + xor(s->blocks_bd, 2,3); + + xor(s->blocks_bd, 4,3); + xor(s->blocks_bd, 4,4); + xor(s->blocks_bd, 5,4); + xor(s->blocks_bd, 6,4); + xor(s->blocks_bd, 7,4); + xor(s->blocks_bd, 8,4); + xor(s->blocks_bd, 9,4); + + /* + xor(s->blocks_bd, 4,2); + xor(s->blocks_bd, 5,2); + xor(s->blocks_bd, 6,2); + xor(s->blocks_bd, 7,2); + xor(s->blocks_bd, 8,2); + xor(s->blocks_bd, 9,2); + */ + + /* + xor(s->blocks_bd, 4,0); + xor(s->blocks_bd, 4,1); + xor(s->blocks_bd, 5,0); + xor(s->blocks_bd, 5,1); + */ + + + + /* + xor(s->blocks_bd, 5,0); + xor(s->blocks_bd, 5,1); + xor(s->blocks_bd, 6,1); + xor(s->blocks_bd, 7,0); + xor(s->blocks_bd, 7,1); + xor(s->blocks_bd, 8,1); + xor(s->blocks_bd, 9,1); + xor(s->blocks_bd, 9,0); + */ + + + return 0; +} + +#ifndef GAMAZONS +/*============================================================================== + * main + * + * + */ +int main(int argc, char *argv[]) +{ + state *s; + //struct move m; + move temp; + int i; + + // Initialize game states + for (i=0; i<100; i++) + states.s[i] = (state *) malloc(sizeof(state)); + states.current_state = 0; + states.max_state = 0; + s = states.s[0]; + + parse_args(argc, argv); + meta_init(); + init(s); + + printf("size of move = %d\n", sizeof(move)); + printf("size of state = %d\n", sizeof(state)); + + pboard(*s); + + //test_fdiag(s); + //test_bdiag(s); + //test_gen_web_stream(s); + //test_put_col(s); + //test_put_row(s); + //test_put_fdiag(s); + //test_put_bdiag(s); + +#ifdef DEBUG_HEVAL + xor(s->white_bd, 9, 3); + xor(s->white_bd, 8, 2); + s->white_q_x[3] = 8; + s->white_q_y[3] = 2; + xor(s->blocks_bd, 8, 3); + s->turn = BLACK_PLAYER; + + pboard(*s); + printf("board value is %d\n", HEVAL(s)); + + pbvec(s->white_bd[0], s->white_bd[1]); +#endif + +#ifndef DEBUG_HEVAL + + /* the main play loop. Gets a move, does a move, repeats. + lobal ok is set to 1 for use with timeouts + */ + for (;;) + { + dup_state(s, states.s[++(states.current_state)]); + s = states.s[states.current_state]; + if (states.current_state > states.max_state) + states.max_state = states.current_state; + + if (options.white_player == HUMAN) + { + temp = getmove(s, 1); + makemove(s, temp); + onmove++; + pboard(*s); + } + else + { + ok = 1; + start = time(NULL); + temp = isearch(s, NOTHINK); + printf("WHITE selected: "); + pmove(temp); + makemove(s,temp); + onmove++; + pboard(*s); + } + + dup_state(s, states.s[++(states.current_state)]); + s = states.s[states.current_state]; + if (states.current_state > states.max_state) + states.max_state = states.current_state; + + if (options.black_player == HUMAN) + { + temp = getmove(s, 2); + makemove(s, temp); + onmove++; + pboard(*s); + } + else + { + ok = 1; + start = time(NULL); + temp = isearch(s, NOTHINK); + printf("BLACK selected: "); + pmove(temp); + makemove(s,temp); + onmove++; + pboard(*s); + } + } +#endif + + return 0; + +} +#endif //ifndef GAMAZONS + + +#ifdef GAMAZONS +/*============================================================================== + * init_engine + * + * + * + */ +void init_engine() +{ + state *s; + //struct move m; + move temp; + int i; + char *home_env; + + srand(time(NULL)); + + // Initialize game states + for (i=0; i<100; i++) + states.s[i] = (state *) malloc(sizeof(state)); + states.current_state = 0; + states.max_state = 0; + + s = states.s[0]; + s->turn = WHITE_PLAYER; + s->winner = 0; + state_hash = create_hash(s); + + + meta_init(); + init(s); + dup_state(s, states.s[++(states.current_state)]); + + /* set default options */ + options.engine.maxdepth=20; + options.engine.maxwidth=3000; + options.engine.timeout=1; + options.white_player=HUMAN; + options.black_player=HUMAN; + options.print_statistics=FALSE; + + home_env = getenv("HOME"); + strcpy(options.hist_dir, home_env); + strcat(options.hist_dir, "/"); + + + if (!load_images_from_theme(PACKAGE_DATA_DIR "/gamazons/default.theme")) + { + fprintf(stderr, "Cannot find theme file %s\n", PACKAGE_DATA_DIR "/gamazons/default.theme"); + exit(1); + } + +#ifdef DEBUG + printf("white piece image = %s\n", options.images.white_piece); +#endif + load_values_from_file(); + +} + + +/*============================================================================== + * load_values_from_file + * + * If a .gamazons file is found in the user's home directory, it will attempt to + * load the values stored therein. Any variables it doesn't recognize will be + * silently ignored. + */ +void load_values_from_file() +{ + char *home, file[256]; + FILE *rc_fd; + char variable[256]; + char buffer[256]; + int value; + char ch; + + + if (!(home = getenv("HOME"))) + return; + + strcpy(file, home); + strcat(file, "/.gamazons"); +#ifdef DEBUG + printf("looking for the file %s\n", file); +#endif + + rc_fd = fopen(file, "r"); + if(rc_fd == NULL) + return; + + while (fscanf(rc_fd, "%s", variable) != EOF) + { + while (ch = fgetc(rc_fd)) + { + if (ch == EOF) + return; + if (ch == '=') + break; + } + + if (strcmp(variable, "WHITE_PLAYER") == 0) + { + fscanf(rc_fd, "%d", &value); + options.white_player = value; + } + else if (strcmp(variable, "BLACK_PLAYER") == 0) + { + fscanf(rc_fd, "%d", &value); + options.black_player = value; + } + else if (strcmp(variable, "TIMEOUT") == 0) + { + fscanf(rc_fd, "%d", &value); + if (value > 0) + options.engine.timeout = value; + else + options.engine.timeout = 1; + } + else if (strcmp(variable, "MAXWIDTH") == 0) + { + fscanf(rc_fd, "%d", &value); + if (value > 0) + options.engine.maxwidth = value; + else + options.engine.maxwidth = 1; + } + else if (strcmp(variable, "MAXDEPTH") == 0) + { + fscanf(rc_fd, "%d", &value); + if (value > 0) + options.engine.maxdepth = value; + else + options.engine.maxdepth = 1; + } + else if (strcmp(variable, "REPLAY_DELAY") == 0) + { + fscanf(rc_fd, "%d", &value); + if (value > 0) + options.replay_delay = value; + else + options.replay_delay = 1; + } + else if (strcmp(variable, "MOVEMENT_SPEED") == 0) + { + fscanf(rc_fd, "%d", &value); + if (value > 0 && value <= 10) + options.movement_speed = value; + else + options.movement_speed = 1; + } + else if (strcmp(variable, "WHITE_PIECE") == 0) + { + fscanf(rc_fd, "%s", buffer); + strcpy(options.images.white_piece, buffer); + } + else if (strcmp(variable, "BLACK_PIECE") == 0) + { + fscanf(rc_fd, "%s", buffer); + strcpy(options.images.black_piece, buffer); + } + else if (strcmp(variable, "WHITE_SQUARE") == 0) + { + fscanf(rc_fd, "%s", buffer); + strcpy(options.images.white_sq, buffer); + } + else if (strcmp(variable, "GREY_SQUARE") == 0) + { + fscanf(rc_fd, "%s", buffer); + strcpy(options.images.grey_sq, buffer); + } + else if (strcmp(variable, "ARROW_SQUARE") == 0) + { + fscanf(rc_fd, "%s", buffer); + strcpy(options.images.arrow_sq, buffer); + } + else if (strcmp(variable, "HIST_DIR") == 0) + { + fscanf(rc_fd, "%s", buffer); + strcpy(options.hist_dir, buffer); + } + else if (strcmp(variable, "DRAW_GRID") == 0) + { + fscanf(rc_fd, "%s", buffer); + if (strcmp(buffer, "TRUE") == 0) + options.images.grid = TRUE; + else + options.images.grid = FALSE; + } + + + } + + fclose(rc_fd); + +} + +/*============================================================================== + * store_values_in_file + * + * Creates/overwrites a .gamazons file in the user's home directory. Stores + * the values in the options struct in it. + */ +void store_values_in_file() +{ + char *home, file[256]; + FILE *rc_fd; +#ifdef GAMAZONS + GtkWidget *delay = (GtkWidget *)lookup_widget(main_window, "ReplayDelaySpinner"); + GtkWidget *speed = (GtkWidget *)lookup_widget(main_window, "MovementSpeedSpinner"); +#endif + + if (!(home = getenv("HOME"))) + return; + + strcpy(file, home); + strcat(file, "/.gamazons"); +#ifdef DEBUG + printf("looking for the file %s\n", file); +#endif + + rc_fd = fopen(file, "w"); + if (rc_fd == NULL) + return; + + fprintf(rc_fd, "WHITE_PLAYER = "); + fprintf(rc_fd, "%d\n", options.white_player); + + fprintf(rc_fd, "BLACK_PLAYER = "); + fprintf(rc_fd, "%d\n", options.black_player); + + fprintf(rc_fd, "TIMEOUT = "); + fprintf(rc_fd, "%d\n", options.engine.timeout); + + fprintf(rc_fd, "MAXWIDTH = "); + fprintf(rc_fd, "%d\n", options.engine.maxwidth); + + fprintf(rc_fd, "MAXDEPTH = "); + fprintf(rc_fd, "%d\n", options.engine.maxdepth); + + fprintf(rc_fd, "WHITE_PIECE = "); + fprintf(rc_fd, "%s\n", options.images.white_piece); + + fprintf(rc_fd, "BLACK_PIECE = "); + fprintf(rc_fd, "%s\n", options.images.black_piece); + + fprintf(rc_fd, "WHITE_SQUARE = "); + fprintf(rc_fd, "%s\n", options.images.white_sq); + + fprintf(rc_fd, "GREY_SQUARE = "); + fprintf(rc_fd, "%s\n", options.images.grey_sq); + + fprintf(rc_fd, "ARROW_SQUARE = "); + fprintf(rc_fd, "%s\n", options.images.arrow_sq); + + fprintf(rc_fd, "HIST_DIR = "); + fprintf(rc_fd, "%s\n", options.hist_dir); + + fprintf(rc_fd, "DRAW_GRID = "); + if (options.images.grid == TRUE) + fprintf(rc_fd, "%s\n", "TRUE"); + else + fprintf(rc_fd, "%s\n", "FALSE"); + +#ifdef GAMAZONS + fprintf(rc_fd, "REPLAY_DELAY = "); + options.replay_delay = gtk_spin_button_get_value_as_int((GtkSpinButton *)delay); + fprintf(rc_fd, "%d\n", options.replay_delay); + + fprintf(rc_fd, "MOVEMENT_SPEED = "); + options.movement_speed = gtk_spin_button_get_value_as_int((GtkSpinButton *)speed); + fprintf(rc_fd, "%d\n", options.movement_speed); +#endif + + fclose(rc_fd); +} + +/*============================================================================== + * load_images_from_theme + * + * This file will read image paths from a theme file. These values get loaded + * into the options struct, and subsequently used to draw the board. + */ +int load_images_from_theme(char *theme) +{ + char *home, file[256]; + FILE *theme_fd; + char variable[256]; + char buffer[256]; + int value; + char ch; + + + theme_fd = fopen(theme, "r"); + if(theme_fd == NULL) + { + fprintf(stderr, "Can't open theme file %s\n", theme); + return FALSE; + } + + while (fscanf(theme_fd, "%s", variable) != EOF) + { + while (ch = fgetc(theme_fd)) + { + if (ch == EOF) + return TRUE; + if (ch == '=') + break; + } + + if (strcmp(variable, "WHITE_PIECE") == 0) + { + fscanf(theme_fd, "%s", buffer); + strcpy(options.images.white_piece, PACKAGE_DATA_DIR "/pixmaps/gamazons/"); + strcat(options.images.white_piece, buffer); + } + else if (strcmp(variable, "BLACK_PIECE") == 0) + { + fscanf(theme_fd, "%s", buffer); + strcpy(options.images.black_piece, PACKAGE_DATA_DIR "/pixmaps/gamazons/"); + strcat(options.images.black_piece, buffer); + } + else if (strcmp(variable, "WHITE_SQUARE") == 0) + { + fscanf(theme_fd, "%s", buffer); + strcpy(options.images.white_sq, PACKAGE_DATA_DIR "/pixmaps/gamazons/"); + strcat(options.images.white_sq, buffer); + } + else if (strcmp(variable, "GREY_SQUARE") == 0) + { + fscanf(theme_fd, "%s", buffer); + strcpy(options.images.grey_sq, PACKAGE_DATA_DIR "/pixmaps/gamazons/"); + strcat(options.images.grey_sq, buffer); + } + else if (strcmp(variable, "ARROW_SQUARE") == 0) + { + fscanf(theme_fd, "%s", buffer); + strcpy(options.images.arrow_sq, PACKAGE_DATA_DIR "/pixmaps/gamazons/"); + strcat(options.images.arrow_sq, buffer); + } + else if (strcmp(variable, "DRAW_GRID") == 0) + { + fscanf(theme_fd, "%s", buffer); + if (strcmp(buffer, "TRUE") == 0) + options.images.grid = TRUE; + else + options.images.grid = FALSE; + } + + + } + + fclose(theme_fd); + return TRUE; +} +#endif + +/*============================================================================== + * print_usage_menu + * + * Displays a list of all command line options + */ +void print_usage_menu() +{ + printf("Amazons Usage:\n"); + printf("amazons [OPTIONS]\n"); + printf(" -d #: Sets the maximum search depth\n"); + printf(" -h: Prints this help menu\n"); + printf(" -p #: User plays against the computer (1 white, 2 black)\n"); + printf(" -s: Prints out interesting statistics\n"); + printf(" -t #: Sets the time limit between moves\n"); + printf("\n\n"); +} + + +/* parse args + * + * Handles the arguments passed into the program. + * + * Note: this expects all arguments to be listed separately, + * each with it's own '-' + */ +void parse_args(int argc, char *argv[]) +{ + int i = 1; + + //Set defaults + options.engine.maxdepth=20; + options.engine.maxwidth=5000; + options.engine.timeout=2; + options.white_player=HUMAN; + options.black_player=AI; + options.print_statistics=FALSE; + + + while (i < argc) + { + switch(argv[i][1]) + { + case 'd': + options.engine.maxdepth = atoi(argv[++i]); + i++; + break; + case 'h': + print_usage_menu(); + exit(0); + case 'p': + if (atoi(argv[++i]) == 1) + options.white_player = HUMAN; + else + options.black_player = HUMAN; + i++; + break; + case 'f': +#ifdef DEBUG + printf("opening movin\n"); +#endif + movin = fopen(argv[++i], "r+"); +#ifdef DEBUG + printf("success\n"); + printf("opening movout\n"); +#endif + movout = fopen(argv[++i], "r+"); +#ifdef DEBUG + printf("success\n"); +#endif + //fprintf(fifop, "wubba wubba\n"); + //fflush(fifop); + //printf("open success\n"); + i++; + break; + case 's': + options.print_statistics = TRUE; + i++; + break; + case 't': + options.engine.timeout = atoi(argv[++i]); + i++; + break; + case 'w': + options.engine.maxdepth = atoi(argv[++i]); + i++; + break; + default: + printf("Unknown argument %s\n", argv[i]); + print_usage_menu(); + exit(1); + } + } +} + + +void print_stats() +{ + + printf("TT Stats:\n"); + printf(" # nodes over written: %d\n", tt_overwrite); + printf(" # of nodes stored: %d\n", tt_stores); + printf(" # of updates made: %d\n", tt_updates); + printf(" # of lookups made: %d\n", tt_lookups); + printf(" # of lookups found: %d\n", tt_lookup_finds); + printf("\n"); + printf("Heuristic Stats:\n"); + printf(" # of heuristic calls %d\n", heval_calls); +} + +void dup_state(state *s_old, state *s_new) +{ + int i; + + s_new->white_bd[0] = s_old->white_bd[0]; + s_new->white_bd[1] = s_old->white_bd[1]; + + s_new->blocks_bd[0] = s_old->blocks_bd[0]; + s_new->blocks_bd[1] = s_old->blocks_bd[1]; + + s_new->black_bd[0] = s_old->black_bd[0]; + s_new->black_bd[1] = s_old->black_bd[1]; + + for (i=0; i<4; i++) + { + s_new->white_q_x[i] = s_old->white_q_x[i]; + s_new->black_q_x[i] = s_old->black_q_x[i]; + + s_new->white_q_y[i] = s_old->white_q_y[i]; + s_new->black_q_y[i] = s_old->black_q_y[i]; + } + + s_new->turn = s_old->turn; +#ifdef DEBUG + printf("old turn is %d, new turn is %d\n", s_old->turn, s_new->turn); +#endif + s_new->value = s_old->value; + s_new->depth = s_old->depth; + s_new->winner = s_old->winner; +} + + diff --git a/src/networking.txt b/src/networking.txt new file mode 100644 index 0000000..6bd402c --- /dev/null +++ b/src/networking.txt @@ -0,0 +1,77 @@ +* Networking + Don't bother with a client/server relationship (eg freeciv). This game should + just be peer based. Just pick some random unused port as a default. + The user should be able pick whatever port he wants, and whatever he + selects should be stored in the .gamazons file. + + Hmm, we'll need to have one program listening on a port and another one + trying to make a connection. Should it listen automatically? or only + upon request? (Request) + + How should each move be transmitted? Should it be a simple string like + that in the move history? Then the receiving side would need to break + it down to notify the engine what move was made. How would this affect + player options? Should I now have Human, AI, & Remote? If I leave the + remote player marked as 'Human', the local human could muck w/ the move + and really screw up the state. + + What about loading games? For local games, I'd like to be able to save + a move history, then load either an unfinished game, or reenact a + previously played game. If I try to finish a networked game, I need to + develop a way for both sides to get in sync (either by both sides + loading the same file, or by one loading it and the other getting its + state from its peer). On the other hand, if by virtue of connecting to + another peer, a new game is started, the connection protocol is greatly + simplified. But if I change the protocol later on down the line to + support these features, it may render the clients unable to communicate + properly. Perhaps I should include the version of the client in the + protocol, so future versions will know what protocol portions are + understood. + + Protocol: Specify who is playing what. If client1's black player is + remote, client2's white player must be remote. A client cannot have + more than one remote player specified. Possibly, the clients could + cycle through the list of commands they understand, then the accepted + protocol must be the "lowest common denominator", and what features are + allowed are based on what both understand. + + Error recovery: Errors have different degrees of severity. How should I + deal with recovering from various possible errors? Should I specify the + severity of the error with the error command? + + Protocol Definition: + Command Arguments Example + ------- ------- -------- + MOVE Move #. From-To, Arrow "1. d1-d7, g7" + START P1=TYPE, P2=TYPE "P1=Human", "P2=Remote" + WIN Player "P1" + QUERY Command "MOVE" + RESPONSE Command, Value "MOVE TRUE" or "MOVE FALSE" + ERROR ErrID# + MSG Text message "I'm taking you down" + DISCONNECT None + CONNECT None + + LOAD START + LOAD MOVE + LOAD FINISH + + Error types: + Unknown command + Illegal Move + Invalid Parameters + Confused State + + + Command Behavior: + MOVE Notifies remote client what the local client just did + START Verifies both sides have compatible player settings (ie both + clients aren't trying to be white) and initializes board to + original state. + WIN Notifies remote client that the game was just won by which + player. + QUERY Asks remote client if it understands a certain command. It + builds a list of acceptable commands that both can agree on. + RESPONSE Replies to a query, notifies asker whether it knows that + command or not. + ERROR Notifies remote client an error has occured. diff --git a/src/support.c b/src/support.c new file mode 100644 index 0000000..055fea2 --- /dev/null +++ b/src/support.c @@ -0,0 +1,115 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include + +#include + +#include "support.h" + +GtkWidget* +lookup_widget (GtkWidget *widget, + const gchar *widget_name) +{ + GtkWidget *parent, *found_widget; + + for (;;) + { + if (GTK_IS_MENU (widget)) + parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); + else + parent = widget->parent; + if (!parent) + parent = gtk_object_get_data (GTK_OBJECT (widget), "GladeParentKey"); + if (parent == NULL) + break; + widget = parent; + } + + found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget), + widget_name); + if (!found_widget) + g_warning ("Widget not found: %s", widget_name); + return found_widget; +} + +/* This is an internally used function to create pixmaps. */ +GtkWidget* +create_pixmap (GtkWidget *widget, + const gchar *filename) +{ + GtkWidget *pixmap; + gchar *pathname; + + if (!filename || !filename[0]) + return gtk_image_new (); + + pathname = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_PIXMAP, + filename, TRUE, NULL); + if (!pathname) + { + g_warning (_("Couldn't find pixmap file: %s"), filename); + return gtk_image_new (); + } + + pixmap = gtk_image_new_from_file (pathname); + g_free (pathname); + return pixmap; +} + +/* This is an internally used function to create pixmaps. */ +GdkPixbuf* +create_pixbuf (const gchar *filename) +{ + gchar *pathname = NULL; + GdkPixbuf *pixbuf; + GError *error = NULL; + + if (!filename || !filename[0]) + return NULL; + + pathname = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_PIXMAP, + filename, TRUE, NULL); + + if (!pathname) + { + g_warning (_("Couldn't find pixmap file: %s"), filename); + return NULL; + } + + pixbuf = gdk_pixbuf_new_from_file (pathname, &error); + if (!pixbuf) + { + fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", + pathname, error->message); + g_error_free (error); + } + g_free (pathname); + return pixbuf; +} + +/* This is used to set ATK action descriptions. */ +void +glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description) +{ + gint n_actions, i; + + n_actions = atk_action_get_n_actions (action); + for (i = 0; i < n_actions; i++) + { + if (!strcmp (atk_action_get_name (action, i), action_name)) + atk_action_set_description (action, i, description); + } +} + diff --git a/src/support.h b/src/support.h new file mode 100644 index 0000000..13d1746 --- /dev/null +++ b/src/support.h @@ -0,0 +1,37 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#include + +/* + * Public Functions. + */ + +/* + * This function returns a widget in a component created by Glade. + * Call it with the toplevel widget in the component (i.e. a window/dialog), + * or alternatively any widget in the component, and the name of the widget + * you want returned. + */ +GtkWidget* lookup_widget (GtkWidget *widget, + const gchar *widget_name); + + + +/* + * Private Functions. + */ + +/* This is used to create the pixmaps used in the interface. */ +GtkWidget* create_pixmap (GtkWidget *widget, + const gchar *filename); + +/* This is used to create the pixbufs used in the interface. */ +GdkPixbuf* create_pixbuf (const gchar *filename); + +/* This is used to set ATK action descriptions. */ +void glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description); + diff --git a/src/thots b/src/thots new file mode 100644 index 0000000..04888e4 --- /dev/null +++ b/src/thots @@ -0,0 +1,360 @@ +================================================================================ +DONE +================================================================================ + +* Maintaining game state + The problem is, what_next is getting tweaked everywhere. Everything + that is supposed to be done when a state change might not be taking + place everywhere. Perhaps what I should do is set an API to tweak the + state, perhaps set_state()/get_state() functions would be in order. + +* Create themes capability. Instead of having game pieces hard coded in the + program, have various theme files for the user to choose from. Make + this selectable and changeable at runtime without hosing the game state. + +* Where to store the .gamazons file + I noticed gnome-chess stored the user config file in the .gnome + directory. Perhaps there's a standard location for gnome's config files + that I can retreive via some gnome function call. + +* Generate the moves made list + I've got that nice fancy window taking up precious real estate. I might + as well use it for what it was for. + +* Install icons and menu features when game is installed. gnome chess created a + desktop file in /usr/local/share/gnome/apps. I'm not exactly sure how + to put the item in the game menu yet. + +* Redo board drawing method + Instead of generating squares and filling them in with squares, lets use + pngs of squares and place them on the board. It might be useful to + store pointers to each square img in an array to allow easy access. + Once the tiles are placed on the board, then draw the grid on top of it. + This will make things much easier to replace board colors at will. I + could make options that let people choose tiles & pieces. Note: Created + theme capability so people can load new board theme on demand. + + +* Keeping up with option/game changes + Some options may change during the middle of the game. For example, the + autocomplete would make both players computer opponents. The network + stuff wouldn't be able to change. Each time the back end has to use one + of these changeable options, it should read it directly from the source. + + But if we had a setup mode, the user could switch off game playing, configure + the board, and reenter game mode. To accomplish this, I'd need to change game + recognition from a linear model (W moved this queen here, so unmark the src + and mark the dest as the WQ), to a discover mode (look at all the squares on + the board and see what is on each). That's not very efficient for most things, + so perhaps just making a " discover_board" function that can be called when + exiting setup mode. + + +* Create a help file + Gnome uses HTML files for help stuff. Make a nice page that explains + the rules and what the buttons are for. In general, they should be + installed in /usr/local/share/gnome/help/gamazons/. Or I maybe + (PREFIX)/share/gnome/help/gamazons is more accurate. + +* Redo + This is completely useless. If an undo has been done a couple of times, + and a different move has been made, Redoing by moving up a state in the + state array would completely void the different move that just took + place. If a user Undos once, he can just make the same move again if he + really wants. This just looks like it would create more bugs and not + add any useful functionality. + +* Undo/Redo menu + There's already a convenient Undo button on the game board. Having two + separate ways to access this feature is unnecessary and bug-prone. I'd + have to make sure that whenever one is disabled, the other is disabled + too. Just dump the menu options, it's not very useful. + +* Handling Interrupts + move_ai() should call a function to disable certain event handling instead of + just having a silly global variable. For instance, it could gray out the + Auto Finish button so the user knows it's not going to do anything when he + presses it. Perhaps the 'Force Move' button should be greyed out until the AI + is thinking, or since Force Move & Auto Finish are mutually exclusive, it would + be cool to have the button switch labels depending on the state of the game. + + gtk_button_set_label(GtkButton *button, const gchar *label); + gtk_widget_set_sensitive (GtkWidget *widget, gboolean sensitive); + time = lookup_widget(PlayerSettingsWindow, "TimeSpinner"); + +* Have a popup declaring the winner +* Computer moving queens: + Instead of having the queens just pop around on the board when the + computer is moving, the queen should slide so the human can see what + piece is moving. I should be able to do some kind of move, maybe one + pixel at a time. Just calculate the origin and the destination, and + they _should_ just be straight diagonal (increment x coord by 1, + increment y coord by 1, draw), or horiz or vert. If moving by 1 is too + slow, we could make it 2 or whatever. + +* Remembering values: + I need to store user options in a .gamazons file. When the user presses + OK in the player preferences, the values should be stored in this file + as well as in the global options struct. Then, init_engine() should read + in the values from a file (if it exists). + +* Website requirements: + Explain how I verified that my program works + Explain what it takes to compile and run the program + Requires Gnome2 + tweak a header file to compile amazons instead of gamazons + Post source code + Include a copy of the GPL w/ the source + Explain what it takes to run the program and how to use it + +* Keeping the GUI & engine in sync + Currently, amazons has a state stucture that is local to main and passed + around wherever deemed necessary. Gamazons needs access to this, so + maybe I should make it global. I can still make a pointer to the global + and pass that around so I don't have to mess around with all the + function prototypes. + + I need to create some coordinate conversion routines though, since 0,0 + is in the bottom left for amazons, and top left for gamazons. + + I also need to find a way to let the engine know when it's the AI's turn + to move. I may need to take out it's ability to think during its + opponent's turn for this to work properly. + + I currently keep track of game state on the GUI side as well as on the + engine side. Should I dump the gui state and focus on the engine state? + Or is the convenience of not having to convert coordinates every time I + need to use one worth the inconvenience of keeping both in sync during + every change? -- Ugh, keep two, just keep them in sync. + +* User input while the AI is thinking... + I should set a flag at the beginning of move_ai() that sez the computer + is thinking. Then at the beginning of all callbacks, I should check to + see if the AI is preparing to move and ignore all user input until it's + safe. While I'm at it, I should also make a check that if it is a human + player who's turn it is to move, that the human is moving his own + pieces. ie, if it's white's turn, he shouldn't be able to pick up black + pieces. + +* Playing the game + Once the board is drawn and all the signals are registered, call a + function that checks if the first player is the AI or human. If it's + the AI, start the searching process for the next move. If it's a human, + just fall out of the function and don't do anything until the human + makes the first move (or maybe I could start the thinking process while + the human thinks also. However, that may be more complicated and I + should start small and work into that one). Then at the end of + processing the move signal (perhaps at the end of the fire_arrow + callback), I could check if the next move is done by human or AI. + + I'll probably have two different functions for processing human moves + and AI moves, so I'd better make sure both work. + +* Text mode vs GUI mode + I would like to maintain both versions, as each one has its place. + Everything that's text dependent should be bracketed with + #ifndef GAMAZONS, and stuff that's GUI dependent should be bracketed + with #ifdef GAMAZONS. + +* handling options: + Instead of having several dozen global variables, each covering a + different option, I could make one big structure, covering all options. + Then I can create sub structs for network, players, etc... + +* Drawing the board + it looks like I can use gnome_canvas_item_move to move a queen already placed + on the board. Perhaps I should draw the board initially, registering all the + callbacks with them, etc... and then just use that to move them. But then what + does the draw_board function do? gnome-chess called it all the time. + + looks like gnome chess just used board_update to see if any pieces were taken + and deletes them if they are. I don't know if I need to draw the board after + the initial draw. + +* Text looks messed up with custom fonts & fixed game board size + On Michael's computer, the game looked pretty screwy. I dunno what + font settings he used, but it made it look pretty messed up. + Unfortunately, my board is designed to be precisely the size it is. The + user doesn't have the ability to resize the game, board or pieces. + Unfortunately, this means people with high resolutions can't make the + board any bigger and people with low resolutions can't make it any + smaller. To change this, I'd need to learn how to scale the pieces, the + game board, and redo all the calculations which determine where pieces + are and where to move them to. If this were fixed, people with + different fonts could resize the board so it looked normal to them. + NOTE: Possibly fixed by just making more space for text + +================================================================================ +TODO +================================================================================ +* Showing the latest square fired on: + The square the AI (or human) fired it's arrow on could be a different color + or shade until the next move starts. + +* Undo + Instead of having a straight state struct, maybe I should have an array + of 100 of them. Then I could include a current move state and a max move + state so I could skip forward and backward. + + Hmm, should I keep 100 of both states? or just keep all those states on + the engine side, and use the GUI state only for the current state of the + board? I'm currently inclined to just have the array on the engine + side. + + What should Undo do? If a human player has moved a piece but not fired + yet, undo should just move the piece back. In this case, the engine + wouldn't need to be notified because the move isn't registered to the + engine until the arrow is fired. If the human is playing an AI, the + Undo should go back to the last human opponent. + + When can Undo be used? Once autofinish has started, Undo won't be able + to find a human opponent. So it should be disabled once autofinish + starts. I don't want the AI interrupted by Undo once it has started + moving, so it should be disabled once move_ai() starts, and can be + renabled at the end. + +* Have AI verify legality of Human move? Have GUI verify legality of AI move + Would it be useful to, when registering a human move w/ AI for it to + verify the move was legal? How about the GUI verifying an AI move is + legal? Having these checks might catch inconsistencies in the game + design, and perhaps end the game gracefully, warning the user a bug has + just occured. When this happens, I could dump the GUI state & AI state + to a text file, along with the offending move attempt to enhance + debugging. + +* Different difficulty levels & Separate AI settings for each player + I want to create different difficulty levels for the AI player. + Starting with 0 = random and moving up to 10 or so, adding one more + heuristic at each level. + + But then I'd like to separate the AI level, time, width, and TT. That + way I can pit one player up against the other without them "cheating" by + knowing what the other player will do. + +* Have a preview pane for different themes. +* Make option to just see game board + + + +================================================================================ +FIXED BUGS +================================================================================ +Black was set for a long run. I shortened the think time. Then I hit force +move. I think on black's next move he gained an extra queen and walked right +over a queen & wall. RESULT: Black suddenly had 5 amazons instead of 4. +SOLUTION: when hitting 'OK', it called move_ai(). I added a global flag +' moving_ai' that it checks to see if move_ai() is already running. If so, it +doesn't call it. + +After hitting Force Move, at the end of the game I pop open the player settings. +It has both opponents set as AI (note, I should probably _always_ read in values +from the .gamazons file instead of the widget's current values). I hit ok, +which saves those values to my .gamazons file, and then new game. At this +point, both players should be AI, but it insists on waiting for the human to +move the AI. Also when the game starts up in this state, it insists on waiting +for the human to start. + +If both players are set to AI, and I have 'while(move_ai)' call in my main init +function, the board doesn't have a chance to get drawn until the game is over. +SOLUTION: Don't call 'while(move_ai)' from init_game_board(). If the user +really wants the AIs to play against each other right away, he'll have to select +New from the menu. + +ugh, now when I autofinish & select New game, I can't move my piece. SOLUTION: +move_ai() only changed the what_next variable if an AI player actually moved. +Since New Game initialized what_next to WAIT_FOR_AI before calling move_ai() and +White was set as a human player, we were stuck in WAIT_FOR_AI mode and couldn't +move any pieces. To solve this, I move the code that updated what_next outside +of the "if AI is moving" block. + +If you hit 'autofinish' after the game has ended, selecting 'new game' doesn't +start the game in a useable state. It's white's turn to move, it's set as +human, but what_next = MOVE_AI. SOLUTION: Disable Autofinish & Force move at +end of game. + +A4-C6, A7, undo moves the white piece on top of the black piece. Solution: the +new gui state machine only updates the to/from values when a legal move occurs. + +if you make a move, then change the theme, and press undo, the thing totally wigs +out. SOLUTION: Disable 'Settings' menu inbetween moving a piece and firing an +arrow. + +move d1-d10, as it slides back, move a4-g10. it freezes momentarily, now move +j4 quickly to a7 and now x is dead or your window mgr freezes. SOLUTION: Don't +allow other game pieces to be picked up when another piece is sliding. + +search time = 1, max depth=0, max width = 0, white = AI, black = AI, press ok. +You get a bazillion error messages and the pieces don't play. SOLUTION: set the +minimum max-depth value to be 1. + +After setting both players to AI, completing a game, selecting white as human +and starting a new game, I can't pick up the white pieces. SOLUTION: new board +state machine fixed this. + +Playing with setting both players to AI, w/ time = 1, depth=1, width=0. trying various +combinations of depth=0/1 and width=0/1. Sometimes I can't get the game to start w/ +both as AI, and switching to white=human, I can't pick up the pieces. SOLUTION: +new board state machine fixed this. + +settings->theme, press OK w/o selecting a theme. Program quits w/ error, cannot +open theme *.theme. SOLUTION: have load theme from file return FALSE if it +can't open the file, then handle the problem gracefully instead of trying to +process it. + +Ack! isearch() returns a move struct. Not a pointer to a move struct. Note: +the data holding this move struct is located in isearch(), and once this function +returns, its value is no longer guaranteed to be valid! It just _usually_ is. +This is the most likely cause of the repeated FORCE MOVE button coming back with +wacked out moves. I'm getting moves like: 50. g-6375-g-6408, d-6318 and +a1-g-6377, b-6358 SOLUTION: make sure isearch returns a valid move struct + +================================================================================ +BUGS +================================================================================ + +Anca somehow managed to lose a queen in the middle of the game when it was moved +to the right edge of the screen. She was more inclined to miss her target +square & hit undo, but so far I haven't been able to replicate it. + +When restarting a game, I should free the malloc'ed board struct. +destroy_board() would probably be a good place for this. + +0.81 bugs: + +Have theme window open, press autofinish. Select theme. It's not autofinishing +anymore, and the settings menu is blocked out. Also, if the theme changes while +a piece is in midmove, it wigs out. + +Changing themes as a piece is moving makes it wig out. + +If you have a settings window open, then make a partial move you can then change +any settings and muck up the game. + +Pressing undo again as the piece is sliding back loses a queen. + +dragging a queen off the board miscalculates its location: ie A4-D3 but further +off to the right, the queen slides back to A2, during which time you can press +undo and totally muck it up. + +Set white=AI, black=HUMAN. New Game. White moves, change black to AI. Black +moves, white never moves again. + +Move history is screwed up. G1-G7, D7: history shows d10-g7, d7 + +0.82 Todo + +when a window is open, ignore all clicks on the board. This will keep people +from opening settings windows, then making partial moves etc... + - What about only being able to open a single window? Ie - if I have + two windows open, and I close one, the open_window count is set to false and + it doesn't know there are other windows open. Instead of having TRUE/FALSE, + values, inc/dec the counter, and when it's zero it's safe to reenable + buttons. +X Disable certain interrupts when a piece is sliding (ie theme changes, undo, etc) + +X Do error checking on board location. If a piece is out of bounds, it's not a +valid move. + +X Fix history window for human moves + +X Fix state machine processing of player setting changes. diff --git a/src/topic.dat b/src/topic.dat new file mode 100644 index 0000000..cae9c8b --- /dev/null +++ b/src/topic.dat @@ -0,0 +1,5 @@ +gamazons.html#rules Rules of the Game +gamazons.html#strategies Strategies +gamazons.html#buttons What the Buttons Do +gamazons.html#settings Settings Menu +gamazons.html#future Future Enhancements diff --git a/src/unit-test.c b/src/unit-test.c new file mode 100644 index 0000000..3e7e6ad --- /dev/null +++ b/src/unit-test.c @@ -0,0 +1,231 @@ +#include +#include "amazons.h" +#include "unit-test.h" + + +void test_fdiag(state *s) +{ + int i; + ull board_l, board_u; + int moves; + int diag; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + diag = GET_FDIAG(i); + psvec(get_forward_diag(board_l, board_u, diag), GET_FDIAG_LEN(diag)); + printf("Pos %d is on FDIAG %d and has stream position %d of len %d\n", + i, diag, GET_FDIAG_POS(i), GET_FDIAG_LEN(diag)); + moves = calc_stream_moves( + get_forward_diag(board_l, board_u, diag), + GET_FDIAG_POS(i), + GET_FDIAG_LEN(diag) + ); + printf("Pos %d has %d FDIAG moves\n", i, moves); + } + + +} + +void test_bdiag(state *s) +{ + int i; + ull board_l, board_u; + int moves; + int diag; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + diag = GET_BDIAG(i); + psvec(get_back_diag(board_l, board_u, diag), GET_BDIAG_LEN(diag)); + printf("Pos %d is on BDIAG %d and has stream position %d of len %d\n", + i, diag, GET_BDIAG_POS(i), GET_BDIAG_LEN(diag)); + moves = calc_stream_moves( + get_back_diag(board_l, board_u, diag), + GET_BDIAG_POS(i), + GET_BDIAG_LEN(diag) + ); + printf("Pos %d has %d BDIAG moves\n", i, moves); + } + + +} + +void test_gen_web_stream(state *s) +{ + int i; + ull board_l, board_u; + int diag; + ushort web; + ushort stream; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + diag = GET_FDIAG(i); + stream = get_forward_diag(board_l, board_u, diag); + printf("Pos %d is on FDIAG %d and has stream position %d of len %d\n", + i, diag, GET_FDIAG_POS(i), GET_FDIAG_LEN(diag)); + psvec(stream, GET_FDIAG_LEN(diag)); + web = gen_web_stream(stream, GET_FDIAG_POS(i), GET_FDIAG_LEN(diag)); + psvec(web, GET_FDIAG_LEN(diag)); + } +} + +void test_put_row(state *s) +{ + int i; + ull board_l, board_u; + ull web_board_l, web_board_u; + ushort web; + ushort stream; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + web_board_l = web_board_u = 0; + + if (i<50) + stream = GET_ROW(board_l,i/10); + else + stream = GET_ROW(board_u,i/10); + + printf("Pos %d is on ROW %d and has stream position %d\n", + i, i/10, GET_ROW_POS(i)); + psvec(stream, 10); + web = gen_web_stream(stream, GET_ROW_POS(i), 10); + psvec(web, 10); + + if (i<50) + { + PUT_ROW(web_board_l, i/10, web); + pvec(web_board_l); + } + else + { + PUT_ROW(web_board_u, i/10, web); + pvec(web_board_u); + } + } +} + +void test_put_col(state *s) +{ + int i; + ull board_l, board_u; + ull web_board_l, web_board_u; + ushort web; + ushort stream; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + web_board_l = web_board_u = 0; + + stream = GET_COL(board_l, board_u, i%10); + + printf("Pos %d is on COL %d and has stream position %d\n", + i, i%10, GET_COL_POS(i)); + psvec(stream, 10); + web = gen_web_stream(stream, GET_COL_POS(i), 10); + psvec(web, 10); + + PUT_COL(web_board_l, web_board_u, i%10, web); + pvec(web_board_l); + pvec(web_board_u); + } +} + +void test_put_fdiag(state *s) +{ + int i; + ull board_l, board_u; + ull web_board_l, web_board_u; + ushort web; + ushort stream; + int diag, len; + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + web_board_l = web_board_u = 0; + + diag = GET_FDIAG(i); + len = GET_FDIAG_LEN(diag); + stream = get_forward_diag(board_l, board_u, diag); + + printf("Pos %d is on FDIAG %d and has stream position %d of len %d\n", + i, diag, GET_FDIAG_POS(i), len); + psvec(stream, len); + web = gen_web_stream(stream, GET_FDIAG_POS(i), len); + psvec(web, len); + + put_forward_diag(&web_board_l, &web_board_u, web, diag); + pvec(web_board_l); + pvec(web_board_u); + } +} + +void test_put_bdiag(state *s) +{ + int i; + ull board_l, board_u; + ull web_board_l, web_board_u; + ushort web; + ushort stream; + int diag, len; + + xor(s->white_bd, 0,5); + + board_u = s->white_bd[1] | s->black_bd[1] | s->blocks_bd[1]; + board_l = s->white_bd[0] | s->black_bd[0] | s->blocks_bd[0]; + + for (i=0; i<100; i++) + { + web_board_l = web_board_u = 0; + + diag = GET_BDIAG(i); + len = GET_BDIAG_LEN(diag); + stream = get_back_diag(board_l, board_u, diag); + + printf("Pos %d is on BDIAG %d and has stream position %d of len %d\n", + i, diag, GET_BDIAG_POS(i), len); + psvec(stream, len); + web = gen_web_stream(stream, GET_BDIAG_POS(i), len); + psvec(web, len); + + put_back_diag(&web_board_l, &web_board_u, web, diag); + pvec(web_board_l); + pvec(web_board_u); + } +} + + +int psvec(ushort v, int len) +{ + int i; + + printf("->"); + for (i=len-1; i >= 0; i--) + { + printf("%d", (int)((v >> i) & (ull)1)); + } + printf("<-\n"); + + return 0; +} + diff --git a/src/unit-test.h b/src/unit-test.h new file mode 100644 index 0000000..13776ea --- /dev/null +++ b/src/unit-test.h @@ -0,0 +1,8 @@ +/* test functions */ +void test_fdiag(state *s); +void test_bdiag(state *s); +void test_gen_web_stream(state *s); +void test_put_row(state *s); + +/* helper fuctions */ +int psvec(ushort v, int len); diff --git a/stamp-h b/stamp-h new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/stamp-h @@ -0,0 +1 @@ +timestamp diff --git a/stamp-h.in b/stamp-h.in new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/stamp-h.in @@ -0,0 +1 @@ +timestamp diff --git a/stamp-h1.in b/stamp-h1.in new file mode 100644 index 0000000..e69de29 diff --git a/stamp-h2.in b/stamp-h2.in new file mode 100644 index 0000000..e69de29 diff --git a/stamp-h3.in b/stamp-h3.in new file mode 100644 index 0000000..e69de29 diff --git a/stamp-h4.in b/stamp-h4.in new file mode 100644 index 0000000..e69de29 -- 2.11.4.GIT