diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..3a5f725 --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Waldemar A. Baraldi diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..c7aea18 --- /dev/null +++ b/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, 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 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..c616f89 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,32 @@ +0.9.0 (10/12/2001) + Required pipes feature added. + Number of required pipes for each level defined. + Memory leak in hash table class eliminated. + Small bug in levels 20-25 background image fixed. + Installation prefix can now be specified (--prefix option in configure script). + Some compilation problems with RH are hopefully solved. + Manual page added. + +0.8.0 (07/29/2001) + Background now can be a wallpaper. + Memory leak when loading images eliminated. + Almost all graphics redrawn. + All levels rewritten (5 levels added). + Score added. + Levels format improved. + Pipe block added. + Background tag added. + Some small bugs eliminated. + Screen updating routines improved (speed). + Btw, web page rewritten. + +0.6.1 (02/27/2001) + Compilation error for 2.91.x gcc compilers fixed. + Some compilation difficulties under RH 7.0 fixed. + Very obscure memory leak in the Graphic class copy constructor fixed. + Clipping bug in the Graphic class fixed. + Splash drawing bug fixed. + Graphics loading and freeing improved. + Busy waiting event adquisition eliminated. + +0.6.0 (02/07/2001) Initial public release. \ No newline at end of file diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..02a4a07 --- /dev/null +++ b/INSTALL @@ -0,0 +1,167 @@ +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 a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Type `make install' to install the programs and any data files and + documentation. + + 4. You can remove the program binaries and object files from the + source code directory by typing `make clean'. + +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. + + 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. + +`--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.am b/Makefile.am new file mode 100644 index 0000000..b576777 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,5 @@ +SUBDIRS = src images levels + +EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README pipenightdreams.lsm autogen.sh + + diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..4e6b761 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,338 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +SUBDIRS = src images levels man + +EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README pipenightdreams.lsm autogen.sh +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ./src/config.h +CONFIG_CLEAN_FILES = +DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ +Makefile.in NEWS acinclude.m4 aclocal.m4 config.guess config.sub \ +configure configure.in install-sh missing mkinstalldirs + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +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 acinclude.m4 + 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) + +# 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) $(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)$$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 = $(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 +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive +check-am: all-am +check: check-recursive +installcheck-am: +installcheck: installcheck-recursive +install-exec-am: +install-exec: install-exec-recursive + +install-data-am: +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 +all-redirect: all-recursive +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-tags mostlyclean-generic + +mostlyclean: mostlyclean-recursive + +clean-am: clean-tags clean-generic mostlyclean-am + +clean: clean-recursive + +distclean-am: distclean-tags distclean-generic clean-am + +distclean: distclean-recursive + -rm -f config.status + +maintainer-clean-am: 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: 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 install-exec-am \ +install-exec 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 + + +# 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..15b1c43 --- /dev/null +++ b/NEWS @@ -0,0 +1,6 @@ + +10/12/2001 New release with new features and some bugs fixed (version 0.9.0). +08/08/2001 Pipenightdreams appears in the Japanese Linux magazine (ASCII), page 132, as part of a Free Application Showcase. +07/29/2001 New release with many new features and some bugs fixed (version 0.8.0). +02/27/2001 New release with many bugs fixed (version 0.6.1). +02/07/2001 Initial public release (version 0.6.0). \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000..00ba21e --- /dev/null +++ b/README @@ -0,0 +1,29 @@ + + + PipeNightDreams + ----------------- + Version 0.9.0 + + by Waldemar A. Baraldi + baraldi@lacasilla.com.ar + http:://www.libsdl.org/projects/pipenightdreams + + +This game is a pseudo-clon of an old game called PipeDream. I say pseudo-clon +because I don't have the original one so I've been working just with the facts +I remember. I've written it in my spare time during the last twelve months (as you +can see my spare time is not much). + +Many other functionality is planned (more graphics and levels, sound, +multiplayer, network and AI) and I hope I'll slowly make it real.By the time I +encourage you (if you like the game) to draw some more graphics. It's really +easy to make them work, just look at the ones that I have drawn. + +You can also read the sources and bring any suggestion, criticism or +cooperation that will be truly welcomed. + +I want to thank Sam Latinga and Linus Torvalds. The first one for creating +SDL and for giving me this digital space and the second one for... +well you know... + + Waldemar A. Baraldi \ No newline at end of file diff --git a/acconfig.h b/acconfig.h new file mode 100644 index 0000000..39f5c7b --- /dev/null +++ b/acconfig.h @@ -0,0 +1,2 @@ +#undef GAME_PREFIX +#undef GAME_DATADIR diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..62f5149 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,638 @@ +# Configure paths for SDL +# Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor + +dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS +dnl +AC_DEFUN(AM_PATH_SDL, +[dnl +dnl Get the cflags and libraries from the sdl-config script +dnl +AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], + sdl_prefix="$withval", sdl_prefix="") +AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], + sdl_exec_prefix="$withval", sdl_exec_prefix="") +AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], + , enable_sdltest=yes) + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + AC_PATH_PROG(SDL_CONFIG, sdl-config, no) + min_sdl_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" +dnl +dnl Now check if the installed SDL is sufficiently new. (Also sanity +dnl checks the results of sdl-config to some extent +dnl + rm -f conf.sdltest + AC_TRY_RUN([ +#include +#include +#include +#include + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.sdltest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) + rm -f conf.sdltest +]) +## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*- +## Copyright (C) 1996-1999 Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 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 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +## +## As a special exception to the GNU General Public License, if you +## distribute this file as part of a program that contains a +## configuration script generated by Autoconf, you may include it under +## the same distribution terms that you use for the rest of that program. + +# serial 41 AC_PROG_LIBTOOL +AC_DEFUN(AC_PROG_LIBTOOL, +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# Save cache, so that ltconfig can load it +AC_CACHE_SAVE + +# Actually configure libtool. ac_aux_dir is where install-sh is found. +CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ +$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ +|| AC_MSG_ERROR([libtool configure failed]) + +# Reload cache, that may have been modified by ltconfig +AC_CACHE_LOAD + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log +]) + +AC_DEFUN(AC_LIBTOOL_SETUP, +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +dnl + +AC_CHECK_TOOL(RANLIB, ranlib, :) + +# Check for any special flags to pass to ltconfig. +libtool_flags="--cache-file=$cache_file" +test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" +test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" +test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" +test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], +[libtool_flags="$libtool_flags --enable-dlopen"]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[libtool_flags="$libtool_flags --enable-win32-dll"]) +AC_ARG_ENABLE(libtool-lock, + [ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" + +AC_ARG_WITH(pic, + [ --with-pic try to use only PIC/non-PIC objects [default=use both]], + pic_mode="$withval", pic_mode=default) +test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" +test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case "$host" in +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one + AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, + [AC_TRY_LINK([DllMain (0, 0, 0);], + [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);], + [lt_cv_need_dllmain=yes],[lt_cv_need_dllmain=no])]) + + case $host in + *-*-cygwin*) + # cygwin systems need to pass --dll to the linker, and not link + # crt.o which will require a WinMain@16 definition. + lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; + *-*-mingw*) + # old mingw systems require "-dll" to link a DLL, while more recent ones + # require "-mdll" + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mdll" + AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, + [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) + CFLAGS="$SAVE_CFLAGS" ;; + esac + ;; + ]) +esac +]) + +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_SHARED, [dnl +define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(shared, +changequote(<<, >>)dnl +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl +]) + +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) + +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_STATIC, [dnl +define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(static, +changequote(<<, >>)dnl +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) + enable_static=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl +]) + +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) + + +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl +define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN(AC_PROG_LD, +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$ac_cv_prog_gcc" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case "$ac_prog" in + # Accept absolute paths. +changequote(,)dnl + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' +changequote([,])dnl + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(ac_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + ac_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + ac_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$ac_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_SUBST(LD) +AC_PROG_LD_GNU +]) + +AC_DEFUN(AC_PROG_LD_GNU, +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + ac_cv_prog_gnu_ld=yes +else + ac_cv_prog_gnu_ld=no +fi]) +]) + +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AC_PROG_NM, +[AC_MSG_CHECKING([for BSD-compatible nm]) +AC_CACHE_VAL(ac_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -B" + break + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -p" + break + else + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm +fi]) +NM="$ac_cv_path_NM" +AC_MSG_RESULT([$NM]) +AC_SUBST(NM) +]) + +# AC_CHECK_LIBM - check for math library +AC_DEFUN(AC_CHECK_LIBM, +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case "$host" in +*-*-beos* | *-*-cygwin*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library, adds --enable-ltdl-convenience to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case "$enable_ltdl_convenience" in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library, and adds --enable-ltdl-install to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + INCLTDL= + fi +]) + +dnl old names +AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl + +dnl This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL])dnl + + +dnl Thanks to Ingo Ruhnke +AC_DEFUN(MY_EXPAND_DIR, [ + $1=$2 + $1=`( + test "x$prefix" = xNONE && prefix=${ac_default_prefix} + test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + eval echo \""[$]$1"\" + )` + ]) diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..ee9d27d --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,753 @@ +dnl aclocal.m4 generated automatically by aclocal 1.4 + +dnl Copyright (C) 1994, 1995-8, 1999 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. + +# Configure paths for SDL +# Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor + +dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS +dnl +AC_DEFUN(AM_PATH_SDL, +[dnl +dnl Get the cflags and libraries from the sdl-config script +dnl +AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], + sdl_prefix="$withval", sdl_prefix="") +AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], + sdl_exec_prefix="$withval", sdl_exec_prefix="") +AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], + , enable_sdltest=yes) + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + AC_PATH_PROG(SDL_CONFIG, sdl-config, no) + min_sdl_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" +dnl +dnl Now check if the installed SDL is sufficiently new. (Also sanity +dnl checks the results of sdl-config to some extent +dnl + rm -f conf.sdltest + AC_TRY_RUN([ +#include +#include +#include +#include + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.sdltest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) + rm -f conf.sdltest +]) + +# serial 41 AC_PROG_LIBTOOL +AC_DEFUN(AC_PROG_LIBTOOL, +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# Save cache, so that ltconfig can load it +AC_CACHE_SAVE + +# Actually configure libtool. ac_aux_dir is where install-sh is found. +CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ +$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ +|| AC_MSG_ERROR([libtool configure failed]) + +# Reload cache, that may have been modified by ltconfig +AC_CACHE_LOAD + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log +]) + +AC_DEFUN(AC_LIBTOOL_SETUP, +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +dnl + +AC_CHECK_TOOL(RANLIB, ranlib, :) + +# Check for any special flags to pass to ltconfig. +libtool_flags="--cache-file=$cache_file" +test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" +test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" +test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" +test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], +[libtool_flags="$libtool_flags --enable-dlopen"]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[libtool_flags="$libtool_flags --enable-win32-dll"]) +AC_ARG_ENABLE(libtool-lock, + [ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" + +AC_ARG_WITH(pic, + [ --with-pic try to use only PIC/non-PIC objects [default=use both]], + pic_mode="$withval", pic_mode=default) +test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" +test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case "$host" in +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one + AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, + [AC_TRY_LINK([DllMain (0, 0, 0);], + [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);], + [lt_cv_need_dllmain=yes],[lt_cv_need_dllmain=no])]) + + case $host in + *-*-cygwin*) + # cygwin systems need to pass --dll to the linker, and not link + # crt.o which will require a WinMain@16 definition. + lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; + *-*-mingw*) + # old mingw systems require "-dll" to link a DLL, while more recent ones + # require "-mdll" + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mdll" + AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, + [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) + CFLAGS="$SAVE_CFLAGS" ;; + esac + ;; + ]) +esac +]) + +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_SHARED, [dnl +define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(shared, +changequote(<<, >>)dnl +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl +]) + +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) + +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_STATIC, [dnl +define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(static, +changequote(<<, >>)dnl +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) + enable_static=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl +]) + +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) + + +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl +define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN(AC_PROG_LD, +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$ac_cv_prog_gcc" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case "$ac_prog" in + # Accept absolute paths. +changequote(,)dnl + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' +changequote([,])dnl + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(ac_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + ac_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + ac_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$ac_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_SUBST(LD) +AC_PROG_LD_GNU +]) + +AC_DEFUN(AC_PROG_LD_GNU, +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + ac_cv_prog_gnu_ld=yes +else + ac_cv_prog_gnu_ld=no +fi]) +]) + +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AC_PROG_NM, +[AC_MSG_CHECKING([for BSD-compatible nm]) +AC_CACHE_VAL(ac_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -B" + break + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -p" + break + else + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm +fi]) +NM="$ac_cv_path_NM" +AC_MSG_RESULT([$NM]) +AC_SUBST(NM) +]) + +# AC_CHECK_LIBM - check for math library +AC_DEFUN(AC_CHECK_LIBM, +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case "$host" in +*-*-beos* | *-*-cygwin*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library, adds --enable-ltdl-convenience to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case "$enable_ltdl_convenience" in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library, and adds --enable-ltdl-install to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + INCLTDL= + fi +]) + +dnl old names +AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl + +dnl This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL])dnl + + +dnl Thanks to Ingo Ruhnke +AC_DEFUN(MY_EXPAND_DIR, [ + $1=$2 + $1=`( + test "x$prefix" = xNONE && prefix=${ac_default_prefix} + test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + eval echo \""[$]$1"\" + )` + ]) + + +dnl AM_PROG_LEX +dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT +AC_DEFUN(AM_PROG_LEX, +[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1) +AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex") +AC_PROG_LEX +AC_DECL_YYTEXT]) + +# 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([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, $missing_dir) +AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) +AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) +AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) +AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) +AC_REQUIRE([AC_PROG_MAKE_SET])]) + +# +# 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)]) + +# 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([,]))]) + diff --git a/config.guess b/config.guess new file mode 100644 index 0000000..413ed41 --- /dev/null +++ b/config.guess @@ -0,0 +1,883 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 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. + +# Written by Per Bothner . +# The master version of this file is at the FSF in /home/gd/gnu/lib. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit system type (host/target name). +# +# Only a few systems have been added to this list; please add others +# (but try to keep the structure clean). +# + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 8/24/94.) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + alpha:OSF1:*:*) + if test $UNAME_RELEASE = "V4.0"; then + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + fi + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + cat <dummy.s + .globl main + .ent main +main: + .frame \$30,0,\$26,0 + .prologue 0 + .long 0x47e03d80 # implver $0 + lda \$2,259 + .long 0x47e20c21 # amask $2,$1 + srl \$1,8,\$2 + sll \$2,2,\$2 + sll \$0,3,\$0 + addl \$1,\$0,\$0 + addl \$2,\$0,\$0 + ret \$31,(\$26),1 + .end main +EOF + ${CC-cc} dummy.s -o dummy 2>/dev/null + if test "$?" = 0 ; then + ./dummy + case "$?" in + 7) + UNAME_MACHINE="alpha" + ;; + 15) + UNAME_MACHINE="alphaev5" + ;; + 14) + UNAME_MACHINE="alphaev56" + ;; + 10) + UNAME_MACHINE="alphapca56" + ;; + 16) + UNAME_MACHINE="alphaev6" + ;; + esac + fi + rm -f dummy.s dummy + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]` + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-cbm-sysv4 + exit 0;; + amiga:NetBSD:*:*) + echo m68k-cbm-netbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc64:OpenBSD:*:*) + echo mips64el-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hkmips:OpenBSD:*:*) + echo mips-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mips-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + arm32:NetBSD:*:*) + echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + exit 0 ;; + SR2?01:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:*|MIS*:OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + atari*:NetBSD:*:*) + echo m68k-atari-netbsd${UNAME_RELEASE} + exit 0 ;; + atari*:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3*:NetBSD:*:*) + echo m68k-sun-netbsd${UNAME_RELEASE} + exit 0 ;; + sun3*:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:NetBSD:*:*) + echo m68k-apple-netbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + sed 's/^ //' << EOF >dummy.c + int main (argc, argv) int argc; char **argv; { + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + ${CC-cc} dummy.c -o dummy \ + && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ + -o ${TARGET_BINARY_INTERFACE}x = x ] ; then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i?86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + sed 's/^ //' << EOF >dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:4) + if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=4.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[3478]??:HP-UX:*:*) + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;; + 9000/8?? ) HP_ARCH=hppa1.0 ;; + esac + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + sed 's/^ //' << EOF >dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i?86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*X-MP:*:*:*) + echo xmp-cray-unicos + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} + exit 0 ;; + CRAY-2:*:*:*) + echo cray2-cray-unicos + exit 0 ;; + F300:UNIX_System_V:*:*) + FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + F301:UNIX_System_V:*:*) + echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'` + exit 0 ;; + hp3[0-9][05]:NetBSD:*:*) + echo m68k-hp-netbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + i?86:BSD/386:*:* | *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:NetBSD:*:*) + echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + exit 0 ;; + i*:CYGWIN*:*) + echo i386-pc-cygwin32 + exit 0 ;; + i*:MINGW*:*) + echo i386-pc-mingw32 + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin32 + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. + ld_help_string=`ld --help 2>&1` + ld_supported_emulations=`echo $ld_help_string \ + | sed -ne '/supported emulations:/!d + s/[ ][ ]*/ /g + s/.*supported emulations: *// + s/ .*// + p'` + case "$ld_supported_emulations" in + i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;; + i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;; + sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; + m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; + elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;; + esac + + if test "${UNAME_MACHINE}" = "alpha" ; then + sed 's/^ //' <dummy.s + .globl main + .ent main + main: + .frame \$30,0,\$26,0 + .prologue 0 + .long 0x47e03d80 # implver $0 + lda \$2,259 + .long 0x47e20c21 # amask $2,$1 + srl \$1,8,\$2 + sll \$2,2,\$2 + sll \$0,3,\$0 + addl \$1,\$0,\$0 + addl \$2,\$0,\$0 + ret \$31,(\$26),1 + .end main +EOF + LIBC="" + ${CC-cc} dummy.s -o dummy 2>/dev/null + if test "$?" = 0 ; then + ./dummy + case "$?" in + 7) + UNAME_MACHINE="alpha" + ;; + 15) + UNAME_MACHINE="alphaev5" + ;; + 14) + UNAME_MACHINE="alphaev56" + ;; + 10) + UNAME_MACHINE="alphapca56" + ;; + 16) + UNAME_MACHINE="alphaev6" + ;; + esac + + objdump --private-headers dummy | \ + grep ld.so.1 > /dev/null + if test "$?" = 0 ; then + LIBC="libc1" + fi + fi + rm -f dummy.s dummy + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 + elif test "${UNAME_MACHINE}" = "mips" ; then + cat >dummy.c </dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + else + # Either a pre-BFD a.out linker (linux-gnuoldld) + # or one that does not give us useful --help. + # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. + # If ld does not provide *any* "supported emulations:" + # that means it is gnuoldld. + echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:" + test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 + + case "${UNAME_MACHINE}" in + i?86) + VENDOR=pc; + ;; + *) + VENDOR=unknown; + ;; + esac + # Determine whether the default compiler is a.out or elf + cat >dummy.c < +main(argc, argv) + int argc; + char *argv[]; +{ +#ifdef __ELF__ +# ifdef __GLIBC__ +# if __GLIBC__ >= 2 + printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); +# else + printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); +# endif +# else + printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); +# endif +#else + printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); +#endif + return 0; +} +EOF + ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + fi ;; +# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions +# are messed up and put the nodename in both sysname and nodename. + i?86:DYNIX/ptx:4*:*) + echo i386-sequent-sysv4 + exit 0 ;; + i?86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} + fi + exit 0 ;; + i?86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` + (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + pc:*:*:*) + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + M68*:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + i?86:LynxOS:2.*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:*:6*) + echo mips-sony-newsos6 + exit 0 ;; + R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +cat >dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +#if !defined (ultrix) + printf ("vax-dec-bsd\n"); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 +rm -f dummy.c dummy + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +#echo '(Unable to guess system type)' 1>&2 + +exit 1 diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..61025bc --- /dev/null +++ b/config.h.in @@ -0,0 +1 @@ +/* config.h.in. Generated automatically from configure.in by autoheader. */ diff --git a/config.log b/config.log new file mode 100644 index 0000000..487ab23 --- /dev/null +++ b/config.log @@ -0,0 +1,35 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +configure:533: checking how to run the C preprocessor +configure:554: cc -E conftest.c >/dev/null 2>conftest.out +configure:618: checking for flex +configure:651: checking for flex +configure:685: checking for yywrap in -lfl +configure:704: cc -o conftest conftest.c -lfl 1>&5 +configure:727: checking lex output file root +configure:748: checking whether yytext is a pointer +configure:767: cc -o conftest conftest.c -lfl 1>&5 +configure:823: checking for a BSD compatible install +configure:876: checking whether build environment is sane +configure:933: checking whether make sets ${MAKE} +configure:979: checking for working aclocal +configure:992: checking for working autoconf +configure:1005: checking for working automake +configure:1018: checking for working autoheader +configure:1031: checking for working makeinfo +configure:1053: checking whether make sets ${MAKE} +configure:1084: checking for c++ +configure:1116: checking whether the C++ compiler (c++ -O2 ) works +configure:1132: c++ -o conftest -O2 conftest.C 1>&5 +configure:1158: checking whether the C++ compiler (c++ -O2 ) is a cross-compiler +configure:1163: checking whether we are using GNU C++ +configure:1172: c++ -E conftest.C +configure:1191: checking whether c++ accepts -g +configure:1234: checking for a BSD compatible install +configure:1293: checking target system type +configure:1361: checking for sdl-config +configure:1396: checking for SDL - version >= 1.1.5 +configure:1478: cc -o conftest -I/usr/local/include -I/usr/local/include/SDL -D_REENTRANT conftest.c -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread 1>&5 +configure:1561: checking for IMG_Load in -lSDL_image +configure:1580: cc -o conftest conftest.c -lSDL_image -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread 1>&5 diff --git a/config.status b/config.status new file mode 100755 index 0000000..0973f53 --- /dev/null +++ b/config.status @@ -0,0 +1,308 @@ +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host polidor: +# +# ./configure +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]" +for ac_option +do + case "$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion" + exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "./config.status generated by autoconf version 2.13" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "$ac_cs_usage"; exit 0 ;; + *) echo "$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=. +ac_given_INSTALL="/usr/bin/install -c" + +trap 'rm -fr +Makefile +src/Makefile +levels/Makefile +images/Makefile +images/arrows_yellow/Makefile +images/flow_green/Makefile +images/pipes_toys/Makefile +images/default/Makefile +images/flow_light/Makefile +images/pipes_cables/Makefile +images/pipes_wire/Makefile +images/pipes_metal/Makefile +images/arrows_grey/Makefile +images/flow_blue/Makefile +images/pipes_space/Makefile +images/pipes_space/back01/Makefile +images/pipes_space/back02/Makefile +images/pipes_space/back03/Makefile +images/pipes_space/back04/Makefile +images/pipes_space/back05/Makefile +man/Makefile + src/config.h conftest*; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +/^[ ]*VPATH[ ]*=[^:]*$/d + +s%@SHELL@%/bin/sh%g +s%@CFLAGS@%%g +s%@CPPFLAGS@%%g +s%@CXXFLAGS@%-O2 -I/usr/local/include -I/usr/local/include/SDL -D_REENTRANT%g +s%@FFLAGS@%%g +s%@DEFS@%-DHAVE_CONFIG_H%g +s%@LDFLAGS@%%g +s%@LIBS@%-lSDL_image -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread%g +s%@exec_prefix@%${prefix}%g +s%@prefix@%/usr/local%g +s%@program_transform_name@%s,x,x,%g +s%@bindir@%${exec_prefix}/bin%g +s%@sbindir@%${exec_prefix}/sbin%g +s%@libexecdir@%${exec_prefix}/libexec%g +s%@datadir@%${prefix}/share%g +s%@sysconfdir@%${prefix}/etc%g +s%@sharedstatedir@%${prefix}/com%g +s%@localstatedir@%${prefix}/var%g +s%@libdir@%${exec_prefix}/lib%g +s%@includedir@%${prefix}/include%g +s%@oldincludedir@%/usr/include%g +s%@infodir@%${prefix}/info%g +s%@mandir@%${prefix}/man%g +s%@LEX@%flex%g +s%@LEXLIB@%-lfl%g +s%@CPP@%cc -E%g +s%@LEX_OUTPUT_ROOT@%lex.yy%g +s%@INSTALL_PROGRAM@%${INSTALL}%g +s%@INSTALL_SCRIPT@%${INSTALL_PROGRAM}%g +s%@INSTALL_DATA@%${INSTALL} -m 644%g +s%@PACKAGE@%pipenightdreams%g +s%@VERSION@%0.9.0%g +s%@ACLOCAL@%aclocal%g +s%@AUTOCONF@%autoconf%g +s%@AUTOMAKE@%automake%g +s%@AUTOHEADER@%autoheader%g +s%@MAKEINFO@%makeinfo%g +s%@SET_MAKE@%%g +s%@CXX@%c++%g +s%@target@%%g +s%@target_alias@%%g +s%@target_cpu@%%g +s%@target_vendor@%%g +s%@target_os@%%g +s%@SDL_CONFIG@%/usr/local/bin/sdl-config%g +s%@SDL_CFLAGS@%-I/usr/local/include -I/usr/local/include/SDL -D_REENTRANT%g +s%@SDL_LIBS@%-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread%g +s%@LIBTOOL@%../libtool%g + +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_cmds=90 # Maximum number of lines to put in a sed script. +ac_file=1 # Number of current file. +ac_beg=1 # First line for current file. +ac_end=$ac_max_sed_cmds # 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" conftest.subs > conftest.s$ac_file + else + sed "${ac_end}q" conftest.subs > conftest.s$ac_file + fi + if test ! -s conftest.s$ac_file; then + ac_more_lines=false + rm -f conftest.s$ac_file + else + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f conftest.s$ac_file" + else + ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" + fi + ac_file=`expr $ac_file + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_cmds` + fi +done +if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat +fi + +CONFIG_FILES=${CONFIG_FILES-"Makefile +src/Makefile +levels/Makefile +images/Makefile +images/arrows_yellow/Makefile +images/flow_green/Makefile +images/pipes_toys/Makefile +images/default/Makefile +images/flow_light/Makefile +images/pipes_cables/Makefile +images/pipes_wire/Makefile +images/pipes_metal/Makefile +images/arrows_grey/Makefile +images/flow_blue/Makefile +images/pipes_space/Makefile +images/pipes_space/back01/Makefile +images/pipes_space/back02/Makefile +images/pipes_space/back03/Makefile +images/pipes_space/back04/Makefile +images/pipes_space/back05/Makefile +man/Makefile +"} +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file +fi; done +rm -f conftest.s* + +# 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='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +if test "${CONFIG_HEADERS+set}" != set; then + CONFIG_HEADERS="src/config.h" +fi +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + cat $ac_file_inputs > conftest.in + + cat > conftest.frag < conftest.out + rm -f conftest.in + mv conftest.out conftest.in + + cat > conftest.frag < conftest.out + rm -f conftest.in + mv conftest.out conftest.in + + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + fi + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + + + +test -z "$CONFIG_HEADERS" || echo timestamp > src/stamp-h + +exit 0 diff --git a/config.sub b/config.sub new file mode 100755 index 0000000..2436b45 --- /dev/null +++ b/config.sub @@ -0,0 +1,1215 @@ +#! /bin/sh +# Configuration validation subroutine script, version 1.1. +# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc. +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 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. + +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +if [ x$1 = x ] +then + echo Configuration name missing. 1>&2 + echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 + echo "or $0 ALIAS" 1>&2 + echo where ALIAS is a recognized configuration type. 1>&2 + exit 1 +fi + +# First pass through any local machine types. +case $1 in + *local*) + echo $1 + exit 0 + ;; + *) + ;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + linux-gnu*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=vxworks + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ + | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ + | 580 | i960 | h8300 \ + | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ + | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \ + | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \ + | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ + | mips64orion | mips64orionel | mipstx39 | mipstx39el \ + | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ + | mips64vr5000 | miprs64vr5000el \ + | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ + | thumb | d10v) + basic_machine=$basic_machine-unknown + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i[34567]86) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ + | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ + | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ + | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ + | xmp-* | ymp-* \ + | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \ + | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \ + | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ + | clipper-* | orion-* \ + | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ + | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ + | mips64el-* | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ + | mipstx39-* | mipstx39el-* \ + | f301-* | armv*-* | t3e-* \ + | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ + | thumb-* | v850-* | d30v-* | tic30-* | c30-* ) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-cbm + ;; + amigaos | amigados) + basic_machine=m68k-cbm + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-cbm + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | ymp) + basic_machine=ymp-cray + os=-unicos + ;; + cray2) + basic_machine=cray2-cray + os=-unicos + ;; + [ctj]90-cray) + basic_machine=c90-cray + os=-unicos + ;; + crds | unos) + basic_machine=m68k-crds + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + os=-mvs + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i[34567]86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i[34567]86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i[34567]86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i[34567]86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + i386-go32 | go32) + basic_machine=i386-unknown + os=-go32 + ;; + i386-mingw32 | mingw32) + basic_machine=i386-unknown + os=-mingw32 + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | *MiNT) + basic_machine=m68k-atari + os=-mint + ;; + mipsel*-linux*) + basic_machine=mipsel-unknown + os=-linux-gnu + ;; + mips*-linux*) + basic_machine=mips-unknown + os=-linux-gnu + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + msdos) + basic_machine=i386-unknown + os=-msdos + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-corel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + np1) + basic_machine=np1-gould + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexen) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86) + basic_machine=i686-pc + ;; + pentiumii | pentium2) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexen-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=rs6000-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sparclite-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=t3e-cray + os=-unicos + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xmp) + basic_machine=xmp-cray + os=-unicos + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + mips) + if [ x$os = x-linux-gnu ]; then + basic_machine=mips-unknown + else + basic_machine=mips-mips + fi + ;; + romp) + basic_machine=romp-ibm + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sparc | sparcv9) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + c4x*) + basic_machine=c4x-none + os=-coff + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -ns2 ) + os=-nextstep2 + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -*MiNT) + os=-mint + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-corel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f301-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -vxsim* | -vxworks*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -*MiNT) + vendor=atari + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os diff --git a/configure b/configure new file mode 100755 index 0000000..16891e7 --- /dev/null +++ b/configure @@ -0,0 +1,2049 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.13 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: +ac_default_prefix=/usr/local +ac_help="$ac_help + --with-sdl-prefix=PFX Prefix where SDL is installed (optional)" +ac_help="$ac_help + --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)" +ac_help="$ac_help + --disable-sdltest Do not try to compile and run a test SDL program" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE +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' + +# Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} +# Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # 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 ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build="$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" ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir="$ac_optarg" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + # 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 << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [same as prefix] + --bindir=DIR user executables in DIR [EPREFIX/bin] + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data in DIR + [PREFIX/share] + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data in DIR + [PREFIX/com] + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] + --libdir=DIR object code libraries in DIR [EPREFIX/lib] + --includedir=DIR C header files in DIR [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] + --infodir=DIR info documentation in DIR [PREFIX/info] + --mandir=DIR man documentation in DIR [PREFIX/man] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --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 +EOF + cat << EOF +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +EOF + if test -n "$ac_help"; then + echo "--enable and --with options recognized:$ac_help" + fi + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.13" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set these to C if already set. These must not be set unconditionally +# because not all systems understand e.g. LANG=C (notably SCO). +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +# Non-C LC_CTYPE values break the ctype check. +if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=README + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# 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 "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +ac_exeext= +ac_objext=o +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +echo "configure:533: checking how to run the C preprocessor" >&5 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext < +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext < +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:571: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext < +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:588: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" +else + ac_cv_prog_CPP="$CPP" +fi +echo "$ac_t""$CPP" 1>&6 + +missing_dir=`cd $ac_aux_dir && pwd` +for ac_prog in flex lex +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 $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:618: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_LEX="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +LEX="$ac_cv_prog_LEX" +if test -n "$LEX"; then + echo "$ac_t""$LEX" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$LEX" && break +done +test -n "$LEX" || LEX=""$missing_dir/missing flex"" + +# Extract the first word of "flex", so it can be a program name with args. +set dummy flex; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:651: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_LEX="flex" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex" +fi +fi +LEX="$ac_cv_prog_LEX" +if test -n "$LEX"; then + echo "$ac_t""$LEX" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test -z "$LEXLIB" +then + case "$LEX" in + flex*) ac_lib=fl ;; + *) ac_lib=l ;; + esac + echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 +echo "configure:685: checking for yywrap in -l$ac_lib" >&5 +ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-l$ac_lib $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LEXLIB="-l$ac_lib" +else + echo "$ac_t""no" 1>&6 +fi + +fi + +echo $ac_n "checking lex output file root""... $ac_c" 1>&6 +echo "configure:727: checking lex output file root" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # The minimal lex program is just a single line: %%. But some broken lexes +# (Solaris, I think it was) want two %% lines, so accommodate them. +echo '%% +%%' | $LEX +if test -f lex.yy.c; then + ac_cv_prog_lex_root=lex.yy +elif test -f lexyy.c; then + ac_cv_prog_lex_root=lexyy +else + { echo "configure: error: cannot find output from $LEX; giving up" 1>&2; exit 1; } +fi +fi + +echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 +LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root + +echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 +echo "configure:748: checking whether yytext is a pointer" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # POSIX says lex can declare yytext either as a pointer or an array; the +# default is implementation-dependent. Figure out which it is, since +# not all implementations provide the %pointer and %array declarations. +ac_cv_prog_lex_yytext_pointer=no +echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c +ac_save_LIBS="$LIBS" +LIBS="$LIBS $LEXLIB" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_prog_lex_yytext_pointer=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +LIBS="$ac_save_LIBS" +rm -f "${LEX_OUTPUT_ROOT}.c" + +fi + +echo "$ac_t""$ac_cv_prog_lex_yytext_pointer" 1>&6 +if test $ac_cv_prog_lex_yytext_pointer = yes; then + cat >> confdefs.h <<\EOF +#define YYTEXT_POINTER 1 +EOF + +fi + + +# The AM_INIT_AUTOMAKE macro tells automake the name and version number +# of the software package so it can generate rules for building a source +# archive. +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 + fi +done +if test -z "$ac_aux_dir"; then + { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$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 +# 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 $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +echo "configure:823: checking for a BSD compatible install" >&5 +if test -z "$INSTALL"; then +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" + for ac_dir in $PATH; do + # Account for people who put trailing slashes in PATH elements. + case "$ac_dir/" in + /|./|.//|/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 + if test -f $ac_dir/$ac_prog; then + if test $ac_prog = install && + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + else + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 + fi + fi + done + ;; + esac + done + IFS="$ac_save_IFS" + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL="$ac_cv_path_install" + else + # As a last resort, use the slow shell script. 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 "$ac_t""$INSTALL" 1>&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_PROGRAM}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 +echo "configure:876: checking whether build environment is sane" >&5 +# 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 "configure: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" 1>&2; exit 1; } + fi + + test "$2" = conftestfile + ) +then + # Ok. + : +else + { echo "configure: error: newly created file is older than distributed files! +Check your system clock" 1>&2; exit 1; } +fi +rm -f conftest* +echo "$ac_t""yes" 1>&6 +if test "$program_transform_name" = s,x,x,; then + program_transform_name= +else + # Double any \ or $. echo might interpret backslashes. + cat <<\EOF_SED > conftestsed +s,\\,\\\\,g; s,\$,$$,g +EOF_SED + program_transform_name="`echo $program_transform_name|sed -f conftestsed`" + rm -f conftestsed +fi +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" + +# sed with no file args requires a program. +test "$program_transform_name" = "" && program_transform_name="s,x,x," + +echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +echo "configure:933: checking whether ${MAKE-make} sets \${MAKE}" >&5 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftestmake <<\EOF +all: + @echo 'ac_maketemp="${MAKE}"' +EOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftestmake 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 conftestmake +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$ac_t""yes" 1>&6 + SET_MAKE= +else + echo "$ac_t""no" 1>&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + + +PACKAGE=pipenightdreams + +VERSION=0.9.0 + +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then + { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } +fi +cat >> confdefs.h <> confdefs.h <&6 +echo "configure:979: checking for working aclocal" >&5 +# 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 --version) < /dev/null > /dev/null 2>&1; then + ACLOCAL=aclocal + echo "$ac_t""found" 1>&6 +else + ACLOCAL="$missing_dir/missing aclocal" + echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 +echo "configure:992: checking for working autoconf" >&5 +# 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 "$ac_t""found" 1>&6 +else + AUTOCONF="$missing_dir/missing autoconf" + echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working automake""... $ac_c" 1>&6 +echo "configure:1005: checking for working automake" >&5 +# 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 --version) < /dev/null > /dev/null 2>&1; then + AUTOMAKE=automake + echo "$ac_t""found" 1>&6 +else + AUTOMAKE="$missing_dir/missing automake" + echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 +echo "configure:1018: checking for working autoheader" >&5 +# 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 "$ac_t""found" 1>&6 +else + AUTOHEADER="$missing_dir/missing autoheader" + echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 +echo "configure:1031: checking for working makeinfo" >&5 +# 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 "$ac_t""found" 1>&6 +else + MAKEINFO="$missing_dir/missing makeinfo" + echo "$ac_t""missing" 1>&6 +fi + + + + + + +CXXFLAGS="-O2" +# We now have a list of macros which tell autoconf what tools we need to +# build our software, in this case "make", a C++ compiler, and "install". +# If we were creating a C program, we would use AC_PROC_CC instead of CXX. +echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +echo "configure:1053: checking whether ${MAKE-make} sets \${MAKE}" >&5 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftestmake <<\EOF +all: + @echo 'ac_maketemp="${MAKE}"' +EOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftestmake 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 conftestmake +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$ac_t""yes" 1>&6 + SET_MAKE= +else + echo "$ac_t""no" 1>&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +for ac_prog in $CCC c++ g++ gcc CC cxx cc++ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1084: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CXX="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CXX="$ac_cv_prog_CXX" +if test -n "$CXX"; then + echo "$ac_t""$CXX" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$CXX" && break +done +test -n "$CXX" || CXX="gcc" + + +echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1116: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +cat > conftest.$ac_ext << EOF + +#line 1127 "configure" +#include "confdefs.h" + +int main(){return(0);} +EOF +if { (eval echo configure:1132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cxx_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cxx_cross=no + else + ac_cv_prog_cxx_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cxx_works=no +fi +rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6 +if test $ac_cv_prog_cxx_works = no; then + { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } +fi +echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1158: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 +cross_compiling=$ac_cv_prog_cxx_cross + +echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 +echo "configure:1163: checking whether we are using GNU C++" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.C <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gxx=yes +else + ac_cv_prog_gxx=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gxx" 1>&6 + +if test $ac_cv_prog_gxx = yes; then + GXX=yes +else + GXX= +fi + +ac_test_CXXFLAGS="${CXXFLAGS+set}" +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS= +echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 +echo "configure:1191: checking whether ${CXX-g++} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.cc +if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then + ac_cv_prog_cxx_g=yes +else + ac_cv_prog_cxx_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS="$ac_save_CXXFLAGS" +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi + +# 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 +# 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 $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +echo "configure:1234: checking for a BSD compatible install" >&5 +if test -z "$INSTALL"; then +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" + for ac_dir in $PATH; do + # Account for people who put trailing slashes in PATH elements. + case "$ac_dir/" in + /|./|.//|/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 + if test -f $ac_dir/$ac_prog; then + if test $ac_prog = install && + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + else + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 + fi + fi + done + ;; + esac + done + IFS="$ac_save_IFS" + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL="$ac_cv_path_install" + else + # As a last resort, use the slow shell script. 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 "$ac_t""$INSTALL" 1>&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_PROGRAM}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + +# This is a trick I learned at Loki - the current compiler for the alpha +# architecture doesn't produce code that works on all versions of the +# alpha processor. This bit detects the current compile architecture +# and sets the compiler flags to produce portable binary code. +#AC_CANONICAL_HOST +echo $ac_n "checking target system type""... $ac_c" 1>&6 +echo "configure:1293: checking target system type" >&5 + +target_alias=$target +case "$target_alias" in +NONE) + case $nonopt in + NONE) target_alias=$host_alias ;; + *) target_alias=$nonopt ;; + esac ;; +esac + +target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` +target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$target" 1>&6 + +case "$target" in +alpha*-*-linux*) +CXXFLAGS="$CXXFLAGS -mcpu=ev4 -Wa,-mall" +;; +esac + +# Use the macro SDL provides to check the installed version of the SDL +# development environment. Abort the configuration process if the +# minimum version we require isn't available. +SDL_VERSION=1.1.5 +# Check whether --with-sdl-prefix or --without-sdl-prefix was given. +if test "${with_sdl_prefix+set}" = set; then + withval="$with_sdl_prefix" + sdl_prefix="$withval" +else + sdl_prefix="" +fi + +# Check whether --with-sdl-exec-prefix or --without-sdl-exec-prefix was given. +if test "${with_sdl_exec_prefix+set}" = set; then + withval="$with_sdl_exec_prefix" + sdl_exec_prefix="$withval" +else + sdl_exec_prefix="" +fi + +# Check whether --enable-sdltest or --disable-sdltest was given. +if test "${enable_sdltest+set}" = set; then + enableval="$enable_sdltest" + : +else + enable_sdltest=yes +fi + + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + # Extract the first word of "sdl-config", so it can be a program name with args. +set dummy sdl-config; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1361: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_SDL_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$SDL_CONFIG" in + /*) + ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_SDL_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" + ;; +esac +fi +SDL_CONFIG="$ac_cv_path_SDL_CONFIG" +if test -n "$SDL_CONFIG"; then + echo "$ac_t""$SDL_CONFIG" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + min_sdl_version=$SDL_VERSION + echo $ac_n "checking for SDL - version >= $min_sdl_version""... $ac_c" 1>&6 +echo "configure:1396: checking for SDL - version >= $min_sdl_version" >&5 + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + rm -f conf.sdltest + if test "$cross_compiling" = yes; then + echo $ac_n "cross compiling; assumed OK... $ac_c" +else + cat > conftest.$ac_ext < +#include +#include +#include + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.sdltest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + + +EOF +if { (eval echo configure:1478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + no_sdl=yes +fi +rm -fr conftest* +fi + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + echo "$ac_t""yes" 1>&6 + : + else + echo "$ac_t""no" 1>&6 + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + cat > conftest.$ac_ext < +#include + +int main() { + return 0; +; return 0; } +EOF +if { (eval echo configure:1522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" +fi +rm -f conftest* + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + { echo "configure: error: *** SDL version $SDL_VERSION not found!" 1>&2; exit 1; } + + fi + + + rm -f conf.sdltest + +# Add the SDL preprocessor flags and libraries to the build process +CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" +LIBS="$LIBS $SDL_LIBS" + +echo $ac_n "checking for IMG_Load in -lSDL_image""... $ac_c" 1>&6 +echo "configure:1561: checking for IMG_Load in -lSDL_image" >&5 +ac_lib_var=`echo SDL_image'_'IMG_Load | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lSDL_image $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo SDL_image | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 +fi + + +LIBTOOL=../libtool + + +#Thanks to Ingo Ruhnke + + game_datadir="$datadir/games/$PACKAGE" + game_datadir=`( + test "x$prefix" = xNONE && prefix=${ac_default_prefix} + test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + eval echo \""$game_datadir"\" + )` + +cat >> confdefs.h < confcache <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# 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 \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +DEFS=-DHAVE_CONFIG_H + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS </dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.13" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir +ac_given_INSTALL="$INSTALL" + +trap 'rm -fr `echo " +Makefile +src/Makefile +levels/Makefile +images/Makefile +images/arrows_yellow/Makefile +images/flow_green/Makefile +images/pipes_toys/Makefile +images/default/Makefile +images/flow_light/Makefile +images/pipes_cables/Makefile +images/pipes_wire/Makefile +images/pipes_metal/Makefile +images/arrows_grey/Makefile +images/flow_blue/Makefile +images/pipes_space/Makefile +images/pipes_space/back01/Makefile +images/pipes_space/back02/Makefile +images/pipes_space/back03/Makefile +images/pipes_space/back04/Makefile +images/pipes_space/back05/Makefile +man/Makefile + src/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +EOF +cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF +$ac_vpsub +$extrasub +s%@SHELL@%$SHELL%g +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@bindir@%$bindir%g +s%@sbindir@%$sbindir%g +s%@libexecdir@%$libexecdir%g +s%@datadir@%$datadir%g +s%@sysconfdir@%$sysconfdir%g +s%@sharedstatedir@%$sharedstatedir%g +s%@localstatedir@%$localstatedir%g +s%@libdir@%$libdir%g +s%@includedir@%$includedir%g +s%@oldincludedir@%$oldincludedir%g +s%@infodir@%$infodir%g +s%@mandir@%$mandir%g +s%@LEX@%$LEX%g +s%@LEXLIB@%$LEXLIB%g +s%@CPP@%$CPP%g +s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g +s%@INSTALL_DATA@%$INSTALL_DATA%g +s%@PACKAGE@%$PACKAGE%g +s%@VERSION@%$VERSION%g +s%@ACLOCAL@%$ACLOCAL%g +s%@AUTOCONF@%$AUTOCONF%g +s%@AUTOMAKE@%$AUTOMAKE%g +s%@AUTOHEADER@%$AUTOHEADER%g +s%@MAKEINFO@%$MAKEINFO%g +s%@SET_MAKE@%$SET_MAKE%g +s%@CXX@%$CXX%g +s%@target@%$target%g +s%@target_alias@%$target_alias%g +s%@target_cpu@%$target_cpu%g +s%@target_vendor@%$target_vendor%g +s%@target_os@%$target_os%g +s%@SDL_CONFIG@%$SDL_CONFIG%g +s%@SDL_CFLAGS@%$SDL_CFLAGS%g +s%@SDL_LIBS@%$SDL_LIBS%g +s%@LIBTOOL@%$LIBTOOL%g + +CEOF +EOF + +cat >> $CONFIG_STATUS <<\EOF + +# 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_cmds=90 # Maximum number of lines to put in a sed script. +ac_file=1 # Number of current file. +ac_beg=1 # First line for current file. +ac_end=$ac_max_sed_cmds # 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" conftest.subs > conftest.s$ac_file + else + sed "${ac_end}q" conftest.subs > conftest.s$ac_file + fi + if test ! -s conftest.s$ac_file; then + ac_more_lines=false + rm -f conftest.s$ac_file + else + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f conftest.s$ac_file" + else + ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" + fi + ac_file=`expr $ac_file + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_cmds` + fi +done +if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat +fi +EOF + +cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file +fi; done +rm -f conftest.s* + +# 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='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +if test "${CONFIG_HEADERS+set}" != set; then +EOF +cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +fi +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + cat $ac_file_inputs > conftest.in + +EOF + +# Transform confdefs.h into a sed script conftest.vals that substitutes +# the proper values into config.h.in to produce config.h. 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.vals +cat > conftest.hdr <<\EOF +s/[\\&%]/\\&/g +s%[\\$`]%\\&%g +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%ac_d%ac_u%gp +s%ac_u%ac_e%gp +EOF +sed -n -f conftest.hdr confdefs.h > conftest.vals +rm -f conftest.hdr + +# 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.vals <<\EOF +s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% +EOF + +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. + +rm -f conftest.tail +while : +do + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write a limited-size here document to conftest.frag. + echo ' cat > conftest.frag <> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + echo 'CEOF + sed -f conftest.frag conftest.in > conftest.out + rm -f conftest.in + mv conftest.out conftest.in +' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals +done +rm -f conftest.vals + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + fi + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + +EOF +cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +test -z "$CONFIG_HEADERS" || echo timestamp > src/stamp-h + +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..6db0a85 --- /dev/null +++ b/configure.in @@ -0,0 +1,79 @@ +# This first line initializes autoconf and gives it a file that it can +# look for to make sure the source distribution is complete. +AC_INIT(README) +AM_PROG_LEX + +# The AM_INIT_AUTOMAKE macro tells automake the name and version number +# of the software package so it can generate rules for building a source +# archive. +AM_INIT_AUTOMAKE(pipenightdreams, 0.9.0) +AC_PREFIX_DEFAULT(/usr/local) +AM_CONFIG_HEADER(src/config.h) +CXXFLAGS="-O2" +# We now have a list of macros which tell autoconf what tools we need to +# build our software, in this case "make", a C++ compiler, and "install". +# If we were creating a C program, we would use AC_PROC_CC instead of CXX. +AC_PROG_MAKE_SET +AC_PROG_CXX +AC_PROG_INSTALL + +# This is a trick I learned at Loki - the current compiler for the alpha +# architecture doesn't produce code that works on all versions of the +# alpha processor. This bit detects the current compile architecture +# and sets the compiler flags to produce portable binary code. +#AC_CANONICAL_HOST +AC_CANONICAL_TARGET +case "$target" in +alpha*-*-linux*) +CXXFLAGS="$CXXFLAGS -mcpu=ev4 -Wa,-mall" +;; +esac + +# Use the macro SDL provides to check the installed version of the SDL +# development environment. Abort the configuration process if the +# minimum version we require isn't available. +SDL_VERSION=1.1.5 +AM_PATH_SDL($SDL_VERSION, +:, + AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) +) +# Add the SDL preprocessor flags and libraries to the build process +CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" +LIBS="$LIBS $SDL_LIBS" + +AC_CHECK_LIB(SDL_image, IMG_Load) + +LIBTOOL=../libtool +AC_SUBST(LIBTOOL) + +#Thanks to Ingo Ruhnke +MY_EXPAND_DIR(game_datadir, "$datadir/games/$PACKAGE") +AC_DEFINE_UNQUOTED(GAME_DATADIR, "$game_datadir") + +# Finally create all the generated files +# The configure script takes "file.in" and substitutes variables to produce +# "file". In this case we are just generating the Makefiles, but this could +# be used to generate any number of automatically generated files. +AC_OUTPUT([ +Makefile +src/Makefile +levels/Makefile +images/Makefile +images/arrows_yellow/Makefile +images/flow_green/Makefile +images/pipes_toys/Makefile +images/default/Makefile +images/flow_light/Makefile +images/pipes_cables/Makefile +images/pipes_wire/Makefile +images/pipes_metal/Makefile +images/arrows_grey/Makefile +images/flow_blue/Makefile +images/pipes_space/Makefile +images/pipes_space/back01/Makefile +images/pipes_space/back02/Makefile +images/pipes_space/back03/Makefile +images/pipes_space/back04/Makefile +images/pipes_space/back05/Makefile +man/Makefile +]) diff --git a/images/Makefile.am b/images/Makefile.am new file mode 100644 index 0000000..4d45a4e --- /dev/null +++ b/images/Makefile.am @@ -0,0 +1,8 @@ +SUBDIRS = arrows_yellow flow_green pipes_toys default flow_light pipes_cables pipes_wire pipes_metal arrows_grey flow_blue pipes_space + +pkgdatadir= $(datadir)/games/@PACKAGE@/images + +pkgdata_DATA= *.png *.jpg + + + diff --git a/images/Makefile.in b/images/Makefile.in new file mode 100644 index 0000000..e2b039c --- /dev/null +++ b/images/Makefile.in @@ -0,0 +1,315 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +SUBDIRS = arrows_yellow flow_green pipes_toys default flow_light pipes_cables pipes_wire pipes_metal arrows_grey flow_blue pipes_space + +pkgdatadir = $(datadir)/games/@PACKAGE@/images + +pkgdata_DATA = *.png *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. + +@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) $(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)$$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 = images + +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 images/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=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ + done +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive +check-am: all-am +check: check-recursive +installcheck-am: +installcheck: installcheck-recursive +install-exec-am: +install-exec: install-exec-recursive + +install-data-am: install-pkgdataDATA +install-data: install-data-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-recursive +uninstall-am: uninstall-pkgdataDATA +uninstall: uninstall-recursive +all-am: Makefile $(DATA) +all-redirect: all-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: installdirs-recursive +installdirs-am: + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + + +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-tags mostlyclean-generic + +mostlyclean: mostlyclean-recursive + +clean-am: clean-tags clean-generic mostlyclean-am + +clean: clean-recursive + +distclean-am: distclean-tags distclean-generic clean-am + +distclean: distclean-recursive + +maintainer-clean-am: 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 + +.PHONY: uninstall-pkgdataDATA install-pkgdataDATA 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 install-exec-am \ +install-exec 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 + + +# 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/images/alllevelsdone.png b/images/alllevelsdone.png new file mode 100644 index 0000000..fed1dfa Binary files /dev/null and b/images/alllevelsdone.png differ diff --git a/images/arrows_grey/Makefile.am b/images/arrows_grey/Makefile.am new file mode 100644 index 0000000..5c3399c --- /dev/null +++ b/images/arrows_grey/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/arrows_grey + +pkgdata_DATA= *.png diff --git a/images/arrows_grey/Makefile.in b/images/arrows_grey/Makefile.in new file mode 100644 index 0000000..0b36d14 --- /dev/null +++ b/images/arrows_grey/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/arrows_grey + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/arrows_grey/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/arrows_grey + +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 images/arrows_grey/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/arrows_grey/arrow_e.png b/images/arrows_grey/arrow_e.png new file mode 100644 index 0000000..137a591 Binary files /dev/null and b/images/arrows_grey/arrow_e.png differ diff --git a/images/arrows_grey/arrow_n.png b/images/arrows_grey/arrow_n.png new file mode 100644 index 0000000..a5b89ba Binary files /dev/null and b/images/arrows_grey/arrow_n.png differ diff --git a/images/arrows_grey/arrow_s.png b/images/arrows_grey/arrow_s.png new file mode 100644 index 0000000..b108bc4 Binary files /dev/null and b/images/arrows_grey/arrow_s.png differ diff --git a/images/arrows_grey/arrow_w.png b/images/arrows_grey/arrow_w.png new file mode 100644 index 0000000..a986f29 Binary files /dev/null and b/images/arrows_grey/arrow_w.png differ diff --git a/images/arrows_yellow/Makefile.am b/images/arrows_yellow/Makefile.am new file mode 100644 index 0000000..b904497 --- /dev/null +++ b/images/arrows_yellow/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/arrows_yellow + +pkgdata_DATA= *.png diff --git a/images/arrows_yellow/Makefile.in b/images/arrows_yellow/Makefile.in new file mode 100644 index 0000000..775ae5d --- /dev/null +++ b/images/arrows_yellow/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/arrows_yellow + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/arrows_yellow/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/arrows_yellow + +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 images/arrows_yellow/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/arrows_yellow/arrow_e.png b/images/arrows_yellow/arrow_e.png new file mode 100644 index 0000000..53dbd3b Binary files /dev/null and b/images/arrows_yellow/arrow_e.png differ diff --git a/images/arrows_yellow/arrow_n.png b/images/arrows_yellow/arrow_n.png new file mode 100644 index 0000000..b5c3ea2 Binary files /dev/null and b/images/arrows_yellow/arrow_n.png differ diff --git a/images/arrows_yellow/arrow_s.png b/images/arrows_yellow/arrow_s.png new file mode 100644 index 0000000..3d74be3 Binary files /dev/null and b/images/arrows_yellow/arrow_s.png differ diff --git a/images/arrows_yellow/arrow_w.png b/images/arrows_yellow/arrow_w.png new file mode 100644 index 0000000..5b22c10 Binary files /dev/null and b/images/arrows_yellow/arrow_w.png differ diff --git a/images/default/0.png b/images/default/0.png new file mode 100644 index 0000000..3dfaa7e Binary files /dev/null and b/images/default/0.png differ diff --git a/images/default/1.png b/images/default/1.png new file mode 100644 index 0000000..e6dec84 Binary files /dev/null and b/images/default/1.png differ diff --git a/images/default/2.png b/images/default/2.png new file mode 100644 index 0000000..b6dc78d Binary files /dev/null and b/images/default/2.png differ diff --git a/images/default/3.png b/images/default/3.png new file mode 100644 index 0000000..6b66347 Binary files /dev/null and b/images/default/3.png differ diff --git a/images/default/4.png b/images/default/4.png new file mode 100644 index 0000000..c58f783 Binary files /dev/null and b/images/default/4.png differ diff --git a/images/default/5.png b/images/default/5.png new file mode 100644 index 0000000..84c8f46 Binary files /dev/null and b/images/default/5.png differ diff --git a/images/default/6.png b/images/default/6.png new file mode 100644 index 0000000..363927a Binary files /dev/null and b/images/default/6.png differ diff --git a/images/default/7.png b/images/default/7.png new file mode 100644 index 0000000..733ad34 Binary files /dev/null and b/images/default/7.png differ diff --git a/images/default/8.png b/images/default/8.png new file mode 100644 index 0000000..0b27168 Binary files /dev/null and b/images/default/8.png differ diff --git a/images/default/9.png b/images/default/9.png new file mode 100644 index 0000000..73df385 Binary files /dev/null and b/images/default/9.png differ diff --git a/images/default/Makefile.am b/images/default/Makefile.am new file mode 100644 index 0000000..edd04a9 --- /dev/null +++ b/images/default/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/default + +pkgdata_DATA= *.png *.jpg diff --git a/images/default/Makefile.in b/images/default/Makefile.in new file mode 100644 index 0000000..71d23d9 --- /dev/null +++ b/images/default/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/default + +pkgdata_DATA = *.png *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/default/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/default + +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 images/default/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/default/board_back.jpg b/images/default/board_back.jpg new file mode 100644 index 0000000..fdc349a Binary files /dev/null and b/images/default/board_back.jpg differ diff --git a/images/default/bowl_h.png b/images/default/bowl_h.png new file mode 100644 index 0000000..238f475 Binary files /dev/null and b/images/default/bowl_h.png differ diff --git a/images/default/bowl_hb.png b/images/default/bowl_hb.png new file mode 100644 index 0000000..723d828 Binary files /dev/null and b/images/default/bowl_hb.png differ diff --git a/images/default/bowl_v.png b/images/default/bowl_v.png new file mode 100644 index 0000000..a88f383 Binary files /dev/null and b/images/default/bowl_v.png differ diff --git a/images/default/bowl_vb.png b/images/default/bowl_vb.png new file mode 100644 index 0000000..2124a47 Binary files /dev/null and b/images/default/bowl_vb.png differ diff --git a/images/default/cross.png b/images/default/cross.png new file mode 100644 index 0000000..1dbfdd3 Binary files /dev/null and b/images/default/cross.png differ diff --git a/images/default/cross_b.png b/images/default/cross_b.png new file mode 100644 index 0000000..49e0554 Binary files /dev/null and b/images/default/cross_b.png differ diff --git a/images/default/elbow_ne.png b/images/default/elbow_ne.png new file mode 100644 index 0000000..5e1a63b Binary files /dev/null and b/images/default/elbow_ne.png differ diff --git a/images/default/elbow_neb.png b/images/default/elbow_neb.png new file mode 100644 index 0000000..f5ee9fe Binary files /dev/null and b/images/default/elbow_neb.png differ diff --git a/images/default/elbow_nw.png b/images/default/elbow_nw.png new file mode 100644 index 0000000..f9eebab Binary files /dev/null and b/images/default/elbow_nw.png differ diff --git a/images/default/elbow_nwb.png b/images/default/elbow_nwb.png new file mode 100644 index 0000000..aebc2a7 Binary files /dev/null and b/images/default/elbow_nwb.png differ diff --git a/images/default/elbow_se.png b/images/default/elbow_se.png new file mode 100644 index 0000000..3136d1e Binary files /dev/null and b/images/default/elbow_se.png differ diff --git a/images/default/elbow_seb.png b/images/default/elbow_seb.png new file mode 100644 index 0000000..df47f63 Binary files /dev/null and b/images/default/elbow_seb.png differ diff --git a/images/default/elbow_sw.png b/images/default/elbow_sw.png new file mode 100644 index 0000000..0920ce1 Binary files /dev/null and b/images/default/elbow_sw.png differ diff --git a/images/default/elbow_swb.png b/images/default/elbow_swb.png new file mode 100644 index 0000000..069b72c Binary files /dev/null and b/images/default/elbow_swb.png differ diff --git a/images/default/elbow_vb.png b/images/default/elbow_vb.png new file mode 100644 index 0000000..ab73a33 Binary files /dev/null and b/images/default/elbow_vb.png differ diff --git a/images/default/entry_h.png b/images/default/entry_h.png new file mode 100644 index 0000000..d1e2cea Binary files /dev/null and b/images/default/entry_h.png differ diff --git a/images/default/entry_v.png b/images/default/entry_v.png new file mode 100644 index 0000000..c4b3ded Binary files /dev/null and b/images/default/entry_v.png differ diff --git a/images/default/exit_h.png b/images/default/exit_h.png new file mode 100644 index 0000000..e4b4d20 Binary files /dev/null and b/images/default/exit_h.png differ diff --git a/images/default/exit_v.png b/images/default/exit_v.png new file mode 100644 index 0000000..3f04f38 Binary files /dev/null and b/images/default/exit_v.png differ diff --git a/images/default/horizontal.png b/images/default/horizontal.png new file mode 100644 index 0000000..83566f4 Binary files /dev/null and b/images/default/horizontal.png differ diff --git a/images/default/horizontal_b.png b/images/default/horizontal_b.png new file mode 100644 index 0000000..7cfe797 Binary files /dev/null and b/images/default/horizontal_b.png differ diff --git a/images/default/hyper_bonus.png b/images/default/hyper_bonus.png new file mode 100644 index 0000000..e40bc38 Binary files /dev/null and b/images/default/hyper_bonus.png differ diff --git a/images/default/life_bonus.png b/images/default/life_bonus.png new file mode 100644 index 0000000..b0be37e Binary files /dev/null and b/images/default/life_bonus.png differ diff --git a/images/default/lives_one.png b/images/default/lives_one.png new file mode 100644 index 0000000..65d5969 Binary files /dev/null and b/images/default/lives_one.png differ diff --git a/images/default/panel.png b/images/default/panel.png new file mode 100644 index 0000000..7db2bef Binary files /dev/null and b/images/default/panel.png differ diff --git a/images/default/pbowl_h.png b/images/default/pbowl_h.png new file mode 100644 index 0000000..f7e4b29 Binary files /dev/null and b/images/default/pbowl_h.png differ diff --git a/images/default/pbowl_v.png b/images/default/pbowl_v.png new file mode 100644 index 0000000..b7033a1 Binary files /dev/null and b/images/default/pbowl_v.png differ diff --git a/images/default/pcross.png b/images/default/pcross.png new file mode 100644 index 0000000..62f450d Binary files /dev/null and b/images/default/pcross.png differ diff --git a/images/default/pelbow_ne.png b/images/default/pelbow_ne.png new file mode 100644 index 0000000..e9260df Binary files /dev/null and b/images/default/pelbow_ne.png differ diff --git a/images/default/pelbow_nw.png b/images/default/pelbow_nw.png new file mode 100644 index 0000000..01aa946 Binary files /dev/null and b/images/default/pelbow_nw.png differ diff --git a/images/default/pelbow_se.png b/images/default/pelbow_se.png new file mode 100644 index 0000000..1cfdc13 Binary files /dev/null and b/images/default/pelbow_se.png differ diff --git a/images/default/pelbow_sw.png b/images/default/pelbow_sw.png new file mode 100644 index 0000000..7f79f03 Binary files /dev/null and b/images/default/pelbow_sw.png differ diff --git a/images/default/phorizontal.png b/images/default/phorizontal.png new file mode 100644 index 0000000..039b29a Binary files /dev/null and b/images/default/phorizontal.png differ diff --git a/images/default/pvertical.png b/images/default/pvertical.png new file mode 100644 index 0000000..0436055 Binary files /dev/null and b/images/default/pvertical.png differ diff --git a/images/default/queue_one.png b/images/default/queue_one.png new file mode 100644 index 0000000..99561f4 Binary files /dev/null and b/images/default/queue_one.png differ diff --git a/images/default/required_one.png b/images/default/required_one.png new file mode 100644 index 0000000..1caab2a Binary files /dev/null and b/images/default/required_one.png differ diff --git a/images/default/score_one.png b/images/default/score_one.png new file mode 100644 index 0000000..80411d1 Binary files /dev/null and b/images/default/score_one.png differ diff --git a/images/default/splash.png b/images/default/splash.png new file mode 100644 index 0000000..352504a Binary files /dev/null and b/images/default/splash.png differ diff --git a/images/default/super_bonus.png b/images/default/super_bonus.png new file mode 100644 index 0000000..1ff42ce Binary files /dev/null and b/images/default/super_bonus.png differ diff --git a/images/default/tank.png b/images/default/tank.png new file mode 100644 index 0000000..0787910 Binary files /dev/null and b/images/default/tank.png differ diff --git a/images/default/ultra_bonus.png b/images/default/ultra_bonus.png new file mode 100644 index 0000000..8e4f8ed Binary files /dev/null and b/images/default/ultra_bonus.png differ diff --git a/images/default/vertical.png b/images/default/vertical.png new file mode 100644 index 0000000..e51410f Binary files /dev/null and b/images/default/vertical.png differ diff --git a/images/default/vertical_b.png b/images/default/vertical_b.png new file mode 100644 index 0000000..9ec3405 Binary files /dev/null and b/images/default/vertical_b.png differ diff --git a/images/entertostart.png b/images/entertostart.png new file mode 100644 index 0000000..e5d59cb Binary files /dev/null and b/images/entertostart.png differ diff --git a/images/flow_blue/Makefile.am b/images/flow_blue/Makefile.am new file mode 100644 index 0000000..6a3bafa --- /dev/null +++ b/images/flow_blue/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/flow_blue + +pkgdata_DATA= *.png diff --git a/images/flow_blue/Makefile.in b/images/flow_blue/Makefile.in new file mode 100644 index 0000000..c4b4824 --- /dev/null +++ b/images/flow_blue/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/flow_blue + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/flow_blue/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/flow_blue + +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 images/flow_blue/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/flow_blue/flow.png b/images/flow_blue/flow.png new file mode 100644 index 0000000..0a0816e Binary files /dev/null and b/images/flow_blue/flow.png differ diff --git a/images/flow_blue/flow_big.png b/images/flow_blue/flow_big.png new file mode 100644 index 0000000..28ca07c Binary files /dev/null and b/images/flow_blue/flow_big.png differ diff --git a/images/flow_blue/splash.png b/images/flow_blue/splash.png new file mode 100644 index 0000000..86e1683 Binary files /dev/null and b/images/flow_blue/splash.png differ diff --git a/images/flow_green/Makefile.am b/images/flow_green/Makefile.am new file mode 100644 index 0000000..ac78314 --- /dev/null +++ b/images/flow_green/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/flow_green + +pkgdata_DATA= *.png \ No newline at end of file diff --git a/images/flow_green/Makefile.in b/images/flow_green/Makefile.in new file mode 100644 index 0000000..4614488 --- /dev/null +++ b/images/flow_green/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/flow_green + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/flow_green/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/flow_green + +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 images/flow_green/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/flow_green/flow.png b/images/flow_green/flow.png new file mode 100644 index 0000000..1801976 Binary files /dev/null and b/images/flow_green/flow.png differ diff --git a/images/flow_green/flow_big.png b/images/flow_green/flow_big.png new file mode 100644 index 0000000..ba56b70 Binary files /dev/null and b/images/flow_green/flow_big.png differ diff --git a/images/flow_green/splash.png b/images/flow_green/splash.png new file mode 100644 index 0000000..352504a Binary files /dev/null and b/images/flow_green/splash.png differ diff --git a/images/flow_light/Makefile.am b/images/flow_light/Makefile.am new file mode 100644 index 0000000..1c9f281 --- /dev/null +++ b/images/flow_light/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/flow_light + +pkgdata_DATA= *.png diff --git a/images/flow_light/Makefile.in b/images/flow_light/Makefile.in new file mode 100644 index 0000000..99f2783 --- /dev/null +++ b/images/flow_light/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/flow_light + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/flow_light/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/flow_light + +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 images/flow_light/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/flow_light/flow.png b/images/flow_light/flow.png new file mode 100644 index 0000000..c376220 Binary files /dev/null and b/images/flow_light/flow.png differ diff --git a/images/flow_light/flow_big.png b/images/flow_light/flow_big.png new file mode 100644 index 0000000..a5e0b73 Binary files /dev/null and b/images/flow_light/flow_big.png differ diff --git a/images/flow_light/splash.png b/images/flow_light/splash.png new file mode 100644 index 0000000..e02d883 Binary files /dev/null and b/images/flow_light/splash.png differ diff --git a/images/gameover.png b/images/gameover.png new file mode 100644 index 0000000..fe1e3fe Binary files /dev/null and b/images/gameover.png differ diff --git a/images/loading.png b/images/loading.png new file mode 100644 index 0000000..70d5742 Binary files /dev/null and b/images/loading.png differ diff --git a/images/nextlevel.png b/images/nextlevel.png new file mode 100644 index 0000000..5f7c6cf Binary files /dev/null and b/images/nextlevel.png differ diff --git a/images/pipes_cables/Makefile.am b/images/pipes_cables/Makefile.am new file mode 100644 index 0000000..4da621d --- /dev/null +++ b/images/pipes_cables/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_cables + +pkgdata_DATA= *.png *.jpg diff --git a/images/pipes_cables/Makefile.in b/images/pipes_cables/Makefile.in new file mode 100644 index 0000000..4ff76ce --- /dev/null +++ b/images/pipes_cables/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_cables + +pkgdata_DATA = *.png *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_cables/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_cables + +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 images/pipes_cables/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_cables/board_back.jpg b/images/pipes_cables/board_back.jpg new file mode 100644 index 0000000..82d47cc Binary files /dev/null and b/images/pipes_cables/board_back.jpg differ diff --git a/images/pipes_cables/bowl_h.png b/images/pipes_cables/bowl_h.png new file mode 100644 index 0000000..299679f Binary files /dev/null and b/images/pipes_cables/bowl_h.png differ diff --git a/images/pipes_cables/bowl_v.png b/images/pipes_cables/bowl_v.png new file mode 100644 index 0000000..fc54d0d Binary files /dev/null and b/images/pipes_cables/bowl_v.png differ diff --git a/images/pipes_cables/cross.png b/images/pipes_cables/cross.png new file mode 100644 index 0000000..b796411 Binary files /dev/null and b/images/pipes_cables/cross.png differ diff --git a/images/pipes_cables/elbow_ne.png b/images/pipes_cables/elbow_ne.png new file mode 100644 index 0000000..9f29f2f Binary files /dev/null and b/images/pipes_cables/elbow_ne.png differ diff --git a/images/pipes_cables/elbow_nw.png b/images/pipes_cables/elbow_nw.png new file mode 100644 index 0000000..d3e7de7 Binary files /dev/null and b/images/pipes_cables/elbow_nw.png differ diff --git a/images/pipes_cables/elbow_se.png b/images/pipes_cables/elbow_se.png new file mode 100644 index 0000000..f970af7 Binary files /dev/null and b/images/pipes_cables/elbow_se.png differ diff --git a/images/pipes_cables/elbow_sw.png b/images/pipes_cables/elbow_sw.png new file mode 100644 index 0000000..6d84a50 Binary files /dev/null and b/images/pipes_cables/elbow_sw.png differ diff --git a/images/pipes_cables/entry_h.png b/images/pipes_cables/entry_h.png new file mode 100644 index 0000000..64b7546 Binary files /dev/null and b/images/pipes_cables/entry_h.png differ diff --git a/images/pipes_cables/entry_v.png b/images/pipes_cables/entry_v.png new file mode 100644 index 0000000..9823b3f Binary files /dev/null and b/images/pipes_cables/entry_v.png differ diff --git a/images/pipes_cables/exit_h.png b/images/pipes_cables/exit_h.png new file mode 100644 index 0000000..8d43c6a Binary files /dev/null and b/images/pipes_cables/exit_h.png differ diff --git a/images/pipes_cables/exit_v.png b/images/pipes_cables/exit_v.png new file mode 100644 index 0000000..d5b40f7 Binary files /dev/null and b/images/pipes_cables/exit_v.png differ diff --git a/images/pipes_cables/horizontal.png b/images/pipes_cables/horizontal.png new file mode 100644 index 0000000..4592b6e Binary files /dev/null and b/images/pipes_cables/horizontal.png differ diff --git a/images/pipes_cables/vertical.png b/images/pipes_cables/vertical.png new file mode 100644 index 0000000..2375fbe Binary files /dev/null and b/images/pipes_cables/vertical.png differ diff --git a/images/pipes_metal/Makefile.am b/images/pipes_metal/Makefile.am new file mode 100644 index 0000000..5c31c44 --- /dev/null +++ b/images/pipes_metal/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_metal + +pkgdata_DATA= *.png *.jpg diff --git a/images/pipes_metal/Makefile.in b/images/pipes_metal/Makefile.in new file mode 100644 index 0000000..704880d --- /dev/null +++ b/images/pipes_metal/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_metal + +pkgdata_DATA = *.png *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_metal/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_metal + +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 images/pipes_metal/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_metal/board_back.jpg b/images/pipes_metal/board_back.jpg new file mode 100644 index 0000000..357e913 Binary files /dev/null and b/images/pipes_metal/board_back.jpg differ diff --git a/images/pipes_metal/bowl_h.png b/images/pipes_metal/bowl_h.png new file mode 100644 index 0000000..f6359cf Binary files /dev/null and b/images/pipes_metal/bowl_h.png differ diff --git a/images/pipes_metal/bowl_v.png b/images/pipes_metal/bowl_v.png new file mode 100644 index 0000000..22ddc77 Binary files /dev/null and b/images/pipes_metal/bowl_v.png differ diff --git a/images/pipes_metal/cross.png b/images/pipes_metal/cross.png new file mode 100644 index 0000000..b264f0f Binary files /dev/null and b/images/pipes_metal/cross.png differ diff --git a/images/pipes_metal/elbow_ne.png b/images/pipes_metal/elbow_ne.png new file mode 100644 index 0000000..a97e166 Binary files /dev/null and b/images/pipes_metal/elbow_ne.png differ diff --git a/images/pipes_metal/elbow_nw.png b/images/pipes_metal/elbow_nw.png new file mode 100644 index 0000000..48c408b Binary files /dev/null and b/images/pipes_metal/elbow_nw.png differ diff --git a/images/pipes_metal/elbow_se.png b/images/pipes_metal/elbow_se.png new file mode 100644 index 0000000..4fb1689 Binary files /dev/null and b/images/pipes_metal/elbow_se.png differ diff --git a/images/pipes_metal/elbow_sw.png b/images/pipes_metal/elbow_sw.png new file mode 100644 index 0000000..e6afcd3 Binary files /dev/null and b/images/pipes_metal/elbow_sw.png differ diff --git a/images/pipes_metal/entry_h.png b/images/pipes_metal/entry_h.png new file mode 100644 index 0000000..b07f930 Binary files /dev/null and b/images/pipes_metal/entry_h.png differ diff --git a/images/pipes_metal/entry_v.png b/images/pipes_metal/entry_v.png new file mode 100644 index 0000000..e15ce02 Binary files /dev/null and b/images/pipes_metal/entry_v.png differ diff --git a/images/pipes_metal/exit_h.png b/images/pipes_metal/exit_h.png new file mode 100644 index 0000000..af7a33a Binary files /dev/null and b/images/pipes_metal/exit_h.png differ diff --git a/images/pipes_metal/exit_v.png b/images/pipes_metal/exit_v.png new file mode 100644 index 0000000..db238b2 Binary files /dev/null and b/images/pipes_metal/exit_v.png differ diff --git a/images/pipes_metal/horizontal.png b/images/pipes_metal/horizontal.png new file mode 100644 index 0000000..2e03459 Binary files /dev/null and b/images/pipes_metal/horizontal.png differ diff --git a/images/pipes_metal/vertical.png b/images/pipes_metal/vertical.png new file mode 100644 index 0000000..0afaae8 Binary files /dev/null and b/images/pipes_metal/vertical.png differ diff --git a/images/pipes_space/Makefile.am b/images/pipes_space/Makefile.am new file mode 100644 index 0000000..8225dca --- /dev/null +++ b/images/pipes_space/Makefile.am @@ -0,0 +1,5 @@ +SUBDIRS = back01 back02 back03 back04 back05 + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space + +pkgdata_DATA= *.png diff --git a/images/pipes_space/Makefile.in b/images/pipes_space/Makefile.in new file mode 100644 index 0000000..3aa8070 --- /dev/null +++ b/images/pipes_space/Makefile.in @@ -0,0 +1,315 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +SUBDIRS = back01 back02 back03 back04 back05 + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_space/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. + +@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) $(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)$$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 = images/pipes_space + +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 images/pipes_space/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=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ + done +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive +check-am: all-am +check: check-recursive +installcheck-am: +installcheck: installcheck-recursive +install-exec-am: +install-exec: install-exec-recursive + +install-data-am: install-pkgdataDATA +install-data: install-data-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-recursive +uninstall-am: uninstall-pkgdataDATA +uninstall: uninstall-recursive +all-am: Makefile $(DATA) +all-redirect: all-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: installdirs-recursive +installdirs-am: + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + + +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-tags mostlyclean-generic + +mostlyclean: mostlyclean-recursive + +clean-am: clean-tags clean-generic mostlyclean-am + +clean: clean-recursive + +distclean-am: distclean-tags distclean-generic clean-am + +distclean: distclean-recursive + +maintainer-clean-am: 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 + +.PHONY: uninstall-pkgdataDATA install-pkgdataDATA 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 install-exec-am \ +install-exec 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 + + +# 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/images/pipes_space/back01/Makefile.am b/images/pipes_space/back01/Makefile.am new file mode 100644 index 0000000..1797f8b --- /dev/null +++ b/images/pipes_space/back01/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back01 + +pkgdata_DATA= *.jpg diff --git a/images/pipes_space/back01/Makefile.in b/images/pipes_space/back01/Makefile.in new file mode 100644 index 0000000..763358a --- /dev/null +++ b/images/pipes_space/back01/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back01 + +pkgdata_DATA = *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_space/back01/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_space/back01 + +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 images/pipes_space/back01/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_space/back01/board_back.jpg b/images/pipes_space/back01/board_back.jpg new file mode 100644 index 0000000..b288db5 Binary files /dev/null and b/images/pipes_space/back01/board_back.jpg differ diff --git a/images/pipes_space/back02/Makefile.am b/images/pipes_space/back02/Makefile.am new file mode 100644 index 0000000..dc98c50 --- /dev/null +++ b/images/pipes_space/back02/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back02 + +pkgdata_DATA= *.jpg diff --git a/images/pipes_space/back02/Makefile.in b/images/pipes_space/back02/Makefile.in new file mode 100644 index 0000000..f440579 --- /dev/null +++ b/images/pipes_space/back02/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back02 + +pkgdata_DATA = *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_space/back02/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_space/back02 + +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 images/pipes_space/back02/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_space/back02/board_back.jpg b/images/pipes_space/back02/board_back.jpg new file mode 100644 index 0000000..55174f7 Binary files /dev/null and b/images/pipes_space/back02/board_back.jpg differ diff --git a/images/pipes_space/back03/Makefile.am b/images/pipes_space/back03/Makefile.am new file mode 100644 index 0000000..48e5c6a --- /dev/null +++ b/images/pipes_space/back03/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back03 + +pkgdata_DATA= *.jpg diff --git a/images/pipes_space/back03/Makefile.in b/images/pipes_space/back03/Makefile.in new file mode 100644 index 0000000..2b479a7 --- /dev/null +++ b/images/pipes_space/back03/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back03 + +pkgdata_DATA = *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_space/back03/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_space/back03 + +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 images/pipes_space/back03/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_space/back03/board_back.jpg b/images/pipes_space/back03/board_back.jpg new file mode 100644 index 0000000..9e32961 Binary files /dev/null and b/images/pipes_space/back03/board_back.jpg differ diff --git a/images/pipes_space/back04/Makefile.am b/images/pipes_space/back04/Makefile.am new file mode 100644 index 0000000..5baed40 --- /dev/null +++ b/images/pipes_space/back04/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back04 + +pkgdata_DATA= *.jpg diff --git a/images/pipes_space/back04/Makefile.in b/images/pipes_space/back04/Makefile.in new file mode 100644 index 0000000..816893a --- /dev/null +++ b/images/pipes_space/back04/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back04 + +pkgdata_DATA = *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_space/back04/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_space/back04 + +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 images/pipes_space/back04/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_space/back04/board_back.jpg b/images/pipes_space/back04/board_back.jpg new file mode 100644 index 0000000..b288db5 Binary files /dev/null and b/images/pipes_space/back04/board_back.jpg differ diff --git a/images/pipes_space/back05/Makefile.am b/images/pipes_space/back05/Makefile.am new file mode 100644 index 0000000..c63164a --- /dev/null +++ b/images/pipes_space/back05/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back05 + +pkgdata_DATA= *.jpg diff --git a/images/pipes_space/back05/Makefile.in b/images/pipes_space/back05/Makefile.in new file mode 100644 index 0000000..263099c --- /dev/null +++ b/images/pipes_space/back05/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_space/back05 + +pkgdata_DATA = *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_space/back05/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_space/back05 + +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 images/pipes_space/back05/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_space/back05/board_back.jpg b/images/pipes_space/back05/board_back.jpg new file mode 100644 index 0000000..cc8dfc4 Binary files /dev/null and b/images/pipes_space/back05/board_back.jpg differ diff --git a/images/pipes_space/bowl_h.png b/images/pipes_space/bowl_h.png new file mode 100644 index 0000000..7d8bcb2 Binary files /dev/null and b/images/pipes_space/bowl_h.png differ diff --git a/images/pipes_space/bowl_v.png b/images/pipes_space/bowl_v.png new file mode 100644 index 0000000..63f94bb Binary files /dev/null and b/images/pipes_space/bowl_v.png differ diff --git a/images/pipes_space/cross.png b/images/pipes_space/cross.png new file mode 100644 index 0000000..6d55444 Binary files /dev/null and b/images/pipes_space/cross.png differ diff --git a/images/pipes_space/elbow_ne.png b/images/pipes_space/elbow_ne.png new file mode 100644 index 0000000..cfdbc92 Binary files /dev/null and b/images/pipes_space/elbow_ne.png differ diff --git a/images/pipes_space/elbow_nw.png b/images/pipes_space/elbow_nw.png new file mode 100644 index 0000000..8fd9dc4 Binary files /dev/null and b/images/pipes_space/elbow_nw.png differ diff --git a/images/pipes_space/elbow_se.png b/images/pipes_space/elbow_se.png new file mode 100644 index 0000000..3f55d80 Binary files /dev/null and b/images/pipes_space/elbow_se.png differ diff --git a/images/pipes_space/elbow_sw.png b/images/pipes_space/elbow_sw.png new file mode 100644 index 0000000..f990262 Binary files /dev/null and b/images/pipes_space/elbow_sw.png differ diff --git a/images/pipes_space/entry_h.png b/images/pipes_space/entry_h.png new file mode 100644 index 0000000..11695a9 Binary files /dev/null and b/images/pipes_space/entry_h.png differ diff --git a/images/pipes_space/entry_v.png b/images/pipes_space/entry_v.png new file mode 100644 index 0000000..f0948d5 Binary files /dev/null and b/images/pipes_space/entry_v.png differ diff --git a/images/pipes_space/exit_h.png b/images/pipes_space/exit_h.png new file mode 100644 index 0000000..0f44f8b Binary files /dev/null and b/images/pipes_space/exit_h.png differ diff --git a/images/pipes_space/exit_v.png b/images/pipes_space/exit_v.png new file mode 100644 index 0000000..8475d7f Binary files /dev/null and b/images/pipes_space/exit_v.png differ diff --git a/images/pipes_space/horizontal.png b/images/pipes_space/horizontal.png new file mode 100644 index 0000000..22b1883 Binary files /dev/null and b/images/pipes_space/horizontal.png differ diff --git a/images/pipes_space/vertical.png b/images/pipes_space/vertical.png new file mode 100644 index 0000000..462d221 Binary files /dev/null and b/images/pipes_space/vertical.png differ diff --git a/images/pipes_toys/Makefile.am b/images/pipes_toys/Makefile.am new file mode 100644 index 0000000..dec0ee9 --- /dev/null +++ b/images/pipes_toys/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_toys + +pkgdata_DATA= *.png *.jpg diff --git a/images/pipes_toys/Makefile.in b/images/pipes_toys/Makefile.in new file mode 100644 index 0000000..6b9f7ba --- /dev/null +++ b/images/pipes_toys/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_toys + +pkgdata_DATA = *.png *.jpg +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_toys/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_toys + +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 images/pipes_toys/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_toys/board_back.jpg b/images/pipes_toys/board_back.jpg new file mode 100644 index 0000000..e73f1e2 Binary files /dev/null and b/images/pipes_toys/board_back.jpg differ diff --git a/images/pipes_toys/bowl_h.png b/images/pipes_toys/bowl_h.png new file mode 100644 index 0000000..6cfe791 Binary files /dev/null and b/images/pipes_toys/bowl_h.png differ diff --git a/images/pipes_toys/bowl_v.png b/images/pipes_toys/bowl_v.png new file mode 100644 index 0000000..7fbcbe0 Binary files /dev/null and b/images/pipes_toys/bowl_v.png differ diff --git a/images/pipes_toys/cross.png b/images/pipes_toys/cross.png new file mode 100644 index 0000000..728ec31 Binary files /dev/null and b/images/pipes_toys/cross.png differ diff --git a/images/pipes_toys/elbow_ne.png b/images/pipes_toys/elbow_ne.png new file mode 100644 index 0000000..d8ff903 Binary files /dev/null and b/images/pipes_toys/elbow_ne.png differ diff --git a/images/pipes_toys/elbow_nw.png b/images/pipes_toys/elbow_nw.png new file mode 100644 index 0000000..c03b7d0 Binary files /dev/null and b/images/pipes_toys/elbow_nw.png differ diff --git a/images/pipes_toys/elbow_se.png b/images/pipes_toys/elbow_se.png new file mode 100644 index 0000000..a6cfdee Binary files /dev/null and b/images/pipes_toys/elbow_se.png differ diff --git a/images/pipes_toys/elbow_sw.png b/images/pipes_toys/elbow_sw.png new file mode 100644 index 0000000..1c71523 Binary files /dev/null and b/images/pipes_toys/elbow_sw.png differ diff --git a/images/pipes_toys/entry_h.png b/images/pipes_toys/entry_h.png new file mode 100644 index 0000000..8e230ec Binary files /dev/null and b/images/pipes_toys/entry_h.png differ diff --git a/images/pipes_toys/entry_v.png b/images/pipes_toys/entry_v.png new file mode 100644 index 0000000..aa40398 Binary files /dev/null and b/images/pipes_toys/entry_v.png differ diff --git a/images/pipes_toys/exit_h.png b/images/pipes_toys/exit_h.png new file mode 100644 index 0000000..0040b7d Binary files /dev/null and b/images/pipes_toys/exit_h.png differ diff --git a/images/pipes_toys/exit_v.png b/images/pipes_toys/exit_v.png new file mode 100644 index 0000000..d25740e Binary files /dev/null and b/images/pipes_toys/exit_v.png differ diff --git a/images/pipes_toys/horizontal.png b/images/pipes_toys/horizontal.png new file mode 100644 index 0000000..17b01bc Binary files /dev/null and b/images/pipes_toys/horizontal.png differ diff --git a/images/pipes_toys/vertical.png b/images/pipes_toys/vertical.png new file mode 100644 index 0000000..77a89d4 Binary files /dev/null and b/images/pipes_toys/vertical.png differ diff --git a/images/pipes_wire/Makefile.am b/images/pipes_wire/Makefile.am new file mode 100644 index 0000000..2d411c5 --- /dev/null +++ b/images/pipes_wire/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_wire + +pkgdata_DATA= *.png diff --git a/images/pipes_wire/Makefile.in b/images/pipes_wire/Makefile.in new file mode 100644 index 0000000..97bd98e --- /dev/null +++ b/images/pipes_wire/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/images/pipes_wire + +pkgdata_DATA = *.png +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu images/pipes_wire/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = images/pipes_wire + +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 images/pipes_wire/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/images/pipes_wire/board_back.jpg b/images/pipes_wire/board_back.jpg new file mode 100644 index 0000000..e324849 Binary files /dev/null and b/images/pipes_wire/board_back.jpg differ diff --git a/images/pipes_wire/bowl_h.png b/images/pipes_wire/bowl_h.png new file mode 100644 index 0000000..7d497f2 Binary files /dev/null and b/images/pipes_wire/bowl_h.png differ diff --git a/images/pipes_wire/bowl_v.png b/images/pipes_wire/bowl_v.png new file mode 100644 index 0000000..649b24e Binary files /dev/null and b/images/pipes_wire/bowl_v.png differ diff --git a/images/pipes_wire/cross.png b/images/pipes_wire/cross.png new file mode 100644 index 0000000..db6b7b7 Binary files /dev/null and b/images/pipes_wire/cross.png differ diff --git a/images/pipes_wire/elbow_ne.png b/images/pipes_wire/elbow_ne.png new file mode 100644 index 0000000..7fa20e3 Binary files /dev/null and b/images/pipes_wire/elbow_ne.png differ diff --git a/images/pipes_wire/elbow_nw.png b/images/pipes_wire/elbow_nw.png new file mode 100644 index 0000000..1b39b7a Binary files /dev/null and b/images/pipes_wire/elbow_nw.png differ diff --git a/images/pipes_wire/elbow_se.png b/images/pipes_wire/elbow_se.png new file mode 100644 index 0000000..5f99713 Binary files /dev/null and b/images/pipes_wire/elbow_se.png differ diff --git a/images/pipes_wire/elbow_sw.png b/images/pipes_wire/elbow_sw.png new file mode 100644 index 0000000..19ad962 Binary files /dev/null and b/images/pipes_wire/elbow_sw.png differ diff --git a/images/pipes_wire/entry_h.png b/images/pipes_wire/entry_h.png new file mode 100644 index 0000000..3a6a209 Binary files /dev/null and b/images/pipes_wire/entry_h.png differ diff --git a/images/pipes_wire/entry_v.png b/images/pipes_wire/entry_v.png new file mode 100644 index 0000000..a037237 Binary files /dev/null and b/images/pipes_wire/entry_v.png differ diff --git a/images/pipes_wire/exit_h.png b/images/pipes_wire/exit_h.png new file mode 100644 index 0000000..13b68d2 Binary files /dev/null and b/images/pipes_wire/exit_h.png differ diff --git a/images/pipes_wire/exit_v.png b/images/pipes_wire/exit_v.png new file mode 100644 index 0000000..7c779af Binary files /dev/null and b/images/pipes_wire/exit_v.png differ diff --git a/images/pipes_wire/horizontal.png b/images/pipes_wire/horizontal.png new file mode 100644 index 0000000..e33367a Binary files /dev/null and b/images/pipes_wire/horizontal.png differ diff --git a/images/pipes_wire/vertical.png b/images/pipes_wire/vertical.png new file mode 100644 index 0000000..1f7e496 Binary files /dev/null and b/images/pipes_wire/vertical.png differ diff --git a/images/start.jpg b/images/start.jpg new file mode 100644 index 0000000..c71dfce Binary files /dev/null and b/images/start.jpg differ diff --git a/images/tryagain.png b/images/tryagain.png new file mode 100644 index 0000000..ac68dc8 Binary files /dev/null and b/images/tryagain.png differ diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..e843669 --- /dev/null +++ b/install-sh @@ -0,0 +1,250 @@ +#!/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=: + 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/levels/1.level b/levels/1.level new file mode 100644 index 0000000..cab8cb1 --- /dev/null +++ b/levels/1.level @@ -0,0 +1,24 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + required=10 + start_delay=1200 # between 0..2000 + graph_dir="pipes_metal" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=0 #defines the % of fixed pipes + background=mosaic #defines the type of the background + entry{ #entry attributes block + row=1 + column=1 + side=east + } + exit{ #exit attributes block + row=3 + column=6 + side=west + } +} diff --git a/levels/10.level b/levels/10.level new file mode 100644 index 0000000..e693cd3 --- /dev/null +++ b/levels/10.level @@ -0,0 +1,82 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=14 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_toys" #first directory to search for graphics + graph_dir="flow_light" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=10 #defines the % of restricted connections + fixed_coef=6 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=24 + entry{ #entry attributes block + row=6 + column=0 + side=north + } + exit{ #exit attributes block + row=3 + column=4 + side=south + } + pipe{ + row=0 + column=0 + type=elbow_se + fixed=yes + restricted_output=east + } + pipe{ + row=1 + column=2 + type=elbow_se + fixed=yes + restricted_output=east + } + pipe{ + row=0 + column=6 + type=elbow_sw + fixed=yes + restricted_output=south + bonus=super + } + pipe{ + row=5 + column=6 + type=elbow_nw + fixed=yes + restricted_output=west + bonus=super + } + pipe{ + row=5 + column=2 + type=elbow_ne + fixed=yes + restricted_output=north + bonus=ultra + } + pipe{ + row=1 + column=5 + type=elbow_sw + fixed=yes + restricted_output=south + bonus=hyper + } + pipe{ + row=4 + column=5 + type=elbow_nw + fixed=yes + } + + + + + + +} diff --git a/levels/11.level b/levels/11.level new file mode 100644 index 0000000..4d3f563 --- /dev/null +++ b/levels/11.level @@ -0,0 +1,34 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=500 # between 0..2000 + graph_dir="pipes_space/back01"#first directory to search for graphics + graph_dir="pipes_space"#first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=10 #defines the % of restricted connections + fixed_coef=7 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=18 + entry{ #entry attributes block + row=2 + column=1 + side=west + } + exit{ #exit attributes block + row=7 + column=7 + side=east + } + pipe{ + row=3 + column=4 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + bonus=hyper + } +} diff --git a/levels/12.level b/levels/12.level new file mode 100644 index 0000000..dbff2be --- /dev/null +++ b/levels/12.level @@ -0,0 +1,69 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_space/back02"#first directory to search for graphics + graph_dir="pipes_space"#first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=12 #defines the % of restricted connections + fixed_coef=8 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=28 + entry{ #entry attributes block + row=2 + column=1 + side=west + } + exit{ #exit attributes block + row=7 + column=7 + side=east + } + pipe{ + row=6 + column=3 + type=horizontal + fixed=yes + restricted_output=east + } + pipe{ + row=7 + column=4 + type=horizontal + fixed=yes + restricted_output=west + } + pipe{ + row=6 + column=1 + type=cross + fixed=yes + restricted_output=south + } + pipe{ + row=6 + column=2 + type=cross + fixed=yes + bonus=life + restricted_output=east + } + pipe{ + row=1 + column=7 + type=cross + fixed=yes + bonus=hyper + restricted_output=west + } + pipe{ + row=1 + column=6 + type=cross + fixed=yes + restricted_output=north + } +} diff --git a/levels/13.level b/levels/13.level new file mode 100644 index 0000000..1dc1bdd --- /dev/null +++ b/levels/13.level @@ -0,0 +1,136 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_space/back03"#first directory to search for graphics + graph_dir="pipes_space"#first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=13 #defines the % of restricted connections + fixed_coef=10 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=22 + entry{ #entry attributes block + row=7 + column=0 + side=north + } + exit{ #exit attributes block + row=0 + column=8 + side=west + } + pipe{ + row=2 + column=2 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=2 + type=horizontal + fixed=yes + } + pipe{ + row=2 + column=3 + type=cross + fixed=yes + } + pipe{ + row=3 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=4 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=5 + column=3 + type=cross + fixed=yes + bonus=life + } + pipe{ + row=6 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=4 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=4 + type=horizontal + fixed=yes + } + pipe{ + row=2 + column=5 + type=cross + fixed=yes + bonus=hyper + } + pipe{ + row=3 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=4 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=5 + column=5 + type=cross + fixed=yes + } + pipe{ + row=6 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=6 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=6 + type=horizontal + fixed=yes + } + + + + + + + + + + + + + +} diff --git a/levels/14.level b/levels/14.level new file mode 100644 index 0000000..69a5e01 --- /dev/null +++ b/levels/14.level @@ -0,0 +1,38 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=14 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_space/back04"#first directory to search for graphics + graph_dir="pipes_space"#first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=14 #defines the % of restricted connections + fixed_coef=12 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=19 + entry{ #entry attributes block + row=4 + column=4 + side=north + } + exit{ #exit attributes block + row=5 + column=5 + side=south + } + pipe{ + row=0 + column=0 + type=elbow_se + fixed=yes + bonus=super + } + pipe{ + row=7 + column=8 + type=elbow_nw + fixed=yes + } +} diff --git a/levels/15.level b/levels/15.level new file mode 100644 index 0000000..66f139b --- /dev/null +++ b/levels/15.level @@ -0,0 +1,39 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_space/back05"#first directory to search for graphics + graph_dir="pipes_space" #first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=13 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=27 + entry{ #entry attributes block + row=4 + column=4 + side=north + } + exit{ #exit attributes block + row=5 + column=5 + side=south + } + pipe{ + row=0 + column=0 + type=elbow_se + fixed=yes + bonus=super + } + pipe{ + row=7 + column=8 + type=elbow_nw + fixed=yes + bonus=super + } +} diff --git a/levels/16.level b/levels/16.level new file mode 100644 index 0000000..bfde7d4 --- /dev/null +++ b/levels/16.level @@ -0,0 +1,38 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_cables" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=13 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=27 + entry{ #entry attributes block + row=4 + column=4 + side=north + } + exit{ #exit attributes block + row=5 + column=5 + side=south + } + pipe{ + row=0 + column=0 + type=elbow_se + fixed=yes + bonus=super + } + pipe{ + row=7 + column=8 + type=elbow_nw + fixed=yes + bonus=super + } +} diff --git a/levels/17.level b/levels/17.level new file mode 100644 index 0000000..8abdae0 --- /dev/null +++ b/levels/17.level @@ -0,0 +1,172 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_cables" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=13 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=30 + entry{ #entry attributes block + row=7 + column=2 + side=west + } + exit{ #exit attributes block + row=7 + column=5 + side=east + } + pipe{ + row=7 + column=3 + type=elbow_ne + fixed=yes + } + pipe{ + row=7 + column=4 + type=elbow_nw + fixed=yes + } + pipe{ + row=6 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=6 + column=4 + type=vertical + fixed=yes + } + pipe{ + row=5 + column=3 + type=cross + fixed=yes + } + pipe{ + row=5 + column=4 + type=cross + fixed=yes + } + pipe{ + row=4 + column=3 + type=elbow_sw + fixed=yes + } + pipe{ + row=4 + column=4 + type=elbow_se + fixed=yes + } + pipe{ + row=4 + column=2 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=5 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ + row=4 + column=6 + type=elbow_nw + fixed=yes + } + pipe{ + row=3 + column=1 + type=elbow_se + fixed=yes + } + pipe{ + row=3 + column=6 + type=elbow_sw + fixed=yes + } + pipe{ + row=3 + column=2 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=5 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=3 + type=elbow_nw + fixed=yes + } + pipe{ + row=3 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ + row=2 + column=3 + type=cross + fixed=yes + } + pipe{ + row=2 + column=4 + type=cross + fixed=yes + } + pipe{ + row=1 + column=3 + type=cross + fixed=yes + bonus=ultra + restricted_output=west + } + pipe{ + row=1 + column=4 + type=cross + fixed=yes + bonus=ultra + restricted_output=west + } + pipe{ + row=0 + column=3 + type=elbow_se + fixed=yes + } + pipe{ + row=0 + column=4 + type=elbow_sw + fixed=yes + } +} diff --git a/levels/18.level b/levels/18.level new file mode 100644 index 0000000..061bf87 --- /dev/null +++ b/levels/18.level @@ -0,0 +1,213 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_cables" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=13 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=30 + entry{ #entry attributes block + row=2 + column=4 + side=east + } + exit{ #exit attributes block + row=7 + column=5 + side=east + } + pipe{ + row=0 + column=2 + type=elbow_sw + fixed=yes + } + pipe{ + row=0 + column=1 + type=elbow_se + fixed=yes + } + pipe{ + row=1 + column=1 + type=cross + fixed=yes + } + pipe{ + row=2 + column=1 + type=elbow_nw + fixed=yes + } + pipe{ + row=1 + column=0 + type=elbow_se + fixed=yes + } + pipe{ + row=1 + column=2 + type=elbow_nw + fixed=yes + } + pipe{ + row=2 + column=0 + type=elbow_ne + fixed=yes + } + pipe{ + row=3 + column=2 + type=bowl_h + restricted_output=west + fixed=yes + } + pipe{ + row=4 + column=2 + type=elbow_se + fixed=yes + } + pipe{ + row=5 + column=2 + type=elbow_ne + fixed=yes + } + pipe{ + row=4 + column=3 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=3 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=4 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=4 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=5 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=5 + type=elbow_nw + fixed=yes + } + pipe{ + row=3 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=5 + column=6 + type=elbow_nw + fixed=yes + } + pipe{ + row=4 + column=6 + type=elbow_se + fixed=yes + } + pipe{ + row=3 + column=6 + type=elbow_ne + fixed=yes + } + pipe{ + row=2 + column=5 + type=cross + fixed=yes + } + pipe{ + row=2 + column=6 + type=cross + fixed=yes + } + pipe{ + row=1 + column=5 + type=elbow_se + fixed=yes + } + pipe{ + row=1 + column=6 + type=elbow_sw + fixed=yes + } + pipe{ + row=3 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=8 + type=elbow_sw + fixed=yes + } + pipe{ + row=4 + column=8 + type=elbow_nw + fixed=yes + } + pipe{ + row=7 + column=3 + type=horizontal + bonus=hyper + fixed=yes + } + pipe{ + row=6 + column=5 + type=horizontal + bonus=hyper + fixed=yes + } + pipe{ + row=6 + column=0 + type=bowl_v + fixed=yes + } +} \ No newline at end of file diff --git a/levels/19.level b/levels/19.level new file mode 100644 index 0000000..75eafed --- /dev/null +++ b/levels/19.level @@ -0,0 +1,238 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=700 # between 0..2000 + graph_dir="pipes_cables" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=13 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=35 + entry{ #entry attributes block + row=5 + column=2 + side=south + } + exit{ #exit attributes block + row=5 + column=0 + side=south + } + pipe{ + row=0 + column=0 + type=elbow_se + fixed=yes + } + pipe{ + row=0 + column=1 + type=elbow_sw + fixed=yes + } + pipe{ + row=1 + column=1 + type=vertical + fixed=yes + } + pipe{ + row=1 + column=0 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=1 + type=vertical + fixed=yes + } + pipe{ + row=3 + column=2 + type=elbow_sw + fixed=yes + } + pipe{ + row=4 + column=2 + type=elbow_nw + fixed=yes + } + pipe{ + row=4 + column=1 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=0 + type=elbow_ne + fixed=yes + } + pipe{ + row=3 + column=0 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=0 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=1 + type=vertical + fixed=yes + } + pipe{ + row=3 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ + row=6 + column=2 + type=cross + restricted_output=west + fixed=yes + } + pipe{ + row=7 + column=3 + type=horizontal + fixed=yes + } + + pipe{ + row=7 + column=2 + type=elbow_ne + fixed=yes + } + pipe{ + row=0 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=1 + column=4 + type=elbow_se + fixed=yes + } + pipe{ + row=1 + column=5 + type=elbow_nw + fixed=yes + } + pipe{ + row=2 + column=4 + type=cross + fixed=yes + } + pipe{ + row=2 + column=6 + type=cross + fixed=yes + } + + pipe{ + row=3 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ + row=4 + column=4 + type=elbow_se + fixed=yes + } + pipe{ + row=3 + column=5 + type=elbow_sw + fixed=yes + } + pipe{ + row=4 + column=5 + type=elbow_nw + fixed=yes + } + + pipe{ + row=5 + column=4 + type=vertical + fixed=yes + } + pipe{ + row=6 + column=4 + type=vertical + fixed=yes + } + pipe{ + row=7 + column=4 + type=cross + fixed=yes + } + pipe{ + row=0 + column=8 + type=elbow_sw + bonus=hyper + fixed=yes + } + pipe{ + row=3 + column=8 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=8 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=7 + type=elbow_se + fixed=yes + } + pipe{ + row=4 + column=7 + type=elbow_ne + fixed=yes + } + pipe{ + row=0 + column=2 + type=elbow_se + bonus=ultra + fixed=yes + } + + + + +} diff --git a/levels/2.level b/levels/2.level new file mode 100644 index 0000000..2129669 --- /dev/null +++ b/levels/2.level @@ -0,0 +1,24 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=3 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1200 # between 0..2000 + graph_dir="pipes_metal" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=0 #defines the % of fixed pipes + required=12 + background=mosaic #defines the type of the background + entry{ #entry attributes block + row=6 + column=2 + side=north + } + exit{ #exit attributes block + row=1 + column=6 + side=south + } +} diff --git a/levels/20.level b/levels/20.level new file mode 100644 index 0000000..2564445 --- /dev/null +++ b/levels/20.level @@ -0,0 +1,170 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=11 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1800 # between 0..2000 + graph_dir="pipes_cables" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=10 #defines the % of fixed pipes + background=wallpaper #defines the type of the background + required=58 + entry{ #entry attributes block + row=7 + column=0 + side=north + } + exit{ #exit attributes block + row=3 + column=4 + side=south + } + pipe{ + row=1 + column=1 + type=vertical + fixed=yes + restricted_output=south + } + pipe{ + row=2 + column=1 + type=vertical + fixed=yes + } + pipe{ + row=3 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ + row=4 + column=1 + type=elbow_se + fixed=yes + } + pipe{ + row=5 + column=1 + type=vertical + fixed=yes + } + pipe{ + row=6 + column=1 + type=vertical + fixed=yes + } + pipe{ + row=7 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ + row=0 + column=2 + type=elbow_se + fixed=yes + } + pipe{ + row=6 + column=2 + type=elbow_ne + fixed=yes + } + pipe{ + row=3 + column=2 + type=elbow_sw + fixed=yes + } + pipe{ + row=4 + column=2 + type=elbow_nw + fixed=yes + } + pipe{ + row=6 + column=3 + type=horizontal + fixed=yes + } + pipe{ + row=6 + column=4 + type=horizontal + fixed=yes + } + pipe{ + row=6 + column=5 + type=horizontal + fixed=yes + } + pipe{ + row=6 + column=6 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=8 + type=elbow_nw + fixed=yes + } + pipe{ + row=4 + column=4 + type=vertical + fixed=yes + bonus=life + } + pipe{ + row=5 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ + row=1 + column=4 + type=elbow_se + fixed=yes + } + pipe{ + row=2 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ + row=2 + column=8 + type=elbow_sw + fixed=yes + } + pipe{ + row=2 + column=5 + type=horizontal + fixed=yes + } + pipe{ + row=2 + column=6 + type=horizontal + fixed=yes + } + pipe{ + row=2 + column=7 + type=horizontal + fixed=yes + } +} \ No newline at end of file diff --git a/levels/21.level b/levels/21.level new file mode 100644 index 0000000..3cf1c7f --- /dev/null +++ b/levels/21.level @@ -0,0 +1,24 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=18 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_wire" #first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=50 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=22 + entry{ #entry attributes block + row=2 + column=4 + side=east + } + exit{ #exit attributes block + row=7 + column=5 + side=east + } +} diff --git a/levels/22.level b/levels/22.level new file mode 100644 index 0000000..3bca16b --- /dev/null +++ b/levels/22.level @@ -0,0 +1,242 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=9 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_wire" #first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=25 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=20 + entry{ #entry attributes block + row=0 + column=0 + side=east + } + exit{ #exit attributes block + row=7 + column=8 + side=north + } + pipe{ + row=1 + column=1 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=1 + column=3 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=1 + column=5 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=1 + column=7 + type=cross + fixed=yes + bonus=life + restricted_output=north + restricted_output=west + } + pipe{ + row=2 + column=0 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=2 + column=2 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=2 + column=4 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=2 + column=6 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=2 + column=8 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=3 + column=1 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=3 + column=3 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=3 + column=5 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=3 + column=7 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=4 + column=0 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=4 + column=2 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=4 + column=4 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=4 + column=6 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=4 + column=8 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=5 + column=1 + type=cross + fixed=yes + bonus=hyper + restricted_output=north + restricted_output=west + } + pipe{ + row=5 + column=3 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=5 + column=5 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=5 + column=7 + type=cross + fixed=yes + restricted_output=north + restricted_output=west + } + pipe{ + row=6 + column=0 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=6 + column=2 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=6 + column=4 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=6 + column=6 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } + pipe{ + row=6 + column=8 + type=cross + fixed=yes + restricted_output=south + restricted_output=east + } +} diff --git a/levels/23.level b/levels/23.level new file mode 100644 index 0000000..0020576 --- /dev/null +++ b/levels/23.level @@ -0,0 +1,142 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=12 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_wire" #first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=30 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=30 + entry{ #entry attributes block + row=1 + column=6 + side=south + } + exit{ #exit attributes block + row=7 + column=6 + side=west + } + pipe{ + row=4 + column=4 + type=cross + fixed=yes + } + pipe{ + row=0 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=1 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=3 + column=3 + type=cross + fixed=yes + } + pipe{ + row=4 + column=3 + type=cross + fixed=yes + } + pipe{ + row=5 + column=3 + type=cross + fixed=yes + } + pipe{ + row=6 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=7 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=5 + column=4 + type=elbow_nw + fixed=yes + } + pipe{ + row=3 + column=0 + type=cross + fixed=yes + restricted_output=north + } + pipe{ + row=3 + column=1 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=2 + type=cross + fixed=yes + restricted_output=south + } + pipe{ + row=3 + column=4 + type=cross + fixed=yes + } + pipe{ + row=3 + column=5 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=6 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=8 + type=horizontal + fixed=yes + } + pipe{ + row=0 + column=1 + type=bowl_h + fixed=yes + bonus=hyper + } + +} \ No newline at end of file diff --git a/levels/24.level b/levels/24.level new file mode 100644 index 0000000..4aae532 --- /dev/null +++ b/levels/24.level @@ -0,0 +1,176 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=12 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_wire" #first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=15 #defines the % of restricted connections + fixed_coef=35 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=35 + entry{ #entry attributes block + row=0 + column=5 + side=south + } + exit{ #exit attributes block + row=7 + column=8 + side=west + } + pipe{ + row=0 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=0 + column=4 + type=vertical + fixed=yes + } + pipe{ + row=1 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=1 + column=4 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=3 + type=elbow_ne + fixed=yes + } + pipe{ + row=2 + column=4 + type=elbow_nw + fixed=yes + } + pipe{ + row=6 + column=3 + type=elbow_se + fixed=yes + } + pipe{ + row=6 + column=4 + type=elbow_sw + fixed=yes + } + pipe{ + row=7 + column=3 + type=cross + fixed=yes + } + pipe{ + row=7 + column=4 + type=cross + fixed=yes + } + pipe{ + row=4 + column=8 + type=elbow_nw + fixed=yes + } + pipe{ + row=4 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=6 + type=horizontal + fixed=yes + } + + + + pipe{ + row=3 + column=8 + type=cross + fixed=yes + } + pipe{ + row=5 + column=8 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=6 + type=horizontal + fixed=yes + } + pipe{ + row=5 + column=6 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=5 + type=elbow_se + fixed=yes + } + pipe{ + row=5 + column=5 + type=elbow_ne + fixed=yes + } + pipe{ + row=4 + column=5 + type=cross + fixed=yes + } + + + + pipe{ + row=1 + column=1 + type=bowl_v + fixed=yes + bonus=life + } + pipe{ + row=6 + column=1 + type=bowl_v + fixed=yes + bonus=life + } +} diff --git a/levels/25.level b/levels/25.level new file mode 100644 index 0000000..01effdb --- /dev/null +++ b/levels/25.level @@ -0,0 +1,24 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=13 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1500 # between 0..2000 + graph_dir="pipes_wire" #first directory to search for graphics + graph_dir="flow_blue" + graph_dir="arrows_grey" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=100 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=50 + entry{ #entry attributes block + row=0 + column=0 + side=east + } + exit{ #exit attributes block + row=7 + column=8 + side=west + } +} \ No newline at end of file diff --git a/levels/3.level b/levels/3.level new file mode 100644 index 0000000..65d722e --- /dev/null +++ b/levels/3.level @@ -0,0 +1,43 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=3 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1200 # between 0..2000 + graph_dir="pipes_metal" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=0 #defines the % of fixed pipes + required=12 + background=mosaic #defines the type of the background + entry{ #entry attributes block + row=6 + column=4 + side=north + } + exit{ #exit attributes block + row=1 + column=4 + side=south + } + pipe{ #pipe attributes block + row=3 + column=3 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=4 + type=horizontal + fixed=yes + bonus=super + } + pipe{ #pipe attributes block + row=3 + column=5 + type=horizontal + fixed=yes + } +} diff --git a/levels/4.level b/levels/4.level new file mode 100644 index 0000000..b514006 --- /dev/null +++ b/levels/4.level @@ -0,0 +1,144 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=3 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_metal" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=0 #defines the % of fixed pipes + required=15 + background=mosaic #defines the type of the background + entry{ #entry attributes block + row=1 + column=1 + side=south + } + exit{ #exit attributes block + row=7 + column=8 + side=west + } + pipe{ #pipe attributes block + row=1 + column=2 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=3 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=2 + type=vertical + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=3 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=4 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=2 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=3 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=3 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=5 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=4 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=5 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=6 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=5 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=6 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=7 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=5 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=6 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=7 + type=elbow_nw + fixed=yes + } +} diff --git a/levels/5.level b/levels/5.level new file mode 100644 index 0000000..9191c4e --- /dev/null +++ b/levels/5.level @@ -0,0 +1,154 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=3 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1200 # between 0..2000 + graph_dir="pipes_metal" #first directory to search for graphics + graph_dir="flow_green" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=0 #defines the % of fixed pipes + required=16 + background=mosaic #defines the type of the background + entry{ #entry attributes block + row=7 + column=1 + side=east + } + exit{ #exit attributes block + row=1 + column=4 + side=west + } + pipe{ #pipe attributes block + row=5 + column=2 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=3 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=2 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=3 + type=elbow_nw + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=5 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=6 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=5 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=6 + column=6 + type=elbow_nw + fixed=yes + } + + + pipe{ #pipe attributes block + row=1 + column=1 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=2 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=2 + type=cross + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=3 + type=elbow_sw + fixed=yes + } + + pipe{ #pipe attributes block + row=3 + column=3 + type=elbow_nw + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=2 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=0 + column=5 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=0 + column=6 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=5 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=6 + type=elbow_nw + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=0 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=5 + column=0 + type=elbow_nw + fixed=yes + } + +} diff --git a/levels/6.level b/levels/6.level new file mode 100644 index 0000000..fbf868b --- /dev/null +++ b/levels/6.level @@ -0,0 +1,107 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=4 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=900 # between 0..2000 + graph_dir="pipes_toys" #first directory to search for graphics + graph_dir="flow_light" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=0 #defines the % of restricted connections + fixed_coef=0 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=20 + entry{ #entry attributes block + row=1 + column=2 + side=east + } + exit{ #exit attributes block + row=7 + column=6 + side=west + } + pipe{ #pipe attributes block + row=3 + column=4 + type=cross + fixed=yes + bonus=super + restricted_output=south + } + pipe{ #pipe attributes block + row=3 + column=5 + type=elbow_nw + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=5 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=4 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=0 + column=1 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=1 + type=vertical + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=0 + column=2 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=0 + column=3 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=2 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=3 + type=elbow_nw + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=3 + type=cross + fixed=yes + } + + + + + + + + + +} diff --git a/levels/7.level b/levels/7.level new file mode 100644 index 0000000..3ebce37 --- /dev/null +++ b/levels/7.level @@ -0,0 +1,138 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=7 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1200 # between 0..2000 + graph_dir="pipes_toys" #first directory to search for graphics + graph_dir="flow_light" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=1 #defines the % of restricted connections + fixed_coef=2 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=20 + entry{ #entry attributes block + row=0 + column=0 + side=east + } + exit{ #exit attributes block + row=7 + column=8 + side=west + } + pipe{ #pipe attributes block + row=1 + column=1 + type=elbow_se + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=2 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=3 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=4 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=5 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=1 + column=6 + type=elbow_sw + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=6 + type=vertical + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=6 + type=vertical + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=6 + type=elbow_nw + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=5 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=2 + type=horizontal + fixed=yes + } + pipe{ #pipe attributes block + row=4 + column=1 + type=elbow_ne + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=1 + type=vertical + fixed=yes + } + pipe{ #pipe attributes block + row=2 + column=1 + type=vertical + fixed=yes + } + pipe{ #pipe attributes block + row=3 + column=3 + type=cross + fixed=yes + bonus=super + restricted_output=north + } + pipe{ #pipe attributes block + row=3 + column=4 + type=cross + fixed=yes + restricted_output=south + bonus=super + } + + + + + + + + + + + + + + +} diff --git a/levels/8.level b/levels/8.level new file mode 100644 index 0000000..8ac1ed3 --- /dev/null +++ b/levels/8.level @@ -0,0 +1,92 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=10 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_toys" #first directory to search for graphics + graph_dir="flow_light" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=2 #defines the % of restricted connections + fixed_coef=3 #defines the % of fixed pipes + background=mosaic #defines the type of the background + required=18 + entry{ #entry attributes block + row=7 + column=0 + side=north + } + exit{ #exit attributes block + row=0 + column=8 + side=west + } + pipe{ + row=4 + column=0 + type=vertical + fixed=yes + restricted_output=north + bonus=ultra + } + pipe{ + row=4 + column=1 + type=vertical + fixed=yes + restricted_output=south + } + pipe{ + row=4 + column=2 + type=vertical + fixed=yes + restricted_output=north + bonus=ultra + } + pipe{ + row=4 + column=3 + type=vertical + fixed=yes + restricted_output=south + } + pipe{ + row=4 + column=4 + type=vertical + fixed=yes + restricted_output=north + bonus=ultra + } + pipe{ + row=4 + column=5 + type=vertical + fixed=yes + restricted_output=south + } + pipe{ + row=4 + column=6 + type=vertical + fixed=yes + restricted_output=north + bonus=ultra + } + pipe{ + row=4 + column=7 + type=vertical + fixed=yes + restricted_output=south + } + pipe{ + row=4 + column=8 + type=vertical + fixed=yes + restricted_output=north + bonus=ultra + } +} diff --git a/levels/9.level b/levels/9.level new file mode 100644 index 0000000..3ae0ce7 --- /dev/null +++ b/levels/9.level @@ -0,0 +1,164 @@ +#The level structure must begin with the word "pipenightdreams" +pipenightdreams{ + speed=11 #defines the speed of the flow, must be >=1 + level=1 #not used + start_delay=1000 # between 0..2000 + graph_dir="pipes_toys" #first directory to search for graphics + graph_dir="flow_light" + graph_dir="arrows_yellow" + graph_dir="default" + restrict_coef=4 #defines the % of restricted connections + fixed_coef=5 #defines the % of fixed pipes + background=mosaic #defines the type of the background + require=25 + entry{ #entry attributes block + row=6 + column=0 + side=north + } + exit{ #exit attributes block + row=4 + column=4 + side=south + } + pipe{ + row=2 + column=0 + type=cross + fixed=yes + } + pipe{ + row=3 + column=0 + type=cross + fixed=yes + } + pipe{ + row=4 + column=0 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=1 + type=horizontal + fixed=yes + } + pipe{ + row=3 + column=1 + type=horizontal + fixed=yes + } + pipe{ + row=2 + column=2 + type=elbow_sw + fixed=yes + } + pipe{ + row=3 + column=2 + type=elbow_nw + fixed=yes + } + pipe{ + row=2 + column=3 + type=cross + fixed=yes + bonus=super + } + pipe{ + row=3 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=4 + column=3 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=4 + type=elbow_sw + fixed=yes + } + pipe{ + row=3 + column=4 + type=elbow_ne + fixed=yes + } + pipe{ + row=3 + column=5 + type=cross + fixed=yes + } + pipe{ + row=4 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=5 + type=vertical + fixed=yes + } + pipe{ + row=2 + column=6 + type=cross + fixed=yes + } + pipe{ + row=3 + column=6 + type=vertical + fixed=yes + } + pipe{ + row=4 + column=6 + type=cross + fixed=yes + bonus=super + } + pipe{ + row=2 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=4 + column=7 + type=horizontal + fixed=yes + } + pipe{ + row=2 + column=8 + type=elbow_sw + fixed=yes + } + pipe{ + row=3 + column=8 + type=vertical + fixed=yes + } + pipe{ + row=4 + column=8 + type=elbow_nw + fixed=yes + } +} diff --git a/levels/Makefile.am b/levels/Makefile.am new file mode 100644 index 0000000..8fdf74c --- /dev/null +++ b/levels/Makefile.am @@ -0,0 +1,3 @@ +pkgdatadir = $(datadir)/games/@PACKAGE@/levels + +pkgdata_DATA= *.level diff --git a/levels/Makefile.in b/levels/Makefile.in new file mode 100644 index 0000000..3fff1a1 --- /dev/null +++ b/levels/Makefile.in @@ -0,0 +1,209 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = +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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +pkgdatadir = $(datadir)/games/@PACKAGE@/levels + +pkgdata_DATA = *.level +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../src/config.h +CONFIG_CLEAN_FILES = +DATA = $(pkgdata_DATA) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu levels/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ + fi; fi; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + list='$(pkgdata_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + done +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = levels + +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 levels/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-pkgdataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +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)$(pkgdatadir) + + +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-pkgdataDATA install-pkgdataDATA 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/libtool b/libtool new file mode 100755 index 0000000..22af7f7 --- /dev/null +++ b/libtool @@ -0,0 +1,5120 @@ +#! /bin/sh + +# libtool - Provide generalized library-building support services. +# Generated automatically by ltconfig (GNU libtool 1.3c (1.620 1999/10/07 15:40:07)) +# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. +# +# Copyright (C) 1996-1999 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 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 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="sed -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +### BEGIN LIBTOOL CONFIG +# Libtool was configured as follows, on host walde: +# +# CC="gcc" CFLAGS="-g -O2" CPPFLAGS="" \ +# LD="/usr/i486-suse-linux/bin/ld" LDFLAGS="" LIBS="" \ +# NM="/usr/bin/nm -B" RANLIB="ranlib" LN_S="ln -s" \ +# DLLTOOL="" OBJDUMP="" AS="" \ +# ./ltconfig --cache-file=./config.cache --with-gcc --with-gnu-ld --no-verify --build=i586-pc-linux-gnu ./ltmain.sh i586-pc-linux-gnu +# +# Compiler and other test output produced by ltconfig, useful for +# debugging ltconfig, is in ./config.log if it exists. + +# The version of ltconfig that generated this script. +LTCONFIG_VERSION="1.3c" + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias=i586-pc-linux-gnu +host=i586-pc-linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" + +# The default C compiler. +CC="gcc" + +# The linker used to build libraries. +LD="/usr/i486-suse-linux/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# Used on cygwin: DLL creation program. +DLLTOOL="" + +# Used on cygwin: object dumper. +OBJDUMP="" + +# Used on cygwin: assembler. +AS="" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC" +pic_mode=default + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Can we write directly to a .lo ? +compiler_o_lo="yes" + +# Must we lock files when doing compilation ? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin -fno-rtti -fno-exceptions" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}.so\$versuffix \${libname}\${release}.so\$major \$libname.so" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}.so\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR cru \$oldlib\$oldobjs" +old_postinstall_cmds="chmod 644 \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="file" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGISTW]\\)[ ][ ]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2\\3 \\3/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern char \\1;/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=no + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | sed 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun ltconfig. +# +# Copyright (C) 1996-1999 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 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 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + echo "$modename: not configured to build any kind of library" 1>&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +# Parse our command line options once, thoroughly. +while test $# -gt 0 +do + arg="$1" + shift + + case "$arg" in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case "$prev" in + execute_dlfiles) + eval "$prev=\"\$$prev \$arg\"" + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case "$arg" in + --help) + show_help=yes + ;; + + --version) + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + exit 0 + ;; + + --config) + sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0 + exit 0 + ;; + + --debug) + echo "$progname: enabling shell trace mode" + set -x + ;; + + --dry-run | -n) + run=: + ;; + + --features) + echo "host: $host" + if test "$build_libtool_libs" = yes; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + exit 0 + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --quiet | --silent) + show=: + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 +fi + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + case "$nonopt" in + *cc | *++ | gcc* | *-gcc*) + mode=link + for arg + do + case "$arg" in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case "$mode" in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + lastarg= + srcfile="$nonopt" + suppress_output= + + user_target=no + for arg + do + # Accept any command-line options. + case "$arg" in + -o) + if test "$user_target" != "no"; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + user_target=next + ;; + + -static) + build_old_libs=yes + continue + ;; + esac + + case "$user_target" in + next) + # The next one is the -o target name + user_target=yes + continue + ;; + yes) + # We got the output file + user_target=set + libobj="$arg" + continue + ;; + esac + + # Accept the current argument as the source file. + lastarg="$srcfile" + srcfile="$arg" + + # Aesthetically quote the previous argument. + + # Backslashify any backslashes, double quotes, and dollar signs. + # These are the only characters that are still specially + # interpreted inside of double-quoted scrings. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly in scan + # sets, so we specify it separately. + case "$lastarg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + lastarg="\"$lastarg\"" + ;; + esac + + # Add the previous argument to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + done + + case "$user_target" in + set) + ;; + no) + # Get the name of the library object. + libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + *) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSfmso]' + case "$libobj" in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case "$libobj" in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit 1 + ;; + esac + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $libobj" + else + removelist="$libobj" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 1 2 15 + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + # All platforms use -DPIC, to notify preprocessed assembler code. + command="$base_compile $pic_flag -DPIC $srcfile" + else + # Don't build PIC code + command="$base_compile $srcfile" + fi + if test "$build_old_libs" = yes; then + lo_libobj="$libobj" + dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$libobj"; then + dir="$objdir" + else + dir="$dir/$objdir" + fi + libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + + if test -d "$dir"; then + $show "$rm $libobj" + $run $rm $libobj + else + $show "$mkdir $dir" + $run $mkdir $dir + status=$? + if test $status -ne 0 && test ! -d $dir; then + exit $status + fi + fi + fi + if test "$compiler_o_lo" = yes; then + output_obj="$libobj" + command="$command -o $output_obj" + elif test "$compiler_c_o" = yes; then + output_obj="$obj" + command="$command -o $output_obj" + fi + + $run $rm "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed, then go on to compile the next one + if test x"$output_obj" != x"$libobj"; then + $show "$mv $output_obj $libobj" + if $run $mv $output_obj $libobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # If we have no pic_flag, then copy the object into place and finish. + if (test -z "$pic_flag" || test "$pic_mode" != default) && + test "$build_old_libs" = yes; then + # Rename the .lo from within objdir to obj + if test -f $obj; then + $show $rm $obj + $run $rm $obj + fi + + $show "$mv $libobj $obj" + if $run $mv $libobj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"` + libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` + # Now arrange that obj and lo_libobj become the same file + $show "(cd $xdir && $LN_S $baseobj $libobj)" + if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then + exit 0 + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Allow error messages only from the first compilation. + suppress_output=' >/dev/null 2>&1' + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $srcfile" + else + # All platforms use -DPIC, to notify preprocessed assembler code. + command="$base_compile $pic_flag -DPIC $srcfile" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + output_obj="$obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + $run $rm "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed + if test x"$output_obj" != x"$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Create an invalid libtool object if no PIC, so that we do not + # accidentally link it into a program. + if test "$build_libtool_libs" != yes; then + $show "echo timestamp > $libobj" + $run eval "echo timestamp > \$libobj" || exit $? + else + # Move the .lo from within objdir + $show "$mv $libobj $lo_libobj" + if $run $mv $libobj $lo_libobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + fi + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $rm "$lockfile" + fi + + exit 0 + ;; + + # libtool link mode + link | relink) + modename="$modename: link" + relink=no + test "$mode" = "relink" && relink=yes + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invokation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + compile_command="$nonopt" + finalize_command="$nonopt" + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + + # We need to know -static, to get the right output filenames. + for arg + do + case "$arg" in + -all-static | -static) + if test "X$arg" = "X-all-static"; then + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test $# -gt 0; do + arg="$1" + shift + libtool_args="$libtool_args $arg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case "$prev" in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case "$prev" in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case "$arg" in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case "$arg" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + compiler_flags="$compiler_flags $arg" + prev= + continue + ;; + xlinker) + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + linker_flags="$linker_flags $arg" + compiler_flags="$compiler_flags $wl$arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi + + prevarg="$arg" + + case "$arg" in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: not more than one -exported-symbols argument allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit 1 + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + case ":$dllsearchpath:" in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "$arg" = "-lc"; then + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) + # These systems don't actually have c library (as such) + continue + ;; + esac + elif test "$arg" = "-lm"; then + case "$host" in + *-*-cygwin* | *-*-beos*) + # These systems don't actually have math library (as such) + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) + no_install=yes + ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -o) prev=output ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # If we have no pic_flag, then this is the same as -all-static. + if test -z "$pic_flag" && test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -Wc,*) + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + flag=`$echo "X$arg" | $Xsed -e 's/^-Wc,//'` + compiler_flags="$compiler_flags $flag" + ;; + + -Wl,*) + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + flag=`$echo "X$arg" | $Xsed -e 's/^-Wl,//'` + linker_flags="$linker_flags $flag" + compiler_flags="$compiler_flags $wl$flag" + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + ;; + + *.o | *.obj) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A library object. + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` + prev= + fi + libobjs="$libobjs $arg" + ;; + + *.a | *.lib) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + dlname= + libdir= + library_names= + old_library= + + # Check to see that this really is a libtool archive. + if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 + exit 1 + fi + + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes + + # Read the .la file + # If there is no directory component, then add one. + case "$arg" in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 + exit 1 + fi + + if test "X$installed" = Xyes; then + dir="$libdir" + else + dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$arg"; then + dir="$objdir" + else + dir="$dir/$objdir" + fi + fi + + # This library was specified with -dlopen. + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking statically, + # we need to preload. + prev=dlprefiles + else + # We should not create a dependency on this library + prev= + continue + fi + fi + + # The library was specified with -dlpreopen. + if test "$prev" = dlprefiles; then + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + dlprefiles="$dlprefiles $dir/$old_library" + else + dlprefiles="$dlprefiles $dir/$linklib" + fi + prev= + fi + + deplibs="$deplibs $arg" + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + ;; + esac + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + lib_search_path="$lib_search_path $sys_lib_search_path $shlib_search_path" + + case "$output" in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + *.a | *.lib) + linkmode=oldlib ;; + *.lo | *.o | *.obj) + linkmode=obj ;; + *.la) + linkmode=lib ;; + *) # Anything else should be a program. + linkmode=prog ;; + esac + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + + # Create the object directory. + if test ! -d $output_objdir; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test $status -ne 0 && test ! -d $output_objdir; then + exit $status + fi + fi + if test $linkmode != lib && test $linkmode != prog; then + # Find libtool convenience libraries + for deplib in $deplibs; do + case "$deplib" in + -l* | -L*) + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives/objects" 1>&2 + continue + ;; + esac + if test -f "$deplib"; then : + else + $echo "$modename: cannot find the library \`$deplib'" 1>&2 + exit 1 + fi + libdir= + old_library= + + # Check to see that this really is a libtool archive. + if (sed -e '2q' $deplib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + + ladir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$deplib" && ladir="." + + # Read the .la file + case "$deplib" in + */* | *\\*) . $deplib ;; + *) . ./$deplib ;; + esac + + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$deplib'" 1>&2 + exit 1 + fi + + if test -n "$libdir"; then + $echo "$modename: \`$deplib' is not a convenience library" 1>&2 + exit 1 + fi + + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + done + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case "$outputname" in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 + exit 1 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test $# -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + libext=al + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + current="$2" + revision="$3" + age="$4" + + # Check that each of the things are valid numbers. + case "$current" in + 0 | [1-9] | [1-9][0-9]*) ;; + *) + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case "$revision" in + 0 | [1-9] | [1-9][0-9]*) ;; + *) + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case "$age" in + 0 | [1-9] | [1-9][0-9]*) ;; + *) + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + if test $age -gt $current; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case "$version_type" in + none) ;; + + irix) + major=`expr $current - $age + 1` + versuffix="$major.$revision" + verstring="sgi$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test $loop != 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="sgi$major.$iface:$verstring" + done + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test $loop != 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + windows) + # Like Linux, but with '-' rather than '.', since we only + # want one extension on Windows 95. + major=`expr $current - $age` + versuffix="-$major-$age-$revision" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + verstring="0.0" + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$relink" = no; then + # Remove our outputs. + $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" + $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Save some variables + name_save=$name + libname_save=$libname + + # Find libtool libraries and add their dependencies and directories + save_deplibs="$deplibs" + deplibs= # libraries to link (used in archive_cmds) + newdependency_libs= # all dependency libraries + uninst_path= # paths that contain uninstalled libtool libraries + new_lib_search_path= + for deplib in $save_deplibs; do + lib= + case "$deplib" in + -L*) + case "$deplibs " in + *" $deplib "*) ;; + *) + deplibs="$deplibs $deplib" + newdependency_libs="$newdependency_libs $deplib" + new_lib_search_path="$new_lib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + esac + continue + ;; + -l*) + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + found=no + for searchdir in $lib_search_path; do + # Search the libtool library + lib="$searchdir/lib${name}.la" + if test -f "$lib"; then + found=yes + break + fi + done + if test "$found" != yes; then + deplibs="$deplibs $deplib" + newdependency_libs="$newdependency_libs $deplib" + continue + fi + ;; + *) + lib="$deplib" + if test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + ;; + esac + libdir= + library_names= + old_library= + + # Check to see that this really is a libtool archive. + if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + # We need an absolute path. + case "$ladir" in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes + + # Read the .la file + case "$lib" in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + + if test -z "$libdir"; then + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + deplibs="$deplibs $ladir/$objdir/$old_library" + newdependency_libs="$newdependency_libs $dependency_libs" + continue + fi + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + uninst_path="$uninst_path $abs_ladir" + fi + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + link_static=no # Whether this library is linked statically + + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # This is a shared library + if test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + eval cmds=\"$extract_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + eval cmds=\"$old_archive_from_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi + + add_dir= + add_shlibpath= + add_name=no + if test "$relink" = no; then + lib_linked=yes + case "$hardcode_action" in + immediate | unsupported) + if test "$hardcode_direct" = no; then + deplibs="$deplibs $dir/$linklib" + elif test "$hardcode_minus_L" = no; then + case "$host" in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add_name=yes + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add_name=yes + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + deplibs="$deplibs $dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + add_name=yes + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add_name=yes + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi + if test -n "$add_shlibpath"; then + case ":$compile_shlibpath:" in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + else + # Install command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + deplibs="$deplibs $libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add_name=yes + elif test "$hardcode_shlibpath_var" = yes; then + add_name=yes + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + add_name=yes + fi + fi + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case ":$finalize_shlibpath:" in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + if test -n "$add_dir"; then + case "$deplibs " in + *" $add_dir "*) ;; + *) deplibs="$deplibs $add_dir" ;; + esac + fi + test "$add_name" = yes && deplibs="$deplibs -l$name" + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + echo "*** Warning: This library needs some functionality provided by $libname." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + else + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + deplibs="$deplibs $dir/$old_library" + link_static=yes + fi + fi + + if test -n "$dependency_libs"; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case "$libdir" in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + new_lib_search_path="$new_lib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$newdependency_libs $abs_ladir/$laname" + # ... and its dependency_libs + newdependency_libs="$newdependency_libs $dependency_libs" + + if test $link_all_deplibs != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case "$deplib" in + -L*) path="$deplib" ;; + *.la) + if grep "^installed=no" $deplib > /dev/null; then + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + path="-L$absdir/$objdir" + else + eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + path="-L$libdir" + fi + ;; + *) + continue + ;; + esac + case "$deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi + done + + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $new_lib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + lib_search_path="$lib_search_path $sys_lib_search_path" + + # Make sure newdependency_libs contains only unique libraries and directories. + dependency_libs= + for deplib in $newdependency_libs; do + case "$dependency_libs " in + *" $deplib "*) ;; + *) dependency_libs="$dependency_libs $deplib" ;; + esac + done + + # Eliminate all temporary directories. + for path in $uninst_path; do + lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` + deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` + dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$compile_rpath " in + *" $libdir "*) ;; + *) compile_rpath="$compile_rpath $libdir" ;; + esac + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + dependency_libs="$temp_xrpath $dependency_libs" + fi + + # Restore the variables + libname=$libname_save + name=$name_save + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *) + # Add libc to deplibs on all other systems. + deplibs="$deplibs -lc" + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case "$deplibs_check_method" in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behaviour. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | sed 's/.* -> //'` + case "$potliblink" in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | sed 10q \ + | egrep "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: This library needs some functionality provided by $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | + grep . >/dev/null; then + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + echo "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$relink" = no && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$relink" = no && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + lib="$output_objdir/$realname" + for link + do + linknames="$linknames $link" + done + + # Ensure that we have .o objects for linkers which dislike .lo + # (e.g. aix) incase we are running --disable-static + for obj in $libobjs; do + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` + if test ! -f $xdir/$oldobj; then + $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" + $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? + fi + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + eval cmds=\"$export_symbols_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$relink" = yes && test "$hardcode_into_libs" = yes ; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$relink" = yes && test "$hardcode_into_libs" = yes; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + exit 0 + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case "$output" in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit 1 + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" + + output="$obj" + eval cmds=\"$reload_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + $show "echo timestamp > $libobj" + $run eval "echo timestamp > $libobj" || exit $? + exit 0 + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + eval cmds=\"$reload_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + else + # Just create a symlink. + $show $rm $libobj + $run $rm $libobj + xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$libobj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` + $show "(cd $xdir && $LN_S $oldobj $baseobj)" + $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + ;; + + prog) + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + # Find libtool libraries and add their dependencies + save_deplibs="$deplibs" + deplibs= + newdependency_libs= + new_lib_search_path= + for deplib in $save_deplibs; do + lib= + case "$deplib" in + *.a | *.lib) + deplibs="$deplibs $deplib" + continue + ;; + -L*) + deplibs="$deplibs $deplib" + new_lib_search_path="$new_lib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + continue + ;; + -l*) + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + found=no + for searchdir in $lib_search_path; do + # Search the libtool library + lib="$searchdir/lib${name}.la" + if test -f "$lib"; then + found=yes + break + fi + done + if test "$found" != yes; then + deplibs="$deplibs $deplib" + continue + fi + ;; + *) + lib="$deplib" + if test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + ;; + esac + libdir= + library_names= + old_library= + + # Check to see that this really is a libtool archive. + if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes + + # Read the .la file + case "$lib" in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + + new_lib_search_path="$new_lib_search_path `$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`" + deplibs="$deplibs $lib" + + for deplib in $dependency_libs; do + case "$deplib" in + -L*) + new_lib_search_path="$new_lib_search_path `$echo "X$deplib" | $Xsed -e 's/^-L//'`" + ;; + esac + + if test "$link_all_deplibs" != no || \ + test "$fast_install" != no || \ + test "$build_libtool_libs" = no || \ + test -z "$library_names"; then + # Need to link against all dependency_libs + deplibs="$deplibs $deplib" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$newdependency_libs $deplib" + fi + done + done + + # Eliminate all dependency_libs that are already contained in deplibs + dependency_libs= + for deplib in $newdependency_libs; do + case "$deplibs " in + *" $deplib "*) ;; + *) dependency_libs="$dependency_libs $deplib" ;; + esac + done + + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $new_lib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + lib_search_path="$lib_search_path $sys_lib_search_path" + + # Find libtool libraries and add their directories + alldeplibs=no + link_against_libtool_libs= + + for deplib in $deplibs @DEPLIBS@ $dependency_libs; do + lib= + case "$deplib" in + -L* | *.a | *.lib) + compile_command="$compile_command $deplib" + finalize_command="$finalize_command $deplib" + continue + ;; + -R*) + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + @DEPLIBS@) + alldeplibs=yes + continue + ;; + -l*) + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + found=no + for searchdir in $lib_search_path; do + # Search the libtool library + lib="$searchdir/lib${name}.la" + if test -f "$lib"; then + found=yes + break + fi + done + if test "$found" != yes; then + compile_command="$compile_command $deplib" + finalize_command="$finalize_command $deplib" + continue + fi + ;; + *) + lib="$deplib" + if test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + ;; + esac + libdir= + library_names= + old_library= + + # Check to see that this really is a libtool archive. + if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + # We need an absolute path. + case "$ladir" in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$abs_ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes + + # Read the .la file + case "$lib" in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + fi + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + hardcode=yes + test "$hardcode_into_libs" = yes && test "$alldeplibs" = yes && hardcode=no + if test "$hardcode" = yes && test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # Do we only need to link against static libraries? + continue + fi + + if test -z "$libdir"; then + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + compile_command="$compile_command $dir/$old_library" + finalize_command="$finalize_command $dir/$old_library" + continue + fi + + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + link_against_libtool_libs="$link_against_libtool_libs $lib" + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + eval cmds=\"$extract_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + eval cmds=\"$old_archive_from_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi + + lib_linked=yes + add_dir= + add_shlibpath= + add_name=no + case "$hardcode_action" in + immediate | unsupported) + if test "$hardcode_direct" = no; then + compile_command="$compile_command $dir/$linklib" + elif test "$hardcode_minus_L" = no; then + case "$host" in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add_name=yes + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add_name=yes + else + lib_linked=no + fi + ;; + + relink) + if test "$hardcode_direct" = yes; then + compile_command="$compile_command $absdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$absdir" + add_name=yes + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$absdir" + add_name=yes + else + lib_linked=no + fi + ;; + + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi + if test -n "$add_dir"; then + case "$compile_command " in + *" $add_dir "*) ;; + *) compile_command="$compile_command $add_dir" ;; + esac + fi + if test -n "$add_shlibpath"; then + case ":$compile_shlibpath:" in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + test "$add_name" = yes && compile_command="$compile_command -l$name" + + add_dir= + add_name=no + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + finalize_command="$finalize_command $libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add_name=yes + elif test "$hardcode_shlibpath_var" = yes; then + case ":$finalize_shlibpath:" in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add_name=yes + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + add_name=yes + fi + if test -n "$add_dir"; then + case "$finalize_command " in + *" $add_dir "*) ;; + *) finalize_command="$finalize_command $add_dir" ;; + esac + fi + test "$add_name" = yes && finalize_command="$finalize_command -l$name" + else + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_command="$compile_command $dir/$linklib" + finalize_command="$finalize_command $dir/$linklib" + else + case "$compile_command " in + *" -L$dir "*) ;; + *) compile_command="$compile_command -L$dir";; + esac + compile_command="$compile_command -l$name" + case "$finalize_command " in + *" -L$dir "*) ;; + *) finalize_command="$finalize_command -L$dir";; + esac + finalize_command="$finalize_command -l$name" + fi + fi + done + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$compile_rpath " in + *" $libdir "*) ;; + *) compile_rpath="$compile_rpath $libdir" ;; + esac + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + case ":$dllsearchpath:" in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case "$dlsyms" in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$output.exp" + $run $rm $export_symbols + $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`echo "$arg" | sed -e 's%^.*/%%'` + $run eval 'echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{\ +" + + sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ + -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \ + < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr_t) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case "$host" in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DPIC";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit 1 + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit 0 + fi + + if test "$hardcode_action" = relink || test "$hardcode_into_libs" = yes; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $0 --fallback-echo"; then + case "$0" in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; + *) qecho="$SHELL `pwd`/$0 --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`echo $output|sed 's,.exe$,,'` ;; + esac + $rm $output + trap "$rm $output; exit 1" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + link_against_libtool_libs='$link_against_libtool_libs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + echo >> $output "\ + program=lt-'$outputname' + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if (cd \"\$thisdir\" && eval \$relink_command); then : + else + $rm \"\$progdir/\$file\" + exit 1 + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + *-*-cygwin* | *-*-mingw | *-*-os2*) + # win32 systems need to use the prog path for dll + # lookup to work + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} +" + ;; + *) + $echo >> $output "\ + # Export the path to the program. + PATH=\"\$progdir:\$PATH\" + export PATH + + exec \$program \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit 1 + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" + chmod +x $output + fi + exit 0 + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + # Add in members from convenience archives. + for xlib in $addlibs; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` + done + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + eval cmds=\"$old_archive_from_new_cmds\" + else + # Ensure that we have .o objects in place in case we decided + # not to build a shared library, and have fallen back to building + # static libs even though --disable-static was passed! + for oldobj in $oldobjs; do + if test ! -f $oldobj; then + xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$oldobj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` + obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` + $show "(cd $xdir && ${LN_S} $obj $baseobj)" + $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? + fi + done + + eval cmds=\"$old_archive_cmds\" + fi + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case "$output" in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Quote the link command for shipping. + relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case "$deplib" in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + fi + $rm $output + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$dlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit 0 + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg="$nonopt" + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest="$arg" + continue + fi + + case "$arg" in + -d) isdir=yes ;; + -f) prev="-f" ;; + -g) prev="-g" ;; + -m) prev="-m" ;; + -o) prev="-o" ;; + -s) + stripme=" -s" + continue + ;; + -*) ;; + + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest="$arg" + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case "$arg" in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit 1 + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test $# -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + fi + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case "$file" in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case "$file" in + *.a | *.lib) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test "$hardcode_into_libs" = yes; then + if test -z "$relink_command"; then + $echo "$modename: invalid libtool pseudo library \`$file'" 1>&2 + exit 1 + fi + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + continue + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test "$hardcode_into_libs" = yes && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test $# -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + eval cmds=\"$postinstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case "$destfile" in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.o | *.obj) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit 0 + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Do a test to see if this is really a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + link_against_libtool_libs= + relink_command= + + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Check the variables that should have been set. + if test -z "$link_against_libtool_libs"; then + $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 + exit 1 + fi + + finalize=yes + for lib in $link_against_libtool_libs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case "$lib" in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir="/tmp" + test -n "$TMPDIR" && tmpdir="$TMPDIR" + tmpdir="$tmpdir/libtool-$$" + if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : + else + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + eval cmds=\"$old_postinstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec $SHELL $0 --finish$current_libdirs + exit 1 + fi + + exit 0 + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + eval cmds=\"$finish_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit 0 + + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + echo " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + echo + echo "See any operating system documentation about shared libraries for" + echo "more information, such as the ld(1) and ld.so(8) manual pages." + echo "----------------------------------------------------------------------" + exit 0 + ;; + + # libtool clean mode + clean) + modename="$modename: clean" + rm="$nonopt" + files= + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case "$arg" in + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$objdir" + else + objdir="$dir/$objdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + rmfiles="$file" + + case "$file" in + *.la) + # Possibly a libtool archive, so verify it. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . ./$file + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + fi + ;; + + *.lo) + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" + fi + ;; + + *) + # Do a test to see if this is a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$file + + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles + done + exit 0 + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit 1 + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + dir= + case "$file" in + *.la) + # Check to see that this really is a libtool archive. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit 1 + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case "$file" in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved enviroment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now actually exec the command. + eval "exec \$cmd$args" + + $echo "$modename: cannot exec \$cmd$args" + exit 1 + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit 0 + fi + ;; + + # libtool uninstall mode + uninstall) + modename="$modename: uninstall" + rm="$nonopt" + files= + + for arg + do + case "$arg" in + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + rmfiles="$file" + + case "$name" in + *.la) + # Possibly a libtool archive, so verify it. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $dir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" + + $show "$rm $rmfiles" + $run $rm $rmfiles + + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + eval cmds=\"$postuninstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + eval cmds=\"$old_postuninstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + done + IFS="$save_ifs" + fi + + # FIXME: should reinstall the best remaining shared library. + fi + ;; + + *.lo) + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" + fi + $show "$rm $rmfiles" + $run $rm $rmfiles + ;; + + *) + $show "$rm $rmfiles" + $run $rm $rmfiles + ;; + esac + done + exit 0 + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + ;; + esac + + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 +fi # test -z "$show_help" + +# We need to display help for each of the modes. +case "$mode" in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE." + exit 0 + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; +esac + +echo +$echo "Try \`$modename --help' for more information about other modes." + +exit 0 + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 0000000..baed89a --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,4 @@ + +man_MANS = pipenightdreams.6 + +EXTRA_DIST = $(man_MANS) diff --git a/man/Makefile.in b/man/Makefile.in new file mode 100644 index 0000000..2d16090 --- /dev/null +++ b/man/Makefile.in @@ -0,0 +1,233 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +man_MANS = pipenightdreams.6 + +EXTRA_DIST = $(man_MANS) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../src/config.h +CONFIG_CLEAN_FILES = +man6dir = $(mandir)/man6 +MANS = $(man_MANS) + +NROFF = nroff +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +install-man6: + $(mkinstalldirs) $(DESTDIR)$(man6dir) + @list='$(man6_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.6*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man6dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man6dir)/$$inst; \ + done + +uninstall-man6: + @list='$(man6_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.6*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man6dir)/$$inst"; \ + rm -f $(DESTDIR)$(man6dir)/$$inst; \ + done +install-man: $(MANS) + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-man6 +uninstall-man: + @$(NORMAL_UNINSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-man6 +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = man + +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 man/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-man +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-man +uninstall: uninstall-am +all-am: Makefile $(MANS) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(mandir)/man6 + + +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: install-man6 uninstall-man6 install-man uninstall-man 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/man/pipenightdreams.6 b/man/pipenightdreams.6 new file mode 100644 index 0000000..d70f149 --- /dev/null +++ b/man/pipenightdreams.6 @@ -0,0 +1,132 @@ + + + +PIPENIGHTDREAMS(6) PIPENIGHTDREAMS(6) + + +NNAAMMEE + pipenightdreams - Just another pipe trip (PipeDream clon). + + +SSYYNNOOPPSSIISS + ppiippeenniigghhttddrreeaammss [--datadir ] + + +DDEESSCCRRIIPPTTIIOONN + ppiippeenniigghhttddrreeaammss is a PipeDream style game. The objetive + of the game is to carry liquid from some point to the exit + using different kinds of pipes. On each level there is a + minimum number of required pipes that should be at least + reached for it to be completed. + + The score is increased by using as many pipes as possible + an by collecting various bonus tokens making the liquid + pass through their places. There are also life bonus and, + hopefully soon, "freeze tokens". + + The game is not exactly a copy of PipeDream. It's based + only on the facts I remember and in many other things + which have been added, or changed hoping for making it + better. + + + KKEEYYSS + The game is entirely played using the keyboard and the key + layout is as follows: + + SPACE Puts the next pipe where the pointer is. + + CURSOR KEYS + Move the pointer. + + ENTER Speeds up the liquid (Avoids skillful players to + get bored). + + ESC Goes back to the main screen or exits. + + + BBOONNUUSS TTYYPPEESS + The various types of bonus tokens are the following: + + + LIFE BONUS + The purple one with a "L" on it. + + SUPER BONUS + The red one with a "B" on it. + + ULTRA BONUS + The blue one. + + + + + 22 Sep 2001 1 + + + + + +PIPENIGHTDREAMS(6) PIPENIGHTDREAMS(6) + + + HYPER BONUS + The green one. + + + +OOPPTTIIOONNSS + ----ddaattaaddiirr <> is used when the data direc­ + tory is not the default one ( //uussrr//sshhaarree//ggaammeess//ppiippeenniigghhtt­­ + ddrreeaammss if installed from a rpm package and + //uussrr//llooccaall//sshhaarree//ggaammeess//ppiippeenniigghhttddrreeaammss when installed by + compiling the source package). + + +BBUUGGSS + Not known. + + +SSEEEE AALLSSOO + Pipenightdreams home page at + + http://www.libsdl.org/projects/pipenightdreams + + +AAUUTTHHOORRSS + Waldemar A. Baraldi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 22 Sep 2001 2 + + diff --git a/missing b/missing new file mode 100755 index 0000000..cbe2b0e --- /dev/null +++ b/missing @@ -0,0 +1,188 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997 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 + +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.in'. 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.in'. 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.in'. 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.in` + if test -z "$files"; then + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in` + test -z "$files" || files="$files.in" + else + files=`echo "$files" | sed -e 's/:/ /g'` + fi + test -z "$files" && files="config.h.in" + 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.in'. + 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$/touch \1.in/' \ + | sh + ;; + + 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..a01481b --- /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.10 1996/05/03 07:37:52 friedman 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" 1>&2 + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/pipenightdreams.lsm b/pipenightdreams.lsm new file mode 100644 index 0000000..141335b --- /dev/null +++ b/pipenightdreams.lsm @@ -0,0 +1,14 @@ +Begin3 +Title: PipeNightDreams +Version: 0.9.0 +Entered-date: 02/07/2001 +Description: A PipeDream clon. +Keywords: Puzzle Pipe +Author: Waldemar A. Baraldi +Maintained-by: Waldemar A. Baraldi +Primary-site: http://www.libsdl.org/projects/pipenightdreams +Home-page: http://www.libsdl.org/projects/pipenightdreams +Original-site: http://www.libsdl.org/projects/pipenightdreams +Platforms: Linux and other Unices +Copying-policy: GNU Public License +End diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..e2fcfbb --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,9 @@ + +bin_PROGRAMS = pipenightdreams + +pipenightdreams_SOURCES = object.cpp wallpaper.cpp videomanager.cpp verticalbowl.cpp vertical.cpp tank.cpp surface.cpp str.cpp score.cpp random.cpp pointer.cpp player.cpp pipequeue.cpp pipenightdreams.cpp pipe.cpp mosaic.cpp list.cpp level.ll imagemanager.cpp image.cpp horizontalbowl.cpp horizontal.cpp hash.cpp graphic.cpp exit.cpp eventstream.cpp eventmanager.cpp entry.cpp elbowupright.cpp elbowupleft.cpp elbowdownright.cpp elbowdownleft.cpp cross.cpp canvas.cpp board.cpp main.cpp + +pipenightdreams_LDADD = + +EXTRA_DIST = main.cpp animatedcanvas.h background.h board.cpp board.h canvas.cpp canvas.h cross.cpp cross.h elbowdownleft.cpp elbowdownleft.h elbowdownright.cpp elbowdownright.h elbowupleft.cpp elbowupleft.h elbowupright.cpp elbowupright.h entry.cpp entry.h eventmanager.cpp eventmanager.h eventstream.cpp eventstream.h exit.cpp exit.h graphic.cpp graphic.h hash.cpp hash.h horizontal.cpp horizontal.h horizontalbowl.cpp horizontalbowl.h image.cpp image.h imagemanager.cpp imagemanager.h level.h level.ll list.cpp list.h mosaic.cpp mosaic.h object.h pipe.cpp pipe.h pipenightdreams.cpp pipenightdreams.h pipequeue.cpp pipequeue.h player.cpp player.h playeronestream.h pointer.cpp pointer.h pointercross.h pointerelbowdownleft.h pointerelbowdownright.h pointerelbowupleft.h pointerelbowupright.h pointerhorizontal.h pointerhorizontalbowl.h pointernone.h pointervertical.h pointerverticalbowl.h random.cpp random.h score.cpp score.h str.cpp str.h surface.cpp surface.h systemstream.h tank.cpp tank.h vertical.cpp vertical.h verticalbowl.cpp verticalbowl.h videomanager.cpp videomanager.h wallpaper.cpp wallpaper.h object.cpp + diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..7cc3c76 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,427 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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 = : +host_alias = @host_alias@ +host_triplet = @host@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +DLLTOOL = @DLLTOOL@ +LD = @LD@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +NM = @NM@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +VERSION = @VERSION@ + +bin_PROGRAMS = pipenightdreams + +pipenightdreams_SOURCES = object.cpp wallpaper.cpp videomanager.cpp verticalbowl.cpp vertical.cpp tank.cpp surface.cpp str.cpp score.cpp random.cpp pointer.cpp player.cpp pipequeue.cpp pipenightdreams.cpp pipe.cpp mosaic.cpp list.cpp level.ll imagemanager.cpp image.cpp horizontalbowl.cpp horizontal.cpp hash.cpp graphic.cpp exit.cpp eventstream.cpp eventmanager.cpp entry.cpp elbowupright.cpp elbowupleft.cpp elbowdownright.cpp elbowdownleft.cpp cross.cpp canvas.cpp board.cpp main.cpp + +pipenightdreams_LDADD = + +EXTRA_DIST = main.cpp animatedcanvas.h background.h board.cpp board.h canvas.cpp canvas.h cross.cpp cross.h elbowdownleft.cpp elbowdownleft.h elbowdownright.cpp elbowdownright.h elbowupleft.cpp elbowupleft.h elbowupright.cpp elbowupright.h entry.cpp entry.h eventmanager.cpp eventmanager.h eventstream.cpp eventstream.h exit.cpp exit.h graphic.cpp graphic.h hash.cpp hash.h horizontal.cpp horizontal.h horizontalbowl.cpp horizontalbowl.h image.cpp image.h imagemanager.cpp imagemanager.h level.h level.ll list.cpp list.h mosaic.cpp mosaic.h object.h pipe.cpp pipe.h pipenightdreams.cpp pipenightdreams.h pipequeue.cpp pipequeue.h player.cpp player.h playeronestream.h pointer.cpp pointer.h pointercross.h pointerelbowdownleft.h pointerelbowdownright.h pointerelbowupleft.h pointerelbowupright.h pointerhorizontal.h pointerhorizontalbowl.h pointernone.h pointervertical.h pointerverticalbowl.h random.cpp random.h score.cpp score.h str.cpp str.h surface.cpp surface.h systemstream.h tank.cpp tank.h vertical.cpp vertical.h verticalbowl.cpp verticalbowl.h videomanager.cpp videomanager.h wallpaper.cpp wallpaper.h object.cpp +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@ +pipenightdreams_OBJECTS = object.o wallpaper.o videomanager.o \ +verticalbowl.o vertical.o tank.o surface.o str.o score.o random.o \ +pointer.o player.o pipequeue.o pipenightdreams.o pipe.o mosaic.o list.o \ +level.o imagemanager.o image.o horizontalbowl.o horizontal.o hash.o \ +graphic.o exit.o eventstream.o eventmanager.o entry.o elbowupright.o \ +elbowupleft.o elbowdownright.o elbowdownleft.o cross.o canvas.o board.o \ +main.o +pipenightdreams_DEPENDENCIES = +pipenightdreams_LDFLAGS = +CXXFLAGS = @CXXFLAGS@ +CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LEXLIB = @LEXLIB@ +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +DIST_COMMON = ./stamp-h.in Makefile.am Makefile.in config.h.in level.cc + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +DEP_FILES = .deps/board.P .deps/canvas.P .deps/cross.P \ +.deps/elbowdownleft.P .deps/elbowdownright.P .deps/elbowupleft.P \ +.deps/elbowupright.P .deps/entry.P .deps/eventmanager.P \ +.deps/eventstream.P .deps/exit.P .deps/graphic.P .deps/hash.P \ +.deps/horizontal.P .deps/horizontalbowl.P .deps/image.P \ +.deps/imagemanager.P .deps/level.P .deps/list.P .deps/main.P \ +.deps/mosaic.P .deps/object.P .deps/pipe.P .deps/pipenightdreams.P \ +.deps/pipequeue.P .deps/player.P .deps/pointer.P .deps/random.P \ +.deps/score.P .deps/str.P .deps/surface.P .deps/tank.P .deps/vertical.P \ +.deps/verticalbowl.P .deps/videomanager.P .deps/wallpaper.P +SOURCES = $(pipenightdreams_SOURCES) +OBJECTS = $(pipenightdreams_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .cc .cpp .ll .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 + + +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=src/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) + 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: + +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 " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(LIBTOOL) --mode=install $(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: + +pipenightdreams: $(pipenightdreams_OBJECTS) $(pipenightdreams_DEPENDENCIES) + @rm -f pipenightdreams + $(CXXLINK) $(pipenightdreams_LDFLAGS) $(pipenightdreams_OBJECTS) $(pipenightdreams_LDADD) $(LIBS) +.cc.o: + $(CXXCOMPILE) -c $< +.cpp.o: + $(CXXCOMPILE) -c $< +.ll.cc: + $(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ + +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) config.h.in $(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)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 = $(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 + +%.o: %.cc + @echo '$(CXXCOMPILE) -c $<'; \ + $(CXXCOMPILE) -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: %.cc + @echo '$(LTCXXCOMPILE) -c $<'; \ + $(LTCXXCOMPILE) -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 + +%.o: %.cpp + @echo '$(CXXCOMPILE) -c $<'; \ + $(CXXCOMPILE) -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: %.cpp + @echo '$(LTCXXCOMPILE) -c $<'; \ + $(LTCXXCOMPILE) -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 +all-recursive-am: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +install-exec-am: install-binPROGRAMS +install-exec: install-exec-am + +install-data-am: +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: uninstall-am +all-am: Makefile $(PROGRAMS) config.h +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) + + +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: + -test -z "levelll" || rm -f levelll +mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \ + mostlyclean-compile mostlyclean-tags mostlyclean-depend \ + mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \ + clean-depend clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \ + distclean-tags distclean-depend distclean-generic \ + clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-hdr 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-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile 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 all-recursive-am \ +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/animatedcanvas.h b/src/animatedcanvas.h new file mode 100644 index 0000000..c44c02c --- /dev/null +++ b/src/animatedcanvas.h @@ -0,0 +1,39 @@ +/*************************************************************************** + animatedcanvas.h - description + ------------------- + begin : Wed Dec 6 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + + #ifndef ANIMATED_CANVAS_H + #define ANIMATED_CANVAS_H + + #include "canvas.h" + + /** Los canvas deben mantener algún tipo de estado que cambiará + o no cuando se les hagan llamadas a tick(). + */ + + class AnimatedCanvas : public Canvas{ + + public: + /** Constructor*/ + AnimatedCanvas():Canvas(){}; + + virtual ~AnimatedCanvas(){}; + + virtual void tick()=0; + }; + #endif + + diff --git a/src/background.h b/src/background.h new file mode 100644 index 0000000..ed29416 --- /dev/null +++ b/src/background.h @@ -0,0 +1,39 @@ +/*************************************************************************** + background.h - description + ------------------- + begin : Wed Mar 21 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef BACKGROUND_H +#define BACKGROUND_H + +#include "canvas.h" + +class Background; + +#include "board.h" +#include "pipe.h" + +class Background: public Canvas{ + + public: + Background():Canvas(){}; + + int width(){return BoardColumns*PipeWidth;} + int height(){return BoardRows*PipeHeight;} + + virtual void repaint(VideoManager * vm, int x, int y, int w, int h)=0; +}; +#endif + diff --git a/src/board.cpp b/src/board.cpp new file mode 100644 index 0000000..45c7cbc --- /dev/null +++ b/src/board.cpp @@ -0,0 +1,417 @@ +/*************************************************************************** + board.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "board.h" +#include "player.h" +#include "mosaic.h" +#include "wallpaper.h" + +#define MAX_SPEED 80 + +Board::Board():AnimatedCanvas(){ + int i,j; + + for (i=0;isetPos(TankX, TankY); +} + +void Board::setEntry(Entry * entry, int row, int column){ + flow_row=row; + flow_column=column; + actual_input=Void; + actual_output=entry->getOutput(Void); + setPipe(entry, row, column); + entry_row=row; + entry_column=column; +} + +void Board::setExit(Exit * exit, int row, int column){ + setPipe(exit, row, column); +} + +bool Board::isRemovable(int row, int column){ + if (board[row][column]) + return board[row][column]->isRemovable(); + return true; +} + +void Board::setPipe(Pipe * pipe, int row, int column){ + required_changed=true; + changes[row][column]=true; + Pipe * aux=board[row][column]; + if (aux){ + if (aux->isRemovable()){ + delete aux; + board[row][column]=pipe; + pipe->setPos(column*pipe->width()+x, row*pipe->height()+y); + } + }else{ + board[row][column]=pipe; + pipe->setPos(column*pipe->width()+x, row*pipe->height()+y); + } +} + +Pipe * Board::getPipe(int row, int column){ + return board[row][column]; +} + +BoardState Board::getState(){ + return state; +} + +unsigned int Board::getRequired(){ + return required; +} + +unsigned int Board::getStillRequired(){ + if (!required_changed) return still_required; + else return (still_required=countStillRequired()); +} + +unsigned int Board::countStillRequired(){ + int row=entry_row; + int column=entry_column; + bool end=false; + unsigned int used=0; + + required_changed=false; + + CardinalPoint con=board[row][column]->getOutput(Void);//Entry output + while (!end){ + used++; + end=true; + switch (con){ + case East:{ + column++; + if (columnhasConnection(West)) + if (!board[row][column]->isRestrictedAsOutput(West)){ + end=false; + con=board[row][column]->getOutput(West); + } + break; + } + case South:{ + row++; + if (rowhasConnection(North)) + if (!board[row][column]->isRestrictedAsOutput(North)){ + end=false; + con=board[row][column]->getOutput(North); + } + break; + } + case West:{ + column--; + if (column>=0) + if (board[row][column] != NULL) + if (board[row][column]->hasConnection(East)) + if (!board[row][column]->isRestrictedAsOutput(East)){ + end=false; + con=board[row][column]->getOutput(East); + } + break; + } + case North:{ + row--; + if (row>=0) + if (board[row][column] != NULL) + if (board[row][column]->hasConnection(South)) + if (!board[row][column]->isRestrictedAsOutput(South)){ + end=false; + con=board[row][column]->getOutput(South); + } + break; + } + default:{ + used--; //La salida no se cuenta como uno usado + break; + } + } + }//while + used--; //La entrada no se cuenta como usado + if (used>required) + return 0; + else return required-used; +} + + +void Board::addPointer(Pointer * p){ + lps->insert(lps->getFirst(), (Pointer *)p); +} + +void Board::removePointer(Pointer * p){ + lps->remove(lps->indexOf((Pointer*)p)); +} + +void Board::movePointer(Pointer *p, int row, int column){ + if (row>=0 && row=0 && columngetRow()>=0 && p->getRow()getColumn()>=0 && p->getColumn()getRow()][p->getColumn()]=true; + p->setRowColumn(row, column); + p->setMoved(true); + } +} + +void Board::setPos(int x, int y){ + Canvas::setPos(x,y); + int i,j; + for (i=0;isetPos(j*board[i][j]->width()+x, i*board[i][j]->height()+y); + paint_all=true; +} + +void Board::setSpeed(int amount){ + tick_amount=amount; +} + +void Board::setMaxSpeed(){ + tick_amount=MAX_SPEED; +} + +void Board::setRequired(unsigned int value){ + required=value; + required_changed=true; +} + +void Board::setBackgroundType(BackgroundType type){ + background_type=type; +} + +void Board::tick(){ + int aux; + + tank->tick(); + if (!(tank->isEmpty())){//Descuento del tanque + tank->decFullLevel(tick_amount); + changes[flow_row][flow_column]=true; + } + else{//Aumento el actual + aux=(getPipe(flow_row, flow_column))->getFullLevel(actual_input); + if (aux<(getPipe(flow_row, flow_column))->full()){ + (getPipe(flow_row, flow_column))->incFullLevel(actual_input, tick_amount); + changes[flow_row][flow_column]=true; + } + else{//Paso al siguiente + Pipe * next=NULL; + Pipe * last=board[flow_row][flow_column]; + actual_input=Void; + switch (actual_output){ + case North:{ + if (flow_row>0){ + next=getPipe(--flow_row, flow_column); + actual_input=South; + } + break; + } + case South:{ + if (flow_row0){ + next=getPipe(flow_row, --flow_column); + actual_input=East; + } + break; + } + default:break; + } + if (actual_output==Void) + if (getStillRequired()==0) + state=OverWon; + else + state=OverLost; + else + if (actual_input==Void){ + state=OverLost; + }else{ + if (next) + if (next->hasConnection(actual_input) && !(next->isRestrictedAsOutput(actual_input))){ + actual_output=next->getOutput(actual_input); + next->incFullLevel(actual_input,tick_amount); + + /** Bonus stuff*/ + if (!next->getOwner() && last->getOwner()) + next->setOwner(last->getOwner()); + + Player * owner; + if ((owner=next->getOwner())) + switch (next->getBonus()){ + case LifeBonus:{ + owner->incLives(); + next->setBonus(NormalBonus); + break; + } + case TimeBonus:{ + //Debera incrementarse el valor del tiempo en board. + break; + } + default:{ + owner->incScore(next->getBonus()); + } + } + /*End of Bonus stuff*/ + + changes[flow_row][flow_column]=true; + }else state=OverLost; + else state=OverLost; + } + } + } +} + +void Board::paint(VideoManager * vm){ + int i,j; + Index * index; + Pointer * aux; + int pc, pr; + + if (!background){ + Image * ima=vm->getImageManager()->getImage(new Str("board_back.jpg")); + switch (background_type){ + case WallpaperBackground:{ + background=new WallPaper(ima); + break; + } + case MosaicBackground:{ + background=new Mosaic(ima); + break; + } + } + background->setPos(x, y); + } + + /** Pinta todos los pipes.*/ + if (paint_all){ + background->paint(vm); + for (i=0;ipaint(vm); + changes[i][j]=false; + } + }else{/** Pinta solo los que han cambiado*/ + for (i=0;irepaint(vm, j*PipeWidth, i*PipeHeight, PipeWidth, PipeHeight); + if (board[i][j]) board[i][j]->paint(vm); + changes[i][j]=false; + } + } + } + /** Pinta y marca los punteros para la proxima entrada.*/ + index=lps->getFirst(); + for (i=0;inObjects();i++){ + aux=(Pointer*)lps->getObject(index); + pr=aux->getRow(); + pc=aux->getColumn(); + if (aux->moved() || (flow_column==aux->getColumn() && flow_row==aux->getRow())){ + aux->setPos(pc*aux->width+x, pr*aux->height+y); + aux->paint(vm); + if (aux->moved()) aux->setMoved(false); else aux->setMoved(true); + } + index=lps->getNext(index); + } + paint_all=false; + + /** Pinta la mancha si el juego esta perdido.*/ + if (state==OverLost){ + Image * mancha=vm->getImageManager()->getImage(new Str("splash.png")); + int mx=flow_column*PipeWidth+x; + int my=flow_row*PipeHeight+y; + switch (actual_input){ + case Void:{ //Esta contra un borde + switch (actual_output){ + case North:my-=PipeHeight/2;break; + case South:my+=PipeHeight/2;break; + case West:mx-=PipeWidth/2;break; + case East:mx+=PipeWidth/2;break; + default:break; + } + break; + } + case North:my-=PipeHeight/2;break; + case South:my+=PipeHeight/2;break; + case West:mx-=PipeWidth/2;break; + case East:mx+=PipeWidth/2;break; + default:break; + } + vm->setClipping(x, y, width(), height()); + vm->enableClipping(true); + vm->blit(mancha, mx, my); + vm->enableClipping(false); + } + if (tank->isChanged()) tank->paint(vm); +} + +int Board::width(){ + return BoardColumns*PipeWidth; +} + +int Board::height(){ + return BoardRows*PipeHeight; +} + diff --git a/src/board.h b/src/board.h new file mode 100644 index 0000000..518ff7c --- /dev/null +++ b/src/board.h @@ -0,0 +1,151 @@ +/*************************************************************************** + board.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef BOARD_H +#define BOARD_H + +#include "animatedcanvas.h" + +enum BoardState {Playing, OverLost, OverWon}; +enum BackgroundType {WallpaperBackground, MosaicBackground}; + +static const int BoardColumns=9; +static const int BoardRows=8; + +class Board; + +#include "list.h" +#include "pipe.h" +#include "pointer.h" +#include "entry.h" +#include "exit.h" +#include "tank.h" +#include "background.h" + +class Board: public AnimatedCanvas{ + + public: + + static const int TankX=88; + static const int TankY=0; + + Board(); + virtual ~Board(); + + int width(); + + int height(); + + /** Setea la cantidad de ticks hasta comenzar + a avanzar el flujo.*/ + void setStartDelay(int delay); + + /** Asigna la entrada del flujo.*/ + //void setEntry(Entry * entry, int row, int column); + void setEntry(Entry * entry, int row, int column); + + /** Asigna la salida del flujo.*/ + //void setExit(Exit * exit, int row, int column); + void setExit(Exit * exit, int row, int column); + + /** Retorna true si el pipe en row, column es removible.*/ + bool isRemovable(int row, int column); + + /** Asigna pipe a la posicion row,column. Si las coordenadas son + invalidas, el resultado es indefinido. pipe no debe ser NULL.*/ + void setPipe(Pipe * pipe, int row, int column); + + /** Retorna el pipe en la posicion. Si las coordenadas no son + validas, el resultado es indefinido.*/ + Pipe * getPipe(int row, int column); + + + /** Retorna el estado del board.*/ + BoardState getState(); + + /** Retorna la cantidad de pipes que son necesarios para completar el nivel.*/ + unsigned int getRequired(); + + /** Retorna la cantiad de pipes que todavá faltan para completar el nivel.*/ + unsigned int getStillRequired(); + + /** Agrega el puntero en la posicion que tenga.*/ + void addPointer(Pointer * p); + + /** Quita el puntero del board.*/ + void removePointer(Pointer * p); + + /** Mueve el puntero de posicion a row, column.*/ + void movePointer(Pointer *p, int row, int column); + + void setPos(int x, int y); + + void setSpeed(int amount); + + void setMaxSpeed(); + + void setRequired(unsigned int value); + + void setBackgroundType(BackgroundType type); + + /** Señaliza el avance del líquido.*/ + void tick(); + + void paint(VideoManager * vm); + + protected: + + unsigned int countStillRequired(); + + BackgroundType background_type; + Background * background; + + List * lps; + + Pipe * board[BoardRows][BoardColumns]; + + Tank * tank; + + bool changes[BoardRows][BoardColumns]; + bool paint_all; + +// Image * background; + + int flow_row, flow_column; + + Pipe * entry; + Pipe * exit; + + int entry_row; + int entry_column; + + int start_delay; + int tick_amount; + + CardinalPoint actual_output; + CardinalPoint actual_input; + + BoardState state; + + unsigned int required; + unsigned int still_required; + bool required_changed; +}; + +#endif + + diff --git a/src/canvas.cpp b/src/canvas.cpp new file mode 100644 index 0000000..827ce11 --- /dev/null +++ b/src/canvas.cpp @@ -0,0 +1,31 @@ +/*************************************************************************** + canvas.cpp - description + ------------------- + begin : Mon Oct 16 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "canvas.h" + +Canvas::Canvas():Graphic(){ + x=y=0; +} + +Canvas::Canvas(int width, int height):Graphic(width, height){ + x=y=0; +} + +void Canvas::setPos(int x, int y){ + this->x=x;this->y=y; +} + diff --git a/src/canvas.h b/src/canvas.h new file mode 100644 index 0000000..9d1da85 --- /dev/null +++ b/src/canvas.h @@ -0,0 +1,51 @@ +/*************************************************************************** + canvas.h - description + ------------------- + begin : Fri Sep 1 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef CANVAS_H +#define CANVAS_H + +#include "graphic.h" +#include "videomanager.h" + +/** Clase abstracta para el manejo de objetos gráficos.*/ + +class Canvas: public Graphic{ + + public: + + /** Constructor.*/ + Canvas(); + + Canvas(int width, int height); + + /** Destructor.*/ + virtual ~Canvas(){}; + + /** Setea la posición.*/ + virtual void setPos(int x, int y); + + /** Pinta el canvas.*/ + virtual void paint(VideoManager * vm)=0; + + protected: + + int x, y; +}; + +#endif + + diff --git a/src/config.h b/src/config.h new file mode 100644 index 0000000..637e8c8 --- /dev/null +++ b/src/config.h @@ -0,0 +1,18 @@ +/* src/config.h. Generated automatically by configure. */ +/* src/config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +/* #undef GAME_PREFIX */ +#define GAME_DATADIR "/usr/local/share/games/pipenightdreams" + +/* Define if you have the SDL_image library (-lSDL_image). */ +#define HAVE_LIBSDL_IMAGE 1 + +/* Name of package */ +#define PACKAGE "pipenightdreams" + +/* Version number of package */ +#define VERSION "0.9.0" + diff --git a/src/config.h.in b/src/config.h.in new file mode 100644 index 0000000..31064ca --- /dev/null +++ b/src/config.h.in @@ -0,0 +1,17 @@ +/* src/config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#undef YYTEXT_POINTER + +#undef GAME_PREFIX +#undef GAME_DATADIR + +/* Define if you have the SDL_image library (-lSDL_image). */ +#undef HAVE_LIBSDL_IMAGE + +/* Name of package */ +#undef PACKAGE + +/* Version number of package */ +#undef VERSION + diff --git a/src/cross.cpp b/src/cross.cpp new file mode 100644 index 0000000..e96b811 --- /dev/null +++ b/src/cross.cpp @@ -0,0 +1,141 @@ +/*************************************************************************** + cross.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "cross.h" +#include "pointercross.h" + +Cross::Cross():Pipe(){ + p=new PointerCross(); + extra_used_input=Void; + extra_full_level=0; + ro=Void; + extra_ro=Void; +} + +Cross::~Cross(){ + delete p; +} + +bool Cross::hasConnection(CardinalPoint con){ + return (con!=Void); +} + +bool Cross::isRemovable(){ + return !((full_level>0) || (extra_full_level>0)) && !fixed; +} + +void Cross::restrictAsOutput(CardinalPoint con){ + if (con!=Void) + if (con==South || con==North) + ro=con; + else extra_ro=con; +} + +bool Cross::isRestrictedAsOutput(CardinalPoint con){ + return (ro==con || extra_ro==con); +} + +CardinalPoint Cross::getOutput(CardinalPoint input){ + if (input==ro || input==extra_ro) return Void; + switch (input){ + case South: {return North;} + case North:return South; + case West: return East; + case East: return West; + default:break; + } + return Void; +} + +void Cross::incFullLevel(CardinalPoint input,unsigned int amount){ + if (!isRestrictedAsOutput(input)){ + if ((input==North) || (input==South)) + if ((used_input==Void) || (used_input==input)){ + full_level+=amount; + used_input=input; + } + if ((input==West) || (input==East)) + if ((extra_used_input==Void) || (extra_used_input==input)){ + extra_full_level+=amount; + extra_used_input=input; + } + } +} + +int Cross::getFullLevel(CardinalPoint input){ + if (input==used_input) + return full_level; + if (input==extra_used_input) + return extra_full_level; + return 0; +} + +Pointer * Cross::getPointer(){ + return p; +} + +void Cross::paint(VideoManager * vm){ + + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("cross_b.png")); + else + ima=(vm->getImageManager())->getImage(new Str("cross.png")); + + vm->blit(ima, x, y); + + if (ro != Void) paintRestriction(vm, ro); + if (extra_ro != Void) paintRestriction(vm, extra_ro); + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + int xof=x+PipeWidth/2-aux->width()/2; + int yof=aux->height()/2; + int total, f; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + if (used_input==North){ + total=y-yof; + f=1; + } + else{ + total=PipeHeight+y-yof; + f=-1; + } + for (int i=0; iblit(aux, xof, total+f*(float)i/(float)full()*(float)PipeHeight); + vm->enableClipping(false); + } + if (extra_full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + int yof=y+(PipeHeight-aux->height())/2; + int total,f; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + if (extra_used_input==West){ + total=x-aux->width()/2; + f=1; + } + else{ + total=x+PipeWidth-aux->width()/2; + f=-1; + } + for (int i=0; iblit(aux, total+f*(float)i/(float)full()*(float)PipeWidth, yof); + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} diff --git a/src/cross.h b/src/cross.h new file mode 100644 index 0000000..843a3da --- /dev/null +++ b/src/cross.h @@ -0,0 +1,56 @@ +/*************************************************************************** + cross.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef CROSS_H +#define CROSS_H + +#include "pipe.h" + +class Cross: public Pipe{ + + public: + + Cross(); + ~Cross(); + + bool hasConnection(CardinalPoint con); + + bool isRemovable(); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); + + protected: + + int extra_full_level; + int extra_used_input; + CardinalPoint extra_ro; +}; + +#endif + diff --git a/src/elbowdownleft.cpp b/src/elbowdownleft.cpp new file mode 100644 index 0000000..0d05228 --- /dev/null +++ b/src/elbowdownleft.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** + elbowdownleft.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "elbowdownleft.h" +#include "pointerelbowdownleft.h" + +ElbowDownLeft::ElbowDownLeft():Pipe(){ + p=new PointerElbowDownLeft(); +} + +ElbowDownLeft::~ElbowDownLeft(){ + delete p; +} + +bool ElbowDownLeft::hasConnection(CardinalPoint con){ + return ((con==West) || (con==South)); +} + +CardinalPoint ElbowDownLeft::getOutput(CardinalPoint input){ + if (input==ro) return Void; + switch (input){ + case South: return West; + case West:return South; + default:return Void; + } +} + +void ElbowDownLeft::restrictAsOutput(CardinalPoint con){ + if (con==South || con==West) ro=con; +} + +bool ElbowDownLeft::isRestrictedAsOutput(CardinalPoint con){ + return (ro==con); +} + +void ElbowDownLeft::incFullLevel(CardinalPoint input,unsigned int amount){ + if ((input==South || input==West) && ro!=input) + if ((used_input==Void) || (used_input==input)){ + full_level+=amount; + used_input=input; + } +} + +int ElbowDownLeft::getFullLevel(CardinalPoint input){ + if (input==used_input) return full_level; + return 0; +} + +Pointer * ElbowDownLeft::getPointer(){ + return p; +} + +void ElbowDownLeft::paint(VideoManager * vm){ + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("elbow_swb.png")); + else + ima=(vm->getImageManager())->getImage(new Str("elbow_sw.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm,ro); + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + float fwidth=(float)PipeWidth/2; + float fheight=(float)PipeHeight/2; + float nov=PI/2; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + int xaux=x-aux->width()/2; + int yaux=y+PipeHeight-aux->width()/2; + if (used_input==South){ + for (int i=0; iblit(aux, xaux+(float)cos((float)i/(float)full() * nov)*fwidth, + yaux-(float)sin((float)i/(float)full() * nov)*fheight); + }else{ + for (int i=0; iblit(aux, xaux+(float)cos((float)(full()-i)/(float)full() * nov)*fwidth, + yaux-(float)sin((float)(full()-i)/(float)full() * nov)*fheight); + } + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} diff --git a/src/elbowdownleft.h b/src/elbowdownleft.h new file mode 100644 index 0000000..64ddbbb --- /dev/null +++ b/src/elbowdownleft.h @@ -0,0 +1,48 @@ +/*************************************************************************** + elbowdownleft.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef ELBOW_DOWN_LEFT_H +#define ELBOW_DOWN_LEFT_H + +#include "pipe.h" + +class ElbowDownLeft: public Pipe{ + + public: + + ElbowDownLeft(); + ~ElbowDownLeft(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); +}; + +#endif + diff --git a/src/elbowdownright.cpp b/src/elbowdownright.cpp new file mode 100644 index 0000000..5be86bf --- /dev/null +++ b/src/elbowdownright.cpp @@ -0,0 +1,98 @@ +/*************************************************************************** + elbowdownright.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "elbowdownright.h" +#include "pointerelbowdownright.h" + +ElbowDownRight::ElbowDownRight():Pipe(){ + p=new PointerElbowDownRight(); +} + +ElbowDownRight::~ElbowDownRight(){ + delete p; +} + +bool ElbowDownRight::hasConnection(CardinalPoint con){ + return ((con==East) || (con==South)); +} + +CardinalPoint ElbowDownRight::getOutput(CardinalPoint input){ + if (input==ro) return Void; + switch (input){ + case South: return East; + case East:return South; + default:return Void; + } +} + +void ElbowDownRight::restrictAsOutput(CardinalPoint con){ + if (con==East || con==South) ro=con; +} + +bool ElbowDownRight::isRestrictedAsOutput(CardinalPoint con){ + return (con==ro); +} + +void ElbowDownRight::incFullLevel(CardinalPoint input,unsigned int amount){ + if ((input==South || input==East) && input!=ro) + if ((used_input==Void) || (used_input==input)){ + full_level+=amount; + used_input=input; + } +} + +int ElbowDownRight::getFullLevel(CardinalPoint input){ + if (input==used_input) return full_level; + return 0; +} + +Pointer * ElbowDownRight::getPointer(){ + return p; +} + +void ElbowDownRight::paint(VideoManager * vm){ + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("elbow_seb.png")); + else + ima=(vm->getImageManager())->getImage(new Str("elbow_se.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + float fwidth=(float)PipeWidth/2; + float fheight=(float)PipeHeight/2; + float nov=PI/2; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + int xaux=x+PipeWidth-aux->width()/2; + int yaux=y+PipeHeight-aux->width()/2; + if (used_input==South){ + for (int i=0; iblit(aux, xaux-(float)cos((float)i/(float)full() * nov)*fwidth, + yaux-(float)sin((float)i/(float)full() * nov)*fheight); + }else{ + for (int i=0; iblit(aux, xaux-(float)cos((float)(full()-i)/(float)full() * nov)*fwidth, + yaux-(float)sin((float)(full()-i)/(float)full() * nov)*fheight); + } + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} diff --git a/src/elbowdownright.h b/src/elbowdownright.h new file mode 100644 index 0000000..3e17ef8 --- /dev/null +++ b/src/elbowdownright.h @@ -0,0 +1,48 @@ +/*************************************************************************** + elbowdownright.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef ELBOW_DOWN_RIGHT_H +#define ELBOW_DOWN_RIGHT_H + +#include "pipe.h" + +class ElbowDownRight: public Pipe{ + + public: + + ElbowDownRight(); + ~ElbowDownRight(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); +}; + +#endif + diff --git a/src/elbowupleft.cpp b/src/elbowupleft.cpp new file mode 100644 index 0000000..f75ee1d --- /dev/null +++ b/src/elbowupleft.cpp @@ -0,0 +1,99 @@ +/*************************************************************************** + elbowupleft.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "elbowupleft.h" +#include "pointerelbowupleft.h" + +ElbowUpLeft::ElbowUpLeft():Pipe(){ + p=new PointerElbowUpLeft(); +} + +ElbowUpLeft::~ElbowUpLeft(){ + delete p; +} + +bool ElbowUpLeft::hasConnection(CardinalPoint con){ + return ((con==North) || (con==West)); +} + +CardinalPoint ElbowUpLeft::getOutput(CardinalPoint input){ + if (input==ro) return Void; + switch (input){ + case North: return West; + case West:return North; + default:return Void; + } +} + +void ElbowUpLeft::restrictAsOutput(CardinalPoint con){ + if (con==North || con==West) ro=con; +} + +bool ElbowUpLeft::isRestrictedAsOutput(CardinalPoint con){ + return (con==ro); +} + +void ElbowUpLeft::incFullLevel(CardinalPoint input,unsigned int amount){ + if ((input==North || input==West) && ro!=input) + if ((used_input==Void) || (used_input==input)){ + full_level+=amount; + used_input=input; + } +} + +int ElbowUpLeft::getFullLevel(CardinalPoint input){ + if (input==used_input) + return full_level; + return -1; +} + +Pointer * ElbowUpLeft::getPointer(){ + return p; +} + +void ElbowUpLeft::paint(VideoManager * vm){ + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("elbow_nwb.png")); + else + ima=(vm->getImageManager())->getImage(new Str("elbow_nw.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + float fwidth=(float)PipeWidth/2; + float fheight=(float)PipeHeight/2; + float nov=PI/2; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + int xaux=x-aux->width()/2; + int yaux=y-aux->width()/2; + if (used_input==North){ + for (int i=0; iblit(aux, xaux+(float)cos((float)i/(float)full() * nov)*fwidth, + yaux+(float)sin((float)i/(float)full() * nov)*fheight); + }else{ + for (int i=0; iblit(aux, xaux+(float)cos((float)(full()-i)/(float)full() * nov)*fwidth, + yaux+(float)sin((float)(full()-i)/(float)full() * nov)*fheight); + } + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} diff --git a/src/elbowupleft.h b/src/elbowupleft.h new file mode 100644 index 0000000..29bbad8 --- /dev/null +++ b/src/elbowupleft.h @@ -0,0 +1,48 @@ +/*************************************************************************** + elbowupleft.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef ELBOW_UP_LEFT_H +#define ELBOW_UP_LEFT_H + +#include "pipe.h" + +class ElbowUpLeft: public Pipe{ + + public: + + ElbowUpLeft(); + ~ElbowUpLeft(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); +}; + +#endif + diff --git a/src/elbowupright.cpp b/src/elbowupright.cpp new file mode 100644 index 0000000..b94509a --- /dev/null +++ b/src/elbowupright.cpp @@ -0,0 +1,99 @@ +/*************************************************************************** + elbowupright.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "elbowupright.h" +#include "pointerelbowupright.h" + +ElbowUpRight::ElbowUpRight():Pipe(){ + p=new PointerElbowUpRight(); +} + +ElbowUpRight::~ElbowUpRight(){ + delete p; +} + +bool ElbowUpRight::hasConnection(CardinalPoint con){ + return ((con==North) || (con==East)); +} + +CardinalPoint ElbowUpRight::getOutput(CardinalPoint input){ + switch (input){ + case North: return East; + case East:return North; + default:return Void; + } +} + +void ElbowUpRight::restrictAsOutput(CardinalPoint con){ + if (con==East || con==North) ro=con; +} + +bool ElbowUpRight::isRestrictedAsOutput(CardinalPoint con){ + return (con==ro); +} + +void ElbowUpRight::incFullLevel(CardinalPoint input,unsigned int amount){ + if ((input==North || input==East) && input!=ro) + if ((used_input==Void) || (used_input==input)){ + full_level+=amount; + used_input=input; + } +} + +int ElbowUpRight::getFullLevel(CardinalPoint input){ + if (input==used_input) + return full_level; + return 0; +} + +Pointer * ElbowUpRight::getPointer(){ + return p; +} + +void ElbowUpRight::paint(VideoManager * vm){ + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("elbow_neb.png")); + else + ima=(vm->getImageManager())->getImage(new Str("elbow_ne.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + float fwidth=(float)PipeWidth/2; + float fheight=(float)PipeHeight/2; + float nov=PI/2; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + int xaux=x+PipeWidth-aux->width()/2; + int yaux=y-aux->width()/2; + if (used_input==North){ + for (int i=0; iblit(aux, xaux-(float)cos((float)i/(float)full() * nov)*fwidth, + yaux+(float)sin((float)i/(float)full() * nov)*fheight); + }else{ + for (int i=0; iblit(aux, xaux-(float)cos((float)(full()-i)/(float)full() * nov)*fwidth, + yaux+(float)sin((float)(full()-i)/(float)full() * nov)*fheight); + } + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} + diff --git a/src/elbowupright.h b/src/elbowupright.h new file mode 100644 index 0000000..43db1e5 --- /dev/null +++ b/src/elbowupright.h @@ -0,0 +1,48 @@ +/*************************************************************************** + elbowupright.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef ELBOW_UP_RIGHT_H +#define ELBOW_UP_RIGHT_H + +#include "pipe.h" + +class ElbowUpRight: public Pipe{ + + public: + + ElbowUpRight(); + ~ElbowUpRight(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); +}; + +#endif + diff --git a/src/entry.cpp b/src/entry.cpp new file mode 100644 index 0000000..14f1318 --- /dev/null +++ b/src/entry.cpp @@ -0,0 +1,93 @@ +/*************************************************************************** + entry.cpp - description + ------------------- + begin : Wed Jan 10 1996 + copyright : (C) 1996 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "entry.h" + +Entry::Entry(CardinalPoint connection):Pipe(){ + con=connection; +} + +Entry::~Entry(){} + +bool Entry::hasConnection(CardinalPoint con){ + return (this->con==con); +} + +CardinalPoint Entry::getOutput(CardinalPoint input){ + return con; +} + +void Entry::incFullLevel(CardinalPoint input,unsigned int amount){ + full_level+=amount; + used_input=Void; +} + +int Entry::getFullLevel(CardinalPoint input){ + return this->full_level; +} + +Pointer * Entry::getPointer(){ + return NULL; +} + +bool Entry::isRemovable(){ + return false; +} + +void Entry::paint(VideoManager * vm){ + Image * aux; + Image * ima; + + if (con==East || con==West) + ima=(vm->getImageManager())->getImage(new Str("entry_h.png")); + else + ima=(vm->getImageManager())->getImage(new Str("entry_v.png")); + aux=new Image(ima); + switch (con){ + case South:{aux->flip(HAxis);aux->flip(VAxis);break;} + case West:{aux->flip(VAxis);break;} + default:break; + } + vm->blit(aux, x, y); + delete aux; + + if (full_level>0){ + ima=(vm->getImageManager())->getImage(new Str("flow.png")); + int xof=x+PipeWidth/2-ima->width()/2; + int yof=y+PipeHeight/2-ima->height()/2; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + switch (con){ + case North:case South:{ + float factor=0.5*(float)PipeHeight/(float)full(); + if (con==North) factor=-factor; + for (int i=0;iblit(ima, xof, yof+(float)i*factor); + break; + } + case East: case West:{ + float factor=0.5*(float)PipeWidth/(float)full(); + if (con==West) factor=-factor; + for (int i=0;iblit(ima, xof+(float)i*factor, yof); + } + default:break; + } + vm->enableClipping(false); + } +} + diff --git a/src/entry.h b/src/entry.h new file mode 100644 index 0000000..301bde5 --- /dev/null +++ b/src/entry.h @@ -0,0 +1,54 @@ +/*************************************************************************** + entry.h - description + ------------------- + begin : Wed Jan 10 1996 + copyright : (C) 1996 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef ENTRY_H +#define ENTRY_H + +#include "pipe.h" + +class Entry: public Pipe{ + + public: + + Entry(CardinalPoint connection); + ~Entry(); + + bool isRemovable(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con){}; + + bool isRestrictedAsOutput(CardinalPoint con){return true;}; + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); + + protected: + + CardinalPoint con; +}; + +#endif + diff --git a/src/eventmanager.cpp b/src/eventmanager.cpp new file mode 100644 index 0000000..e31941a --- /dev/null +++ b/src/eventmanager.cpp @@ -0,0 +1,65 @@ +/*************************************************************************** + eventmanager.cpp - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "eventmanager.h" + +EventManager::EventManager(){ + + SDL_EventState(SDL_MOUSEMOTION, SDL_IGNORE); + SDL_EventState(SDL_MOUSEBUTTONDOWN, SDL_IGNORE); + SDL_EventState(SDL_MOUSEBUTTONUP, SDL_IGNORE); + SDL_EventState(SDL_KEYUP, SDL_IGNORE); + SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + lista_streams=new List(); +} + +EventManager::~EventManager(){ + lista_streams->empty(true); + delete lista_streams; +} + +void EventManager::addStream(EventStream * s){ + lista_streams->insert(lista_streams->getEnd(), s); +} + +void EventManager::removeStream(EventStream * s){ + lista_streams->remove(lista_streams->indexOf(s)); +} + +void EventManager::pumpEvents(bool wait=false){ + SDL_Event event; + Index * stream; + bool got=false; + + do{ + while (SDL_PollEvent(&event)>0){ + got=true; + switch (event.type){ + case SDL_KEYDOWN:{ + stream=lista_streams->getFirst(); + while ((stream!=lista_streams->getEnd()) && + ((EventStream*)(lista_streams->getObject(stream)))->put(event.key.keysym.sym)){ + stream=lista_streams->getNext(stream); + } + } + default:break; + } + } + if (wait && !got) SDL_WaitEvent(NULL); + }while (wait && !got); +} + diff --git a/src/eventmanager.h b/src/eventmanager.h new file mode 100644 index 0000000..e6a42a6 --- /dev/null +++ b/src/eventmanager.h @@ -0,0 +1,51 @@ +/*************************************************************************** + eventmanager.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef EVENT_MANAGER_H +#define EVENT_MANAGER_H + +#include "object.h" +#include "SDL.h" +#include "list.h" +#include "eventstream.h" + +class EventManager: public Object{ + + public: + + EventManager(); + ~EventManager(); + + void addStream(EventStream * s); + + /** Los streams no son liberados ni al hacer + remove ni en el destructor.*/ + void removeStream(EventStream * s); + + /** Pasa todos los eventos de los dispositivos + a los streams. Si no hubo eventos en los dispositivos: + si wait=true espera hasta que pueda pasar uno, + si wait=false retorna.*/ + + void pumpEvents(bool wait=false); + + protected: + + List * lista_streams; +}; +#endif + diff --git a/src/eventstream.cpp b/src/eventstream.cpp new file mode 100644 index 0000000..85538de --- /dev/null +++ b/src/eventstream.cpp @@ -0,0 +1,51 @@ +/*************************************************************************** + eventstream.cpp - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "eventstream.h" + +EventStream::EventStream():Object(){ + ul=dl=0; + npairs=0; +} + +EventStream::~EventStream(){} + +bool EventStream::put(SDLKey e){ + int i; + for (i=0;icon==con); +} + +CardinalPoint Exit::getOutput(CardinalPoint input){ + return Void; +} + +bool Exit::isRemovable(){ + return false; +} + +void Exit::incFullLevel(CardinalPoint input,unsigned int amount){ + full_level+=amount; + used_input=Void; +} + +int Exit::getFullLevel(CardinalPoint input){ + return this->full_level; +} + +Pointer * Exit::getPointer(){ + return NULL; +} + +void Exit::paint(VideoManager * vm){ + Image * aux, *ima; + + if (con==East || con==West) + ima=(vm->getImageManager())->getImage(new Str("exit_h.png")); + else + ima=(vm->getImageManager())->getImage(new Str("exit_v.png")); + aux=new Image(ima); + switch (con){ + case South:{aux->flip(HAxis);break;} + case West:{aux->flip(VAxis);break;} + default:break; + } + vm->blit(aux, x, y); + delete aux; + + if (full_level>0){ + ima=(vm->getImageManager())->getImage(new Str("flow.png")); + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + switch (con){ + case North:case South:{ + int xof=x+PipeWidth/2-ima->width()/2; + int yof; + float factor=(float)PipeHeight/(float)(full()); + if (con==North) yof=y-ima->height()/2; + else{ + yof=y+PipeHeight-ima->height()/2; + factor =-factor; + } + for (int i=0;iblit(ima, xof, yof+(float)i*factor); + break; + } + case East: case West:{ + int xof; + int yof=y+PipeHeight/2-ima->height()/2;; + float factor=(float)PipeWidth/(float)(full()); + if (con==West) xof=x-ima->width()/2; + else{ + xof=x+PipeWidth-ima->width()/2; + factor =-factor; + } + for (int i=0;iblit(ima, xof+(float)i*factor, yof); + break; + } + default:break; + } + vm->enableClipping(false); + } +} + diff --git a/src/exit.h b/src/exit.h new file mode 100644 index 0000000..c6a3a1d --- /dev/null +++ b/src/exit.h @@ -0,0 +1,54 @@ +/*************************************************************************** + exit.h - description + ------------------- + begin : Sat Oct 21 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef EXIT_H +#define EXIT_H + +#include "pipe.h" + +class Exit: public Pipe{ + + public: + + Exit(CardinalPoint connection); + ~Exit(); + + bool isRemovable(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con){}; + + bool isRestrictedAsOutput(CardinalPoint con){return false;}; + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); + + protected: + + CardinalPoint con; +}; + +#endif + diff --git a/src/graphic.cpp b/src/graphic.cpp new file mode 100644 index 0000000..9e0867e --- /dev/null +++ b/src/graphic.cpp @@ -0,0 +1,122 @@ +/*************************************************************************** + graphic.cpp - description + ------------------- + begin : Sat Oct 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "graphic.h" +#include + +Graphic::Graphic():Surface(){ + pixels=NULL; + clip_active=false; +}; + +Graphic::Graphic(int width, int height) + :Surface(width, height){ + pixels=NULL; + clip_active=false; +} + +Graphic::Graphic(Graphic * g){ + pixels= malloc(g->surface->w*g->surface->h*g->surface->format->BytesPerPixel); + memcpy(pixels, g->surface->pixels,g->surface->w*g->surface->h*g->surface->format->BytesPerPixel); + + surface=SDL_CreateRGBSurfaceFrom(pixels, + g->surface->w, g->surface->h, g->surface->format->BitsPerPixel, + g->surface->pitch, g->surface->format->Rmask, g->surface->format->Gmask, + g->surface->format->Bmask, g->surface->format->Amask); + clip_active=false; +} + +Graphic::~Graphic(){ + if (pixels) free(pixels); +} + +void Graphic::setAlpha(char value=OPAQUE){ + SDL_SetAlpha(surface, SDL_SRCALPHA, value); +} + +void Graphic::enableClipping(bool flag=true){ + + if (flag){ + SDL_Rect rect; + rect.x=clip_x; + rect.y=clip_y; + rect.w=clip_width; + rect.h=clip_height; + SDL_SetClipRect(surface, &rect); + }else + SDL_SetClipRect(surface, NULL); +} + +void Graphic::setClipping(int x, int y, int width, int height){ + clip_y=y; + clip_x=x; + clip_width=width; + clip_height=height; +} + +void Graphic::flip(Axis a=HAxis){ + if (surface){ + if (SDL_MUSTLOCK(surface)) + if (SDL_LockSurface(surface)<0) return; + int i,j,width=surface->w, height=surface->h, aw,bw; + Uint32 * p, *q, aux, *ap; + p=(Uint32*)(surface->pixels); + if (a==HAxis){ + q=p+width*height-1; + height/=2; + for (j=0;j>1; + bw=width-1; + for (j=0;jformat, r, g, b)); +} + +void Graphic::fillRect(int x, int y, int w, int h, int r, int g, int b, int a){ + SDL_Rect rect; + + rect.x=x; + rect.y=y; + rect.w=w; + rect.h=h; + + SDL_FillRect(surface, &rect, SDL_MapRGBA(surface->format, r, g, b, a)); +} + diff --git a/src/graphic.h b/src/graphic.h new file mode 100644 index 0000000..ff6593a --- /dev/null +++ b/src/graphic.h @@ -0,0 +1,67 @@ +/*************************************************************************** + graphic.h - description + ------------------- + begin : Sat Oct 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef GRAPHIC_H +#define GRAPHIC_H + +#include "surface.h" +#include "SDL.h" +#include // Only for Red Hat + + +#define OPAQUE 255 +#define TRANSPARENT 0 + + +enum Axis {HAxis, VAxis}; + +class Graphic: public Surface{ + + public: + + Graphic(); + + Graphic(Graphic * g); + + Graphic(int width, int height); + + virtual ~Graphic(); + + void setAlpha(char value=OPAQUE); + + /** Enable or disable clipping.*/ + void enableClipping(bool flag=true); + + /** Establish the cliping zone.*/ + void setClipping(int top, int left, int bottom, int right); + + virtual void flip(Axis a=HAxis); + + virtual void fill(int r, int g, int b); + + virtual void fillRect(int x, int y, int w, int h, int r, int g, int b, int a); + + protected: + + int clip_x, clip_y, clip_width, clip_height; + bool clip_active; + void * pixels; +}; + + +#endif + diff --git a/src/hash.cpp b/src/hash.cpp new file mode 100644 index 0000000..a8be35d --- /dev/null +++ b/src/hash.cpp @@ -0,0 +1,153 @@ +/*************************************************************************** + hash.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include +#include +#include "hash.h" +#include + +Hash::Bucket::Bucket(Str * str, Object * obj){ + this->str=str; + this->obj=obj; +} + +Hash::Bucket::~Bucket(){ + delete str; +} + +void Hash::Bucket::setStr(Str * str){ + if (this->str) delete this->str; + this->str=str; +} + +void Hash::Bucket::setObject(Object * obj){ + this->obj=obj; +} + +Str * Hash::Bucket::getStr(){ + return str; +} + +Object * Hash::Bucket::getObject(){ + return obj; +} + +int Hash::function(Str * str){ + int i=0, sum=0; + const char * aux=str->get(); + + while (aux[i]!='\0') sum+=aux[i++]; + + return(sum % nbuckets); +} + +Hash::Hash(int bs=256){ + int i; + nbuckets=bs; + lbuckets=new (List *)[nbuckets]; + + for (i=0;iempty(false); + delete list; + } + delete[] lbuckets; +} + +Hash::Result Hash::add(Str * str, Object * obj){ + if (str){ +// Index * i; + List * list; + list=lbuckets[function(str)]; + if (list->nObjects()>0){ + /* + for (i=list->getFirst();i!=list->getEnd();i=list->getNext(i)){ + if (((Bucket*)list->getObject(i))->getStr()->isEqual(str)){ + ((Bucket*)list->getObject(i))->setObject(obj); + return AddedOverwrite; + } + } + */ + list->insert(list->getFirst(), new Bucket(str, obj)); + return AddedCollision; + }else{ + list->insert(list->getFirst(), new Bucket(str, obj)); + return AddedNoCollision; + } + } + return NotAdded; +} + +Hash::Result Hash::remove(Str * str, bool del=false){ + if (str){ + Index * i; + List * list=lbuckets[function(str)]; + + for (i=list->getFirst();i!=list->getEnd();i=list->getNext(i)) + if (((Bucket *)list->getObject(i))->getStr()->isEqual(str)){ + if (del) + delete ((Bucket *)list->getObject(i))->getObject(); + list->remove(i, true); + delete str; + return Removed; + } + delete str; + } + return NotFound; +} + +Object * Hash::find(Str * str){ + if (str){ + Index * i; + List * list=lbuckets[function(str)]; + + i=list->getFirst(); + while (i!=list->getEnd()){ + if (((Bucket *)list->getObject(i))->getStr()->isEqual(str)){ + delete str; + return ((Bucket *)list->getObject(i))->getObject(); + } + i=list->getNext(i); + } + delete str; + } + return NULL; +} + +void Hash::empty(bool del=true){ + int i; + List * list; + for (i=0;igetFirst(); + while (idx!=list->getEnd()){ + delete ((Bucket*)list->getObject(idx))->getObject(); + idx=list->getNext(idx); + } + } + list->empty(del); + } +} + diff --git a/src/hash.h b/src/hash.h new file mode 100644 index 0000000..f70a9df --- /dev/null +++ b/src/hash.h @@ -0,0 +1,92 @@ +/*************************************************************************** + hash.h - description + ------------------- + begin : Tue Aug 22 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef HASH_H +#define HASH_H + +#include "object.h" +#include "str.h" +#include "list.h" + +/** Implementación de tabla hash. */ + +class Hash: public Object{ + + public: + + enum Result {AddedNoCollision, AddedCollision, AddedOverwrite, + Removed, NotFound, NotAdded}; + + /** Constructor default. + @param bs Cantidad de buckets a reservar. + */ + Hash(int bs=256); + + /** Destructor. */ + virtual ~Hash(); + + /** Inserta un objeto asociado a una cadena en la tabla. + @param str La cadena en cuestión, no debe utilizarse ni liberarse, + luego de usarla como parámetro a esta funcion. + @param obj El objeto en cuestion. + @return AddedNoCollision, AddedCollision, o AddedOverwrite, NotAdded. + */ + Result add(Str * str, Object * obj); + + /** Busca el objeto asociado a la cadena dada. Retorna NULL + si no lo encuentra.*/ + Object * find(Str * str); + + /** Quita de la tabla el objeto asociado a la cadena str. + @param del Si es true el objeto es eliminado. + @return Removed o NotFound. + */ + Result remove(Str * str, bool del=false); + + /** Quita todos los objetos de la tabla. + @param del Si es true los elimina. + */ + void empty(bool del=true); + + protected: + + int nbuckets; + List ** lbuckets; + + virtual int function(Str * str); + + class Bucket: public Object{ + + public: + + Bucket(Str * str, Object * obj); + ~Bucket(); + + void setStr(Str * str); + void setObject(Object * obj); + + Str * getStr(); + Object * getObject(); + + protected: + Str * str; + Object * obj; + }; +}; +#endif + + diff --git a/src/horizontal.cpp b/src/horizontal.cpp new file mode 100644 index 0000000..9dc7874 --- /dev/null +++ b/src/horizontal.cpp @@ -0,0 +1,103 @@ +/*************************************************************************** + horizontal.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "horizontal.h" +#include "pointerhorizontal.h" + +Horizontal::Horizontal():Pipe(){ + p=new PointerHorizontal(); +} + +Horizontal::~Horizontal(){ + delete p; +} + +bool Horizontal::hasConnection(CardinalPoint con){ + return ((con==West) || (con==East)); +} + +CardinalPoint Horizontal::getOutput(CardinalPoint input){ + if (input==ro) return Void; + switch (input){ + case West: return East; + case East:return West; + default:return Void; + } +} + +void Horizontal::restrictAsOutput(CardinalPoint con){ + if (con==East || con==West) ro=con; +} + +bool Horizontal::isRestrictedAsOutput(CardinalPoint con){ + return (con==ro); +} + +void Horizontal::incFullLevel(CardinalPoint input,unsigned int amount){ + if (input==West || input==East) + if ((used_input==Void || used_input==input) && input!=ro){ + full_level+=amount; + used_input=input; + } +} + +int Horizontal::getFullLevel(CardinalPoint input){ + if (input==used_input) + return full_level; + return 0; +} + +Pointer * Horizontal::getPointer(){ + return p; +} + +void Horizontal::paint(VideoManager * vm){ + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("horizontal_b.png")); + else + ima=(vm->getImageManager())->getImage(new Str("horizontal.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + paintFlow(vm); +} + +void Horizontal::paintFlow(VideoManager * vm){ + + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + int yof=y+(PipeHeight-aux->height())/2; + int total,f; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + if (used_input==West){ + total=x-aux->width()/2; + f=1; + } + else{ + total=x+PipeWidth-aux->width()/2; + f=-1; + } + for (int i=0; iblit(aux, total+f*(float)i/(float)full()*(float)PipeWidth, yof); + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} + diff --git a/src/horizontal.h b/src/horizontal.h new file mode 100644 index 0000000..86f3efc --- /dev/null +++ b/src/horizontal.h @@ -0,0 +1,52 @@ +/*************************************************************************** + horizontal.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef HORIZONTAL_H +#define HORIZONTAL_H + +#include "pipe.h" + +class Horizontal: public Pipe{ + + public: + + Horizontal(); + ~Horizontal(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); + + protected: + + void paintFlow(VideoManager * vm); +}; + +#endif + diff --git a/src/horizontalbowl.cpp b/src/horizontalbowl.cpp new file mode 100644 index 0000000..2d60b20 --- /dev/null +++ b/src/horizontalbowl.cpp @@ -0,0 +1,62 @@ +/*************************************************************************** + horizontalbowl.cpp - description + ------------------- + begin : Thu Dec 28 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "pipe.h" +#include "horizontalbowl.h" +#include "pointerhorizontalbowl.h" + +HorizontalBowl::HorizontalBowl():Horizontal(){ + delete p; /* Esto es asqueroso pero no encontré otra solución para + llamar solo a Pipe()*/ + p=new PointerHorizontalBowl(); + bowl_level=0; +} + +void HorizontalBowl::incFullLevel(CardinalPoint input,unsigned int amount){ + if (input==West || input==East) + if ((used_input==Void || used_input==input) && input!=ro){ + if (bowl_level>=BowlCapacity) + full_level+=amount; + else + if (full_level>DefaultCapacity/2) + bowl_level+=amount; + else + full_level+=amount; + used_input=input; + } +} + +void HorizontalBowl::paint(VideoManager * vm){ + + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("bowl_hb.png")); + else + ima=(vm->getImageManager())->getImage(new Str("bowl_h.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + paintFlow(vm); + + if (bowl_level>BowlCapacity/2){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow_big.png")); + vm->blit(aux, x, y); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} + diff --git a/src/horizontalbowl.h b/src/horizontalbowl.h new file mode 100644 index 0000000..719b5b6 --- /dev/null +++ b/src/horizontalbowl.h @@ -0,0 +1,40 @@ +/*************************************************************************** + horizontalbowl.h - description + ------------------- + begin : Mon Jan 1 1996 + copyright : (C) 1996 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef HORIZONTAL_BOWL_H +#define HORIZONTAL_BOWL_H + +#include "horizontal.h" + +class HorizontalBowl: public Horizontal{ + + public: + + HorizontalBowl(); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + void paint(VideoManager * vm); + + protected: + + static const int BowlCapacity=500; + int bowl_level; +}; + +#endif + diff --git a/src/image.cpp b/src/image.cpp new file mode 100644 index 0000000..b4e6be5 --- /dev/null +++ b/src/image.cpp @@ -0,0 +1,42 @@ +/*************************************************************************** + image.cpp - description + ------------------- + begin : Sat Aug 19 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "image.h" +#include "SDL_image.h" +#include + +Image::Image(Str * filename=NULL):Graphic(){ + if (filename) load(filename); +} + +Image::Image(Image * im):Graphic(im){} + +void Image::load(Str * filename){ + SDL_Surface * aux_surface; + + IMG_InvertAlpha(1); + if (surface) SDL_FreeSurface(surface); + aux_surface=IMG_Load(filename->get()); + if (!aux_surface){ + printf("Fatal Error : File %s not found\n", filename->get()); + exit(-1); + } + surface=SDL_DisplayFormatAlpha(aux_surface); + SDL_FreeSurface(aux_surface); + delete filename; +} + diff --git a/src/image.h b/src/image.h new file mode 100644 index 0000000..74a54bf --- /dev/null +++ b/src/image.h @@ -0,0 +1,45 @@ +/*************************************************************************** + image.h - description + ------------------- + begin : Sat Aug 19 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + + +#ifndef IMAGE_H +#define IMAGE_H + +#include "graphic.h" +#include "str.h" +#include "SDL.h" + +class Image: public Graphic{ + + public: + + /** Constructor. + @param filename La imagen filename es cargada. Debe ser distinto de NULL. + */ + Image(Str * filename=NULL); + + Image(Image * im); + + /** Destructor.*/ + virtual ~Image(){}; + + protected: + + void load(Str * filename); +}; +#endif + diff --git a/src/imagemanager.cpp b/src/imagemanager.cpp new file mode 100644 index 0000000..3e84ef8 --- /dev/null +++ b/src/imagemanager.cpp @@ -0,0 +1,113 @@ +/*************************************************************************** + imagemanager.cpp - description + ------------------- + begin : Sat Aug 19 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "imagemanager.h" + +ImageManager::ImageManager():Object(){ + hash=new Hash(); + dirs=new List(); + base_dir=new Str(""); + dirs->insert(dirs->getFirst(), new Str("")); +} + +ImageManager::~ImageManager(){ + hash->empty(true); + dirs->empty(true); + delete base_dir; + delete hash; + delete dirs; +} + +void ImageManager::setBaseDir(Str * dir){ + delete base_dir; + base_dir=dir; +} + +Image * ImageManager::preLoadImage(Str * filename){ + Str * aux; + Str * sub_dir=NULL; + FILE * file; + Image * ima=NULL; + Index * ind = dirs->getFirst(); + while (!ima && ind!=dirs->getEnd()){ + sub_dir=new Str((Str*)(dirs->getObject(ind))); + sub_dir->concat("/"); + sub_dir->concat(filename); + aux=new Str(base_dir); + aux->concat("/"); + aux->concat(sub_dir); + if ((file=fopen(aux->get(), "r"))){ + fclose(file); + ima = new Image(new Str(aux)); + hash->add(sub_dir, ima); + delete aux; + delete filename; + }else{ + delete aux; + delete sub_dir; + } + ind=dirs->getNext(ind); + } + return (ima); +} + +Image * ImageManager::getImage(Str * filename){ + Image * ima=NULL; + Index * ind = dirs->getFirst(); + Str * aux; + Str slash = Str("/"); + while ((!ima) && (ind!=dirs->getEnd())){ + aux = new Str((Str*)(dirs->getObject(ind))); + aux->concat(&slash); + aux->concat(filename); + ima = (Image *)hash->find(aux); + ind=dirs->getNext(ind); + } + if (!ima) ima=preLoadImage(new Str(filename)); + if (ima){ + delete filename; + return ima; + } + printf("Fatal error: File %s not found\n", filename->get()); + delete filename; + exit(-1); +} + +void ImageManager::addDir(Str * dir){ + dirs->insert(dirs->getEnd(), dir); +} + +void ImageManager::addDirList(List * dir_list){ + Index * ind=dir_list->getFirst(); + while (!dir_list->isEnd(ind)){ + addDir((Str*)(dir_list->getObject(ind))); + ind=dir_list->getNext(ind); + } + dir_list->empty(false); + delete dir_list; +} + +void ImageManager::clearDirs(){ + dirs->empty(true); + dirs->insert(dirs->getFirst(), new Str("")); +} + +void ImageManager::empty(){ + hash->empty(true); + clearDirs(); +} + diff --git a/src/imagemanager.h b/src/imagemanager.h new file mode 100644 index 0000000..b250e38 --- /dev/null +++ b/src/imagemanager.h @@ -0,0 +1,73 @@ +/*************************************************************************** + imagemanager.h - description + ------------------- + begin : Sat Aug 19 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef IMAGE_MANAGER_H +#define IMAGE_MANAGER_H + +#include "object.h" +#include "str.h" +#include "hash.h" +#include "image.h" + +/** Es la encargada de manejar la carga y liberación de grupos de + imágenes. +*/ + +class ImageManager: public Object{ + + public: + /** Constructor default. */ + ImageManager(); + + /** Destructor.*/ + virtual ~ImageManager(); + + /** Asigna el directorio base de las imagenes.*/ + void setBaseDir(Str * dir); + + /** Precarga una imagen. En caso de que el archivo no exista + no la precarga. Si una imagen con el mismo nombre ya existe + el comportamiento es indefinido. + */ + Image * preLoadImage(Str * filename); + + /** Retorna una imagen. La carga si no la tiene ya cargada. + retorna NULL si el archivo no existe.*/ + Image * getImage(Str * filename); + + /** Agrega un directorio a la lista de busqueda de imagenes*/ + void addDir(Str * dir); + + /** Vacia la lista de directorios.*/ + void clearDirs(); + + /** Agrega una lista de directorios*/ + void addDirList(List * dir_list); + + void empty(); + + protected: + + Hash * hash; + List * dirs; + Str * base_dir; + +}; + +#endif + + diff --git a/src/level.h b/src/level.h new file mode 100644 index 0000000..dedaba4 --- /dev/null +++ b/src/level.h @@ -0,0 +1,122 @@ +/*************************************************************************** + level.h - description + ------------------- + begin : Fri Dec 8 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef LEVEL_H +#define LEVEL_H + +#include "object.h" +#include "str.h" +#include "entry.h" +#include "exit.h" +#include "list.h" +#include "board.h" + +class Level: public Object{ + public: + + /** Constructor default.*/ + Level(); + + /** Destructor*/ + ~Level(); + + /** Returns the entry*/ + Entry * getEntry(int& row, int& column); + + /** Returns the exit*/ + Exit * getExit(int& row, int& column); + + /** Returns the probability coeficient of fixed pipes*/ + int getFixedCoef(); + + /** Returns the probability coeficient of restricted pipes*/ + int getRestrictionCoef(); + + /** Returns the time to wait until start*/ + int getStartDelay(); + + /** Returns the speed*/ + int getSpeed(); + + /** Returns the number of required pipes.*/ + int getRequired(); + + /** Returns a list with the graph directories*/ + List * getGraphDirs(); + + /** Returns the first pipe index*/ + int getPipeIndex(); + + /** Returns the background type*/ + BackgroundType getBackgroundType(); + + /** Returns the next pipe, NULL if it does not exist*/ + Pipe * getPipe(int& i, int& row, int& column); + + /** Carga el nivel en el board.*/ + int load(Str * filename); + + protected: + + enum PipeType {ElbowNW, ElbowNE, ElbowSW, ElbowSE, + BowlH, BowlV, Vert, Horiz, CrossPipe}; + + int numberAssignment(); + Str * stringAssignment(); + CardinalPoint sideAssignment(); + PipeType pipeTypeAssignment(); + Bonus bonusAssignment(); + bool boolAssignment(); + BackgroundType backgroundAssignment(); + + void ee(); + void pipe(); + void level(); + void printError(Str * s); + + int token; + int level_number; + + bool error; + int error_line; + + bool entry_ready; + bool exit_ready; + + int start_delay; + int restrict_coef; + int fixed_coef; + int speed; + int required; + BackgroundType background; + + List * graph_dirs; + + struct { + int row; + int column; + PipeType type; + CardinalPoint restricted_output1; + CardinalPoint restricted_output2; + Bonus bonus; + bool fixed; + }pipetable[BoardRows*BoardColumns]; //Full Board + int npipes; +}; + +#endif + diff --git a/src/level.ll b/src/level.ll new file mode 100644 index 0000000..26e7608 --- /dev/null +++ b/src/level.ll @@ -0,0 +1,615 @@ +/************************************************************************ + ------------------- + begin : Fri Dec 8 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +%{ +#include "level.h" +#include "pipe.h" +#include "elbowupleft.h" +#include "elbowupright.h" +#include "elbowdownleft.h" +#include "elbowdownright.h" +#include "vertical.h" +#include "horizontal.h" +#include "verticalbowl.h" +#include "horizontalbowl.h" +#include "cross.h" +#include "entry.h" +#include "exit.h" + +#define NUMBER 1 +#define LEVEL 2 +#define SPEED 3 +#define GRAPH_DIR 4 +#define PIPENIGHTDREAMS 5 +#define ENTRY 6 +#define EXIT 7 +#define ROW 8 +#define COLUMN 9 +#define SIDE 10 +#define O_BLOCK 11 +#define C_BLOCK 12 +#define DOUBLE_COUTE 13 +#define EQUAL 15 +#define SEMICOLON 16 +#define EOFILE 17 +#define NORTH 18 +#define SOUTH 19 +#define WEST 20 +#define EAST 21 +#define STRING 22 +#define START_DELAY 23 +#define RESTRICT_COEF 24 +#define FIXED_COEF 25 +#define PIPE 26 +#define REQUIRED 150 + +#define TYPE 27 +// Possible values for TYPE +#define ELBOW_NW 28 +#define ELBOW_NE 29 +#define ELBOW_SW 30 +#define ELBOW_SE 31 +#define BOWL_H 32 +#define BOWL_V 33 +#define HORIZONTAL 34 +#define VERTICAL 35 +#define CROSS 36 + +#define RESTRICTED_OUTPUT 37 + +#define BONUS 38 +// Possible values for BONUS +#define NORMAL 40 +#define SUPER 41 +#define ULTRA 42 +#define HYPER 43 +#define EXTRA_LIFE 44 +#define EXTRA_TIME 45 + +#define FIXED 46 + +#define TRUE 47 +#define FALSE 48 + +#define BACKGROUND 49 +//Posibles valores para background +#define WALLPAPER 50 +#define MOSAIC 51 + + +#define INVALID 100 + +int nline; +%} + +%option noyywrap +%option nounput + +DIGIT [0-9] +SEP [ \t]+ + +%% + +#.+\n nline++; +\n nline++; +{DIGIT}+ return NUMBER; +level return LEVEL; +speed return SPEED; +entry return ENTRY; +exit return EXIT; +row return ROW; +column return COLUMN; +side return SIDE; +graph_dir return GRAPH_DIR; +pipenightdreams return PIPENIGHTDREAMS; +start_delay return START_DELAY; +restrict_coef return RESTRICT_COEF; +fixed_coef return FIXED_COEF; += return EQUAL; +\{ return O_BLOCK; +\} return C_BLOCK; +\" return DOUBLE_COUTE; +; return SEMICOLON; +<> return EOF; +north return NORTH; +south return SOUTH; +west return WEST; +east return EAST; +pipe return PIPE; +type return TYPE; +elbow_nw return ELBOW_NW; +elbow_ne return ELBOW_NE; +elbow_sw return ELBOW_SW; +elbow_se return ELBOW_SE; +bowl_h return BOWL_H; +bowl_v return BOWL_V; +horizontal return HORIZONTAL; +vertical return VERTICAL; +cross return CROSS; +restricted_output return RESTRICTED_OUTPUT; +bonus return BONUS; +normal return NORMAL; +super return SUPER; +ultra return ULTRA; +hyper return HYPER; +life return EXTRA_LIFE; +time return EXTRA_TIME; +fixed return FIXED; +background return BACKGROUND; +wallpaper return WALLPAPER; +mosaic return MOSAIC; +required return REQUIRED; +yes return TRUE; +true return TRUE; +no return FALSE; +false return FALSE; +\".+\" return STRING; +{SEP} +. return INVALID; +%% + +Level::Level(){ + level_number=0; + error=false; + entry_ready=false; + npipes=0; + start_delay=-1; + restrict_coef=-1; + fixed_coef=-1; + speed=1; + required=0; + graph_dirs=NULL; + background=MosaicBackground; +} + +Level::~Level(){ + if (graph_dirs){ + graph_dirs->empty(true); + delete graph_dirs; + } +} + +void Level::printError(Str * s){ + error=true; + printf("Level error:%i:%s\n", nline, s->get()); + delete s; +} + +CardinalPoint Level::sideAssignment(){ + int aux_token; + + if (yylex()==EQUAL){ + aux_token=yylex(); + token=yylex(); + switch (aux_token){ + case NORTH: return North; + case SOUTH: return South; + case WEST: return West; + case EAST: return East; + default: printError(new Str("Invalid side")); + } + }else + printError(new Str("'=' expected")); + return Void; +} + +int Level::numberAssignment(){ + int aux; + + if (yylex()==EQUAL) + if (yylex()==NUMBER){ + aux=atoi(yytext); + token=yylex(); + return aux; + }else printError(new Str("number expected")); + else printError(new Str("'=' expected")); + return 0; +} + +Str * Level::stringAssignment(){ + Str * s; + + if (yylex()==EQUAL) + if (yylex()==STRING){ + s=new Str(yytext); + token=yylex(); + return s; + }else printError(new Str("string expected")); + else printError(new Str("'=' expected")); + return NULL; +} + +Level::PipeType Level::pipeTypeAssignment(){ + int aux_token; + if (yylex()==EQUAL){ + aux_token=yylex(); + token=yylex(); + switch (aux_token){ + case ELBOW_NW : return ElbowNW; + case ELBOW_NE : return ElbowNE; + case ELBOW_SW : return ElbowSW; + case ELBOW_SE : return ElbowSE; + case BOWL_H : return BowlH; + case BOWL_V : return BowlV; + case VERTICAL : return Vert; + case HORIZONTAL: return Horiz; + case CROSS : return CrossPipe; + default:{ + printError(new Str("pipe type not valid")); + } + } + }else printError(new Str("'=' expected")); + return ElbowNW; +} + +Bonus Level::bonusAssignment(){ + int aux_token; + if (yylex()==EQUAL){ + aux_token=yylex(); + token=yylex(); + switch (aux_token){ + case NORMAL : return NormalBonus; + case SUPER : return SuperBonus; + case ULTRA : return UltraBonus; + case HYPER : return HyperBonus; + case EXTRA_LIFE: return LifeBonus; + case EXTRA_TIME: return TimeBonus; + default:{ + printError(new Str("bonus type not valid")); + break; + } + } + }else printError(new Str("'=' expected")); + return NormalBonus; +} + +bool Level::boolAssignment(){ + bool aux; + if (yylex()==EQUAL){ + switch (yylex()){ + case TRUE : {aux=true;break;} + case FALSE : {aux=false;break;} + default:{ + printError(new Str("not boolean type")); + break; + } + } + token=yylex(); + return aux; + }else printError(new Str("'=' expected")); + return false; +} + +BackgroundType Level::backgroundAssignment(){ + int aux_token; + if (yylex()==EQUAL){ + aux_token=yylex(); + token=yylex(); + switch (aux_token){ + case WALLPAPER : return WallpaperBackground; + case MOSAIC : return MosaicBackground; + default:break; + } + }else printError(new Str("'=' expected")); + return MosaicBackground; +} + + +Entry * Level::getEntry(int& row, int& column){ + Entry * entry= new Entry(pipetable[0].restricted_output1); + row=pipetable[0].row; + column=pipetable[0].column; + return entry; +} + +Exit * Level::getExit(int& row, int& column){ + Exit * exit= new Exit(pipetable[1].restricted_output1); + row=pipetable[1].row; + column=pipetable[1].column; + return exit; +} + +int Level::getFixedCoef(){ + return fixed_coef; +} + +int Level::getRestrictionCoef(){ + return restrict_coef; +} + +int Level::getStartDelay(){ + return start_delay; +} + +int Level::getSpeed(){ + return speed; +} + +int Level::getRequired(){ + return required; +} + +BackgroundType Level::getBackgroundType(){ + return background; +} + +List * Level::getGraphDirs(){ + List * list=new List(); + Index * ind=graph_dirs->getFirst(); + while (!graph_dirs->isEnd(ind)){ + list->insert(list->getEnd(), new Str((Str*)(graph_dirs->getObject(ind)))); + ind=graph_dirs->getNext(ind); + } + return list; +} + +int Level::getPipeIndex(){ + return 2; +} + +Pipe * Level::getPipe(int& i, int& row, int& column){ + Pipe * pipe; + + if (i < npipes && i > 1){ + switch (pipetable[i].type){ + case ElbowNW:{ + pipe=new ElbowUpLeft(); + break; + } + case ElbowNE:{ + pipe=new ElbowUpRight(); + break; + } + case ElbowSW:{ + pipe=new ElbowDownLeft(); + break; + } + case ElbowSE:{ + pipe=new ElbowDownRight(); + break; + } + case Vert:{ + pipe=new Vertical(); + break; + } + case Horiz:{ + pipe=new Horizontal(); + break; + } + case BowlH:{ + pipe=new HorizontalBowl(); + break; + } + case BowlV:{ + pipe=new VerticalBowl(); + break; + } + case CrossPipe:{ + pipe=new Cross(); + break; + } + } + pipe->setBonus(pipetable[i].bonus); + if (pipetable[i].restricted_output1 != Void) + pipe->restrictAsOutput(pipetable[i].restricted_output1); + if (pipetable[i].restricted_output2 != Void) + pipe->restrictAsOutput(pipetable[i].restricted_output2); + pipe->setFixed(pipetable[i].fixed); + row=pipetable[i].row; + column=pipetable[i].column; + i++; + return pipe; + } + return NULL; +} + +void Level::ee(){ + int row=0, column=0; + CardinalPoint con=North; + int aux_token=token; + + if (token==ENTRY || token==EXIT){ + if (yylex()==O_BLOCK){ + token=yylex(); + while (token!=C_BLOCK && !error){ + switch (token){ + case ROW:{ + row=numberAssignment(); + break; + } + case COLUMN:{ + column=numberAssignment(); + break; + } + case SIDE:{ + con=sideAssignment(); + break; + } + default:{ + if (aux_token==ENTRY) + printError(new Str("invalid word in entry structure")); + else + printError(new Str("invalid word in exit structure")); + } + } + } + if (!error) { + token=yylex(); + if (aux_token==ENTRY){ + pipetable[0].row=row; + pipetable[0].column=column; + pipetable[0].restricted_output1=con; + entry_ready=true; + }else{ + pipetable[1].row=row; + pipetable[1].column=column; + pipetable[1].restricted_output1=con; + exit_ready=true; + } + } + }else printError(new Str("'{' expected")); + }else printError(new Str("'entry' or 'exit' expected")); +} + +void Level::pipe(){ + + pipetable[npipes].row=0; + pipetable[npipes].column=0; + pipetable[npipes].type=ElbowNW; + pipetable[npipes].restricted_output1=Void; + pipetable[npipes].restricted_output2=Void; + pipetable[npipes].bonus=NormalBonus; + pipetable[npipes].fixed=false; + + if (token==PIPE){ + if (yylex()==O_BLOCK){ + token=yylex(); + while (token!=C_BLOCK && !error){ + switch (token){ + case ROW:{ + pipetable[npipes].row=numberAssignment(); + break; + } + case COLUMN:{ + pipetable[npipes].column=numberAssignment(); + break; + } + case TYPE:{ + pipetable[npipes].type=pipeTypeAssignment(); + break; + } + case RESTRICTED_OUTPUT:{ + if (pipetable[npipes].restricted_output1!=Void){ + if (pipetable[npipes].restricted_output2!=Void) + pipetable[npipes].restricted_output1=pipetable[npipes].restricted_output2; + pipetable[npipes].restricted_output2=sideAssignment(); + }else pipetable[npipes].restricted_output1=sideAssignment(); + break; + } + case BONUS:{ + pipetable[npipes].bonus=bonusAssignment(); + break; + } + case FIXED:{ + pipetable[npipes].fixed=boolAssignment(); + break; + } + default:printError(new Str("invalid word in pipe structure")); + } + } + npipes++; + token=yylex(); + }else printError(new Str("'{' expected")); + }else printError(new Str("'pipe' expected")); +} + + +void Level::level(){ + Str * s; + + /** Default values for a level*/ + entry_ready=false; + exit_ready=false; + level_number=0; + error=false; + npipes=2; + start_delay=0; + restrict_coef=0; + fixed_coef=0; + speed=1; + if (graph_dirs) graph_dirs->empty(true); + else graph_dirs=new List(); + + pipetable[0].row=0; + pipetable[0].column=0; + pipetable[0].restricted_output1=East; + + pipetable[1].row=0; + pipetable[1].column=1; + pipetable[1].restricted_output1=West; + + if ((token=yylex())==PIPENIGHTDREAMS){ + if (yylex()==O_BLOCK){ + token=yylex(); + while (token!=C_BLOCK && !error){ + switch (token){ + case LEVEL:{ + level_number=numberAssignment(); + break; + } + case SPEED:{ + speed=numberAssignment(); + break; + } + case GRAPH_DIR:{ + s=stringAssignment(); + if (!error){ + s->crop(1, s->lenght()-1); + graph_dirs->insert(graph_dirs->getEnd(), s); + } + break; + } + case START_DELAY:{ + start_delay=numberAssignment(); + break; + } + case RESTRICT_COEF:{ + restrict_coef=numberAssignment(); + break; + } + case FIXED_COEF:{ + fixed_coef=numberAssignment(); + break; + } + case BACKGROUND:{ + background=backgroundAssignment(); + break; + } + case REQUIRED:{ + required=numberAssignment(); + break; + } + case ENTRY:case EXIT:{ + ee(); + break; + } + case PIPE:{ + pipe(); + break; + } + default:printError(new Str("invalid word in level structure")); + } + } + if (!entry_ready && !error) printError(new Str("no entry available")); + if (!exit_ready && !error) printError(new Str("no exit available")); + }else printError(new Str("'{' expected")); + }else printError(new Str("'pipenightdreams' not found")); +} + +int Level::load(Str * filename){ + YY_FLUSH_BUFFER; + nline=1; + if (!(yyin=fopen(filename->get(), "r"))){ + delete filename; + return 1; + } + delete filename; + level(); + fclose(yyin); + if (error) return -1; + return 0; +} + diff --git a/src/list.cpp b/src/list.cpp new file mode 100644 index 0000000..836527e --- /dev/null +++ b/src/list.cpp @@ -0,0 +1,180 @@ +/*************************************************************************** + list.cpp - description + ------------------- + begin : Fri Apr 14 2000 + copyright : (C) 2000 by W. Baraldi & D. Scarpa + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +#include +#include "list.h" + +Index::Index(Object * obj){ + next=prev=NULL; + this->obj=obj; +} + +Index::~Index(){} + +Object * Index::getObject(){ + return obj; +} + +Index * Index::getNext(){ + return next; +} + +Index * Index::getPrev(){ + return prev; +} + +void Index::setNext(Index * index){ + next=index; +} + +void Index::setPrev(Index * index){ + prev=index; +} + +List::List(){ + thelist=thelast=NULL; + count=0; +} + +List::~List(){} + +bool List::isEmpty(){ + return (!thelist); +} + +Index * List::getFirst(){ + return thelist; +} + +Index * List::getLast(){ + return thelast; +} + +Index * List::getEnd(){ + return NULL; +} + +Index * List::indexOf(Object * obj, int& i){ + Index * index=getFirst(); + i=0; + while (index != getEnd()){ + if (getObject(index)==obj) return index; + index=getNext(index); + i++; + } + return NULL; +} + +Index * List::indexOf(Object * obj){ + int none; + + return indexOf(obj, none); +} + +Index * List::indexOf(int i){ + Index * index=getFirst(); + int h; + + while ((hsetPrev(thelast); + thelast->setNext(w); + thelast=w; + } + else{ + w->setNext(index); + w->setPrev(index->getPrev()); + index->setPrev(w); + if (w->getPrev()) (w->getPrev())->setNext(w); + else thelist=w; + } + } + count++; + return Inserted; +} + +List::Result List::insert(int i, Object * obj){ + + return (insert(indexOf(i), obj)); +} + +List::Result List::remove(Index * index, bool del=false){ + if (isEmpty()) return EmptyList; + if (!index) return NullIndex; + + if (!index->getNext()){ + if (!index->getPrev()){ + if (thelist==index){thelist=thelast=NULL;} + else return InvalidIndex; + } + else{ + (index->getPrev())->setNext(NULL); + thelast=index->getPrev(); + } + } + else{ + if (!index->getPrev()){ + (index->getNext())->setPrev(NULL); + thelist=index->getNext(); + } + else{ + (index->getNext())->setPrev(index->getPrev()); + (index->getPrev())->setNext(index->getNext()); + } + } + if (del) delete index->getObject(); + delete index; + count--; + return Removed; +} + +void List::empty(bool del=true){ + while (!isEmpty()) + remove(getFirst(), del); +} + +Index * List::getNext(Index * index){ + return (index->getNext()); +} + +Index * List::getPrev(Index * index){ + return (index->getPrev()); +} + +Object * List::getObject(Index * index){ + return (index->getObject()); +} + +int List::nObjects(){ + return count; +} + + + diff --git a/src/list.h b/src/list.h new file mode 100644 index 0000000..0116d4a --- /dev/null +++ b/src/list.h @@ -0,0 +1,151 @@ +/*************************************************************************** + list.h - description + ------------------- + begin : Fri Apr 14 2000 + copyright : (C) 2000 by W. Baraldi & D. Scarpa + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +#ifndef LIST_H +#define LIST_H + +#include "object.h" + +/** + Clase de implementación de vagones de lista doblemente enlazada. +*/ + +class Index: public Object{ + + public: + + Index(Object * obj); + ~Index(); + Object * getObject(); + Index * getNext(); + Index * getPrev(); + void setNext(Index * index); + void setPrev(Index * index); + + private: + + Object * obj; + Index * next; + Index * prev; +}; + +/** + Lista doblemente enlazada. +*/ + +class List : public Object{ + + public: + + enum Result {Inserted, Removed, NullIndex, EmptyList, + InvalidIndex, NotFound, OutOfRange}; + + /** Constructor default.*/ + List(); + + /** Destructor.*/ + ~List(); + + /** + @return true si la lista esta vacía. + */ + bool isEmpty(); + + /** + @return el primer índice de la lista. + */ + Index * getFirst(); + + /** + @return el último índice de la lista. + */ + Index * getLast(); + + /** + @return el final de la lista. Si la lista está vacía getFirts(), + getLast() y getEnd retornan el mismo valor. + */ + Index * getEnd(); + + /** + @return el índice asociado al objeto obj. Si el objeto no está en la + lista retorna NULL. + */ + Index * indexOf(Object * obj); + + /** + @return el índice asociado a la posición. + */ + Index * indexOf(int i); + + /** + @return la posicion del objeto obj. + */ + int positionOf(Object * obj); + + /** + @return true si index es el final de la lista. + */ + bool isEnd(Index * index); + + /** + Inserta el objeto obj en la posición index. No se controla que + el índice parámetro pertenezca a la lista. + */ + Result insert(Index * index, Object * obj); + + /** + Inserta el objeto obj en la posición i. + */ + Result insert(int i, Object * obj); + + /** + Elimina de la lista el elemento en la posición index. + Hace un delete si del es true. + */ + Result remove(Index * index, bool del=false); + + /** + Vacía la lista. Si del es true hace un delete de todos los objetos. + */ + void empty(bool del=true); + + /** + @param index Un índice distinto de NULL y de getEnd(). + @return el próximo index del dado. Si index es el final retorna NULL. + */ + Index * getNext(Index * index); + + /** + @param index Un índice distinto de NULL y de getEnd(). + @return el índice anterior al dado. Si index es el primero retorna NULL. + */ + Index * getPrev(Index * index); + + /** + @param index Un índice distinto de NULL y de getEnd(). + @return el objeto en la posición index. + */ + Object * getObject(Index * index); + + /** + @retorna la cantidad de objetos en la lista. + */ + int nObjects(); + + private: + + Index * thelist; + int count; + Index * thelast; + Index * indexOf(Object * obj, int& i); +}; + +#endif + + diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..64b3f12 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,50 @@ +/*************************************************************************** + main.cpp - description + ------------------- + begin : Thu Aug 17 15:27:08 ART 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "config.h" +#include +#include +#include +#include "pipenightdreams.h" +#include "hash.h" +#include "str.h" + +int main(int argc, char *argv[]) +{ + Str * data_dir=NULL; + int level=1; + + if (argc >1) + if (!strcmp("--datadir", argv[1])) + data_dir=new Str(argv[2]); + + if (!data_dir){ + if (argc>1){ + printf("Invalid Data Dir\nUse pipenightdreams --datadir \n"); + printf("Using default: %s\n", GAME_DATADIR); + } + data_dir=new Str(GAME_DATADIR); + } + + + + PipeNightDreams * g = new PipeNightDreams(); + g->setDataDir(data_dir); + g->setStartingLevel(level); + g->run(); + delete g; +} diff --git a/src/mosaic.cpp b/src/mosaic.cpp new file mode 100644 index 0000000..382e645 --- /dev/null +++ b/src/mosaic.cpp @@ -0,0 +1,39 @@ +/*************************************************************************** + mosaic.cpp - description + ------------------- + begin : Wed Mar 21 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "mosaic.h" + +Mosaic::Mosaic(Image * image):Background(){ + this->image=image; + image->setAlpha(OPAQUE); +} + +Mosaic::~Mosaic(){ + //delete image; +} + +void Mosaic::repaint(VideoManager * vm, int x, int y, int w, int h){ + vm->blit(image, this->x+x, this->y+y); +} + +void Mosaic::paint(VideoManager * vm){ + int i,j; + for (i=0;iblit(image, i*PipeWidth+x, j*PipeHeight+y); +} + diff --git a/src/mosaic.h b/src/mosaic.h new file mode 100644 index 0000000..db64c84 --- /dev/null +++ b/src/mosaic.h @@ -0,0 +1,38 @@ +/*************************************************************************** + mosaic.h - description + ------------------- + begin : Wed Mar 21 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef MOSAIC_H +#define MOSAIC_H + +#include "background.h" + +class Mosaic: public Background{ + + public: + Mosaic(Image * image); + ~Mosaic(); + + void repaint(VideoManager * vm, int x, int y, int w, int h); + void paint(VideoManager * vm); + + protected: + + Image * image; +}; + +#endif + diff --git a/src/object.cpp b/src/object.cpp new file mode 100644 index 0000000..90cc4d2 --- /dev/null +++ b/src/object.cpp @@ -0,0 +1,22 @@ +/*************************************************************************** + object.cpp - description + ------------------- + begin : Sun Sep 23 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "object.h" + +Object * Object::all[DSIZE]; +int Object::index=0; + diff --git a/src/object.h b/src/object.h new file mode 100644 index 0000000..36b2261 --- /dev/null +++ b/src/object.h @@ -0,0 +1,56 @@ +/*************************************************************************** + object.h - description + ------------------- + begin : Thu Apr 20 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +#ifndef OBJECT_H +#define OBJECT_H + +#include +#include +#include +#include + +#define PI 3.1415 +#define DSIZE 1024*1024 + +class Object{ + public: + Object(){ + /* if (indexowner=NULL; +} + + +bool Pipe::isRemovable(){ + return !(full_level>0) && !fixed; +} + +void Pipe::setFixed(bool flag=true){ + fixed=flag; +} + +void Pipe::setBonus(Bonus bonus=NormalBonus){ + this->bonus=bonus; +} + +Bonus Pipe::getBonus(){ + return bonus; +} + +void Pipe::setOwner(Player * owner){ + this->owner=owner; +} + +Player * Pipe::getOwner(){ + return owner; +} + +void Pipe::paintRestriction(VideoManager * vm, CardinalPoint con){ + Image * ima; + switch (con){ + case West:{ + ima=(vm->getImageManager())->getImage(new Str("arrow_w.png")); + vm->blit(ima, x, y); + break; + } + case South:{ + ima=(vm->getImageManager())->getImage(new Str("arrow_s.png")); + vm->blit(ima, x, y); + break; + } + case East:{ + ima=(vm->getImageManager())->getImage(new Str("arrow_e.png")); + vm->blit(ima, x, y); + break; + } + case North:{ + ima=(vm->getImageManager())->getImage(new Str("arrow_n.png")); + vm->blit(ima, x, y); + break; + } + default:break; + } +} + +void Pipe::paintBonus(VideoManager * vm, Bonus bonus){ + Image * ima; + switch (bonus){ + case SuperBonus:{ + ima=(vm->getImageManager())->getImage(new Str("super_bonus.png")); + vm->blit(ima, x, y); + break; + } + case UltraBonus:{ + ima=(vm->getImageManager())->getImage(new Str("ultra_bonus.png")); + vm->blit(ima, x, y); + break; + } + case HyperBonus:{ + ima=(vm->getImageManager())->getImage(new Str("hyper_bonus.png")); + vm->blit(ima, x, y); + break; + } + case LifeBonus:{ + ima=(vm->getImageManager())->getImage(new Str("life_bonus.png")); + vm->blit(ima, x, y); + break; + } + default:break; + } +} + + diff --git a/src/pipe.h b/src/pipe.h new file mode 100644 index 0000000..fed9a0d --- /dev/null +++ b/src/pipe.h @@ -0,0 +1,118 @@ +/*************************************************************************** + pipe.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef PIPE_H +#define PIPE_H + +#include "animatedcanvas.h" +#include "pointer.h" +#include "videomanager.h" + +#define NORMAL_BONUS_VALUE 5 +#define SUPER_BONUS_VALUE 10 +#define ULTRA_BONUS_VALUE 25 +#define HYPER_BONUS_VALUE 50 + +enum CardinalPoint {Void, South, West, North, East}; +enum Bonus {NormalBonus, SuperBonus, UltraBonus, + HyperBonus, LifeBonus, TimeBonus}; + +static const int PipeWidth=60; +static const int PipeHeight=60; + +class Player;//Can understan this fucking need + +class Pipe: public AnimatedCanvas{ + + public: + + /** Constructor default. */ + Pipe(); + + /** Destructor. */ + virtual ~Pipe(){} + + int width(){return PipeWidth;} + int height(){return PipeHeight;} + virtual int full(){return DefaultCapacity;} + + /** Retorna true si existe una conexión en ese punto cardinal. */ + virtual bool hasConnection(CardinalPoint con)=0; + + /** Retorna true si el pipe puede ser reemplazado por otro.*/ + virtual bool isRemovable(); + + /** Setea la capacidad de ser removido de un pipe*/ + virtual void setFixed(bool flag=true); + + /** Setea el tipo de bonus*/ + virtual void setBonus(Bonus bonus=NormalBonus); + + /** Retorna el tipo de bonus*/ + virtual Bonus getBonus(); + + /** Setea el owner del pipe*/ + virtual void setOwner(Player * owner); + + /** Retorna el owner del pipe*/ + virtual Player * getOwner(); + + /** Restringe la conexión como salida. + No hace nada si la conexión no existe.*/ + virtual void restrictAsOutput(CardinalPoint con)=0; + + /** Retorna true si la conexión esta restruingida como salida.*/ + virtual bool isRestrictedAsOutput(CardinalPoint con)=0; + + /** Retorna la salida de ese punto cardinal. El resultado es Void + si no existe el input.*/ + virtual CardinalPoint getOutput(CardinalPoint input)=0; + + /** Incrementa el nivel de llenado en 1 para la conexión con ese input. + El resultado es 0 si no existe input.*/ + virtual void incFullLevel(CardinalPoint input, unsigned int amount)=0; + + /** Retorna el nivel de llenado para ese input. Si el input no existe + retorna -1.*/ + virtual int getFullLevel(CardinalPoint input)=0; + + /** Retorna una referencia al puntero asociado.*/ + virtual Pointer * getPointer()=0; + + /** Para uso futuro. Cambiarla a abstracta e + implementarla en cada pipe*/ + void tick(){}; + + protected: + + static const int Gran=50; + static const int DefaultCapacity=1000; + + virtual void paintRestriction(VideoManager * vm, CardinalPoint con); + virtual void paintBonus(VideoManager * vm, Bonus bonus); + + int full_level; + CardinalPoint used_input; + Pointer * p; + CardinalPoint ro; + bool fixed; + Bonus bonus; + Player * owner; +}; +#endif + + diff --git a/src/pipenightdreams.cpp b/src/pipenightdreams.cpp new file mode 100644 index 0000000..e3e393c --- /dev/null +++ b/src/pipenightdreams.cpp @@ -0,0 +1,337 @@ +/*************************************************************************** + pipenightdreams.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "pipenightdreams.h" +#include "SDL.h" +#include "str.h" +#include "imagemanager.h" +#include "eventmanager.h" +#include "playeronestream.h" +#include "level.h" +#include "score.h" + +PipeNightDreams::PipeNightDreams(){ + SDL_Init(SDL_INIT_VIDEO); + + video_manager=new VideoManager(); + video_manager->setCaption(new Str("PipeNightDreams")); + event_manager=new EventManager(); + sys = new SystemStream(); + event_manager->addStream(sys); + data_dir=new Str(); + images_dir=new Str(); + starting_level=1; +} + +PipeNightDreams::~PipeNightDreams(){ + delete data_dir; + delete images_dir; + delete video_manager; + delete event_manager; + delete nextlevel; + delete tryagain; + SDL_Quit(); + reportLeaks(); +} + +void PipeNightDreams::setStartingLevel(int level){ + starting_level=level; +} + +void PipeNightDreams::setDataDir(Str * dir_name){ + delete data_dir; + delete images_dir; + data_dir=dir_name; + + images_dir=new Str(data_dir); + images_dir->concat("/images/"); + video_manager->getImageManager()->setBaseDir(new Str(images_dir)); +} + +void PipeNightDreams::run(){ + char aux[128]; + quit=false; + + load(); + showMainMenu(); + + while (!quit){ + PlayerOneStream * pone = new PlayerOneStream(); + player= new Player(pone); + player->setPos(0,0); + + bool game_over=false; + int level_number=starting_level; + BoardState bs; + + event_manager->addStream(pone); + event_manager->pumpEvents(); + + board=new Board(); + Level * level=new Level(); + + Str * str= new Str(data_dir); + sprintf(aux, "/levels/%i.level", level_number); + str->concat(aux); + int error=level->load(str); + switch (error){ + case 1:{ + showFinal(); + break; + } + case -1:{ + delete level; + game_over=true; + break; + } + default:{ + sprintf(aux, "PipeNightDreams : Level %i", level_number); + video_manager->setCaption(new Str(aux)); + break; + } + } + + + while (!game_over){ + int entry_row, entry_column, exit_row, exit_column; + Entry * aux_entry=level->getEntry(entry_row, entry_column); + Exit * aux_exit=level->getExit(exit_row, exit_column); + + board->setPos(100,0); + board->setStartDelay(level->getStartDelay()); + board->setSpeed(level->getSpeed()); + board->setBackgroundType(level->getBackgroundType()); + board->setEntry(aux_entry, entry_row, entry_column); + board->setExit(aux_exit, exit_row, exit_column); + board->setRequired(level->getRequired()); + video_manager->getImageManager()->addDirList(level->getGraphDirs()); + player->setRestrictionCoef(level->getRestrictionCoef()); + player->setFixedCoef(level->getFixedCoef()); + + int i=level->getPipeIndex(); + int pipe_row, pipe_column; + Pipe * aux_pipe=level->getPipe(i, pipe_row, pipe_column); + + while (aux_pipe != NULL){ + board->setPipe(aux_pipe, pipe_row, pipe_column); + aux_pipe=level->getPipe(i, pipe_row, pipe_column); + } + + play(); + bs=board->getState(); + delete board; + if (bs==Playing){ + game_over=true; + (video_manager->getImageManager())->empty(); + }else{ + sys->clear(); + switch (bs){ + case OverLost:{ + if (player->lives()>0){ + player->decLives(); + SDL_Delay(750); + showTryAgain(); + board=new Board(); + }else{ + game_over=true; + (video_manager->getImageManager())->empty(); + showGameOver(); + } + break; + } + case OverWon:{ + (video_manager->getImageManager())->empty(); + level_number++; //Incremento el nivel + board=new Board(); + + delete level; + level=new Level(); + Str * str= new Str(data_dir); + sprintf(aux, "/levels/%i.level", level_number); + str->concat(aux); + int error=level->load(str); + switch (error){ + case 1:{ + showFinal(); + game_over=true; + break; + } + case -1:{ + game_over=true; + break; + } + default:{ + showNextLevel(); + sprintf(aux, "PipeNightDreams : Level %i", level_number); + video_manager->setCaption(new Str(aux)); + break; + } + } + break; + } + default:break; + } + } + } + delete player; + delete level; + showMainMenu(); + } +} + +void PipeNightDreams::showIntro(){} + +void PipeNightDreams::showOptions(){} + +void PipeNightDreams::play(){ + Event event; + int c,d; + player->setBoard(board); + while (event!=BACK && board->getState()==Playing){ + c=SDL_GetTicks(); + event=sys->get(); + player->play(); + player->tick(); + if (player->isChanged()) + player->paint(video_manager); + board->tick(); + board->paint(video_manager); + video_manager->flush(); + event_manager->pumpEvents(); + d=SDL_GetTicks(); + if (d-c<(int)(1000/FPS)){ + SDL_Delay((int)(1000/FPS)-(d-c)); + } + } +} + +void PipeNightDreams::showMainMenu(){ + Event event; + Str * aux; + Image * main; + Image * enter; + bool paint=false; + + aux=new Str(images_dir); + aux->concat("start.jpg"); + main=new Image(aux); + + aux=new Str(images_dir); + aux->concat("entertostart.png"); + enter=new Image(aux); + + video_manager->setCaption(new Str("PipeNightDreams")); + video_manager->blit(main, 0,0); + video_manager->flush(); + do{ + SDL_Delay(300); + if (paint=!paint) video_manager->blit(enter, 248, 440); + else video_manager->blit(main, 248, 440, 248, 440, 143, 15); + video_manager->flush(); + event_manager->pumpEvents(false); + event=sys->get(); + }while (event!=GO && event!=BACK); + delete main; + delete enter; + + if (event==BACK) quit=true; +} + +void PipeNightDreams::showGameOver(){ + Event event; + Image * gameover; + Str * aux; + + aux= new Str(images_dir); + aux->concat("gameover.png"); + gameover=new Image(aux); + + video_manager->blit(gameover, 100+270-gameover->width()/2,240-gameover->height()/2); + video_manager->flush(); + delete gameover; + + do{ + event_manager->pumpEvents(true); + event=sys->get(); + }while (event!=GO); +} + +void PipeNightDreams::showHallOfFame(){ +} + +void PipeNightDreams::showNextLevel(){ + Event event; + + video_manager->blit(nextlevel, 100+270-nextlevel->width()/2,240-nextlevel->height()/2); + video_manager->flush(); + + do{ + event_manager->pumpEvents(true); + event=sys->get(); + }while (event!=GO); +} + +void PipeNightDreams::showTryAgain(){ + Event event; + video_manager->blit(tryagain, 100+270-tryagain->width()/2,240-tryagain->height()/2); + video_manager->flush(); + + do{ + event_manager->pumpEvents(true); + event=sys->get(); + }while (event!=GO); +} + +void PipeNightDreams::showFinal(){ + Event event; + Image * done; + Str * aux; + + aux= new Str(images_dir); + aux->concat("alllevelsdone.png"); + done=new Image(aux); + + video_manager->blit(done, 100+270-done->width()/2,240-done->height()/2); + video_manager->flush(); + delete done; + + do{ + event_manager->pumpEvents(true); + event=sys->get(); + }while (event!=GO); +} + +void PipeNightDreams::load(){ + Image * loading; + Str * aux; + + aux= new Str(images_dir); + aux->concat("loading.png"); + loading=new Image(aux); + video_manager->blit(loading, 320-loading->width()/2,240-loading->height()/2); + video_manager->flush(); + delete loading; + + aux= new Str(images_dir); + aux->concat("tryagain.png"); + tryagain=new Image(aux); + + aux= new Str(images_dir); + aux->concat("nextlevel.png"); + nextlevel=new Image(aux); +} + diff --git a/src/pipenightdreams.h b/src/pipenightdreams.h new file mode 100644 index 0000000..8c85246 --- /dev/null +++ b/src/pipenightdreams.h @@ -0,0 +1,88 @@ +/*************************************************************************** + pipenightdreams.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef PIPE_NIGHT_DREAMS_H +#define PIPE_NIGHT_DREAMS_H + +#include "videomanager.h" +#include "imagemanager.h" +#include "eventmanager.h" +#include "object.h" +#include "board.h" +#include "player.h" +#include "systemstream.h" + +#define FPS 20 + +class PipeNightDreams: public Object{ + + public: + + PipeNightDreams(); + ~PipeNightDreams(); + + /** The method to assign the data dir */ + void setDataDir(Str * dir_name); + + void setStartingLevel(int level); + + /** The method that run the game. */ + void run(); + + protected: + + /** Introduction display.*/ + void showIntro(); + /** Options Menu display.*/ + void showOptions(); + /** Level execution.*/ + void play(); + /** Main Menu.*/ + void showMainMenu(); + /** Game Over screen.*/ + void showGameOver(); + /** Hall of Fame screen.*/ + void showHallOfFame(); + /** Next Level Screen*/ + void showNextLevel(); + /**Try Again Screen*/ + void showTryAgain(); + /** Final screen*/ + void showFinal(); + /** Load main graphics*/ + void load(); + + VideoManager * video_manager; + ImageManager * image_manager; + EventManager * event_manager; + + private: + + bool game_over; + bool quit; + SystemStream * sys; + Str * data_dir; + Str * images_dir; + Board * board; + Player * player; + Image * nextlevel; + Image * tryagain; + int starting_level; +}; + +#endif + diff --git a/src/pipequeue.cpp b/src/pipequeue.cpp new file mode 100644 index 0000000..6c62f39 --- /dev/null +++ b/src/pipequeue.cpp @@ -0,0 +1,263 @@ +/*************************************************************************** + pipequeue.cpp - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "pipequeue.h" +#include "cross.h" +#include "horizontal.h" +#include "vertical.h" +#include "elbowupright.h" +#include "elbowdownright.h" +#include "elbowupleft.h" +#include "elbowdownleft.h" +#include "horizontalbowl.h" +#include "verticalbowl.h" +#include "random.h" + +PipeQueue::PipeQueue():AnimatedCanvas(){ + index=0; + change=true; + res_coef=0; + fixed_coef=0; + filled=false; +} + +PipeQueue::~PipeQueue(){ + if (filled) + for (int i=0;i 100) + res_coef=100; + else res_coef=coef; +} + +void PipeQueue::setFixedCoef(unsigned int coef){ + if (coef > 100) + fixed_coef=100; + else fixed_coef=coef; + +} + +bool PipeQueue::isChanged(){ + return change; +} + +void PipeQueue::fillUp(){ + for (index=0;indexgetImageManager()->getImage(new Str("queue_one.png")); + vm->blit(ima, x,y); + + //Pintar los pipes + j=index; + for (i=0;isetPos(x+27, y+5+i*queue[j]->height()); + queue[j]->paint(vm); + } + } + change=false; +} + +Pipe * PipeQueue::generatePipe(){ + + Pipe * aux=NULL; + Random * r=new Random(); + switch ((r->getRandomNumber(0, 6))){ + + case 0: { + aux=new Cross(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + for (int i=0;i<2;i++) + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 3)){ + case 0:{ + if (!aux->isRestrictedAsOutput(South)) + aux->restrictAsOutput(North); + break; + } + case 1:{ + if (!aux->isRestrictedAsOutput(North)) + aux->restrictAsOutput(South); + break; + } + case 2:{ + if (!aux->isRestrictedAsOutput(East)) + aux->restrictAsOutput(West); + break; + } + case 3:{ + if (!aux->isRestrictedAsOutput(West)) + aux->restrictAsOutput(East); + break; + } + default:break; + } + break; + } + case 1: { + if ((unsigned int)r->getRandomNumber(0,3)) + aux=new Horizontal(); + else aux= new HorizontalBowl(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 1)){ + case 0:{ + aux->restrictAsOutput(West); + break; + } + case 1:{ + aux->restrictAsOutput(East); + break; + } + default:break; + } + break; + } + case 2: { + if ((unsigned int)r->getRandomNumber(0,3)) + aux= new Vertical(); + else aux= new VerticalBowl(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 1)){ + case 0:{ + aux->restrictAsOutput(North); + break; + } + case 1:{ + aux->restrictAsOutput(South); + break; + } + default:break; + } + break; + } + case 3: { + aux= new ElbowUpRight(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 1)){ + case 0:{ + aux->restrictAsOutput(North); + break; + } + case 1:{ + aux->restrictAsOutput(East); + break; + } + default:break; + } + break; + } + case 4: { + aux= new ElbowUpLeft(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 1)){ + case 0:{ + aux->restrictAsOutput(North); + break; + } + case 1:{ + aux->restrictAsOutput(West); + break; + } + default:break; + } + break; + } + case 5: { + aux= new ElbowDownRight(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 1)){ + case 0:{ + aux->restrictAsOutput(South); + break; + } + case 1:{ + aux->restrictAsOutput(East); + break; + } + default:break; + } + break; + } + case 6: { + aux= new ElbowDownLeft(); + if ((unsigned int)r->getRandomNumber(1,100)<=fixed_coef) + aux->setFixed(true); + if ((unsigned int)r->getRandomNumber(1,100)<=res_coef) + switch (r->getRandomNumber(0, 1)){ + case 0:{ + aux->restrictAsOutput(South); + break; + } + case 1:{ + aux->restrictAsOutput(West); + break; + } + default:break; + } + } + break; + } + delete r; + return aux; +} + diff --git a/src/pipequeue.h b/src/pipequeue.h new file mode 100644 index 0000000..8fbe359 --- /dev/null +++ b/src/pipequeue.h @@ -0,0 +1,75 @@ +/*************************************************************************** + pipequeue.h - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef PIPE_QUEUE_H +#define PIPE_QUEUE_H + +#include "animatedcanvas.h" +#include "pipe.h" +#include "videomanager.h" + +class PipeQueue : public AnimatedCanvas{ + + public: + + static const int MaxPipes=3; + + PipeQueue(); + ~PipeQueue(); + + int width(); + + int height(); + + /** Retorna el Pipe que se encuentra en la cabeza + de la cola y lo quita agregando luego uno por la cola.*/ + Pipe * getHead(); + + /** Retorna el pipe en la posicion.*/ + Pipe * getPipe(int pos); + + /** Asigna una probabilidad entre 1..100 de agregar restricciones + de direccion.*/ + void setRestrictionCoef(unsigned int coef); + + /** Asigna una probabilidad entre 1..100 de agregar pipes fijos.*/ + void setFixedCoef(unsigned int coef); + + bool isChanged(); + + /** paint heredado.*/ + void paint(VideoManager * vm); + + void tick(){}; + + protected: + + void fillUp(); + + Pipe * queue[MaxPipes]; + int index; + bool change; + unsigned int res_coef; + unsigned int fixed_coef; + bool filled; + + Pipe * generatePipe(); + +}; + +#endif + diff --git a/src/player.cpp b/src/player.cpp new file mode 100644 index 0000000..5e923e9 --- /dev/null +++ b/src/player.cpp @@ -0,0 +1,212 @@ +/*************************************************************************** + player.cpp - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "player.h" + +#define MAX_LIVES 8 + +Player::Player(EventStream * es):AnimatedCanvas(){ + stream=es; + score=0; + start_row=0; + start_column=0; + change=true; + rest_coef=0; + fixed_coef=0; + nlives=StartLives; + score=new Score(); + queue=new PipeQueue(); + required=new Score(); +} + +Player::~Player(){ + delete queue; + delete score; + delete required; +} + +int Player::width(){ + return PlayerWidth; +} +int Player::height(){ + return PlayerHeight; +} + + +void Player::setPos(int x, int y){ + Canvas::setPos(x,y); + queue->setPos(x,y); + score->setPos(x+10,y+200); + required->setPos(x+10,y+260); +} + +void Player::setStartRowColumn(int row, int column){ + start_row=row; + start_column=column; +} + +void Player::setBoard(Board * bd){ + board=bd; + + pointer=queue->getPipe(0)->getPointer(); + board->addPointer(pointer); + board->movePointer(pointer,start_row,start_column); + + stream->clear(); +} + +void Player::incLives(){ + nlives++; + change=true; +} + +void Player::decLives(){ + if (nlives>0) nlives--; + change=true; +} + +unsigned int Player::lives(){ + return nlives; +} + +bool Player::isChanged(){ + return change || queue->isChanged() || score->isChanged() || required->isChanged(); +} + +void Player::play(){ + Event event; + + event=stream->get(); + switch (event){ + case UP:{ + if (pointer->getRow()> 0) + board->movePointer(pointer, pointer->getRow()-1, pointer->getColumn()); + break; + } + case DOWN:{ + if (pointer->getRow()movePointer(pointer, pointer->getRow()+1, pointer->getColumn()); + break; + } + case LEFT:{ + if (pointer->getColumn()>0) + board->movePointer(pointer, pointer->getRow(), pointer->getColumn()-1); + break; + } + case RIGHT:{ + if (pointer->getColumn()movePointer(pointer, pointer->getRow(), pointer->getColumn()+1); + break; + } + case HIT:{ + int r=pointer->getRow(),c=pointer->getColumn(); + if (board->isRemovable(r,c)){ + board->removePointer(pointer); + Pipe * aux = queue->getHead(); + aux->setOwner(this); + board->setPipe(aux, r, c); + pointer=queue->getPipe(0)->getPointer(); + board->movePointer(pointer,r, c); + board->addPointer(pointer); + } + break; + } + case GO:{ + board->setMaxSpeed(); + } + default:break; + } +} + +void Player::paint(VideoManager * vm){ + + //Pintar el background + if (change){ + //Dibuja las vidas + vm->fillRect(x+LivesX,y+LivesY,MAX_LIVES*LivesWidth,LivesHeight, 0,0,0,255); + + //Dibuja el liquido + vm->fillRect(x+LivesX,y+LivesY, lives()*LivesWidth, LivesHeight, 103,234,16,255); + vm->blit(vm->getImageManager()->getImage(new Str("lives_one.png")), x,y+215); + + vm->blit(vm->getImageManager()->getImage(new Str("panel.png")), x,y+275); + change=false; + } + // Pintar puntaje + if (score->isChanged()){ + score->paint(vm); + vm->blit(vm->getImageManager()->getImage(new Str("score_one.png")),x,y+185); + } + + // Pintar required + if (required->isChanged()){ + required->paint(vm); + vm->blit(vm->getImageManager()->getImage(new Str("required_one.png")),x,y+240); + } + + //Pintar la cola + if (queue->isChanged()) + queue->paint(vm); +} + +void Player::setRestrictionCoef(unsigned int coef){ + queue->setRestrictionCoef(coef); +} + +void Player::setFixedCoef(unsigned int coef){ + queue->setFixedCoef(coef); +} + +void Player::tick(){ + score->tick(); + + unsigned int still_required=board->getStillRequired(); + + if ((int)still_requiredgetValue()) + required->dec(required->getValue()-(int)still_required); + else + if ((int)still_required>required->getValue()) + required->inc((int)still_required-required->getValue()); + required->tick(); +} + +void Player::incScore(Bonus bonus){ + switch (bonus){ + case NormalBonus:{ + score->inc(NORMAL_BONUS_VALUE); + break; + } + case SuperBonus:{ + score->inc(SUPER_BONUS_VALUE); + break; + } + case UltraBonus:{ + score->inc(ULTRA_BONUS_VALUE); + break; + } + case HyperBonus:{ + score->inc(HYPER_BONUS_VALUE); + break; + } + default:break; + } +} + +unsigned int Player::scoreValue(){ + return score->getValue(); +} + diff --git a/src/player.h b/src/player.h new file mode 100644 index 0000000..92bda6d --- /dev/null +++ b/src/player.h @@ -0,0 +1,83 @@ +/*************************************************************************** + player.h - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef PLAYER_H +#define PLAYER_H + +#include "animatedcanvas.h" +#include "pipe.h" +#include "pipequeue.h" +#include "eventstream.h" +#include "board.h" +#include "score.h" + +class Player : protected AnimatedCanvas{ + + public: + + static const int PlayerWidth=88; + static const int PlayerHeight=240; + static const int StartLives=3; + static const int LivesX=10; + static const int LivesY=230; + static const int LivesWidth=9; + static const int LivesHeight=9; + + Player(EventStream * es); + virtual ~Player(); + + int width(); + int height(); + + void setPos(int x, int y); + void setStartRowColumn(int row, int column); + void setBoard(Board * bd); + + inline void setRestrictionCoef(unsigned int coef); + inline void setFixedCoef(unsigned int coef); + + void incLives(); + void decLives(); + unsigned int lives(); + bool isChanged(); + void incScore(Bonus bonus); + void setRequired(int required); + void incRequired(int inc); + void decRequired(int dec); + unsigned int scoreValue(); + + void play(); + void paint(VideoManager * vm); + void tick(); + + protected: + + unsigned int nlives; + unsigned int rest_coef; + unsigned int fixed_coef; + int start_row, start_column; + bool change; + Pointer * pointer; + PipeQueue * queue; + EventStream * stream; + Board * board; + Score * score; + Score * required; +}; + +#endif + diff --git a/src/playeronestream.h b/src/playeronestream.h new file mode 100644 index 0000000..42450fc --- /dev/null +++ b/src/playeronestream.h @@ -0,0 +1,40 @@ +/*************************************************************************** + playeronestream.h - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef PLAYER_ONE_STREAM_H +#define PLAYER_ONE_STREAM_H + +#include "eventstream.h" +#include "SDL.h" + +class PlayerOneStream : public EventStream{ + + public: + + PlayerOneStream(){ + emt[0]=(struct EMT){SDLK_UP, UP}; + emt[1]=(struct EMT){SDLK_DOWN, DOWN}; + emt[2]=(struct EMT){SDLK_LEFT, LEFT}; + emt[3]=(struct EMT){SDLK_RIGHT, RIGHT}; + emt[4]=(struct EMT){SDLK_SPACE, HIT}; + emt[5]=(struct EMT){SDLK_ESCAPE, BACK}; + emt[6]=(struct EMT){SDLK_RETURN, GO}; + npairs=7; + } +}; +#endif + diff --git a/src/pointer.cpp b/src/pointer.cpp new file mode 100644 index 0000000..8e31394 --- /dev/null +++ b/src/pointer.cpp @@ -0,0 +1,62 @@ +/*************************************************************************** + pointer.cpp - description + ------------------- + begin : Thu Sep 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "pointer.h" + +Pointer::Pointer(int row=0, int column=0){ + this->row=row; + this->column=column; + this->moved_flag=true; +} + +Pointer::~Pointer(){ delete image_name;} + +void Pointer::setRow(int row){ + this->row=row; +} + +void Pointer::setColumn(int column){ + this->column=column; +} + +void Pointer::setRowColumn(int row, int column){ + this->row=row; + this->column=column; +} + +void Pointer::setMoved(bool flag){ + moved_flag=flag; +} + +bool Pointer::moved(){ + return moved_flag; +} + +int Pointer::getRow(){ + return row; +} + +int Pointer::getColumn(){ + return column; +} + +void Pointer::paint(VideoManager * vm){ + ima=((ImageManager *)(vm->getImageManager()))->getImage(new Str(image_name)); + vm->blit(ima, x, y); +} + + diff --git a/src/pointer.h b/src/pointer.h new file mode 100644 index 0000000..be271cb --- /dev/null +++ b/src/pointer.h @@ -0,0 +1,60 @@ +/*************************************************************************** + pointer.h - description + ------------------- + begin : Thu Sep 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_H +#define POINTER_H + +#include "canvas.h" + +class Board; + +class Pointer: public Canvas{ + + public: + static const int width=60; + static const int height=60; + + /** Constructor default.*/ + Pointer(int row=0, int column=0); + + /** Destructor.*/ + ~Pointer(); + + int getRow(); + int getColumn(); + + void paint(VideoManager * vm); + + protected: + + friend class Board; + + inline void setRow(int row); + inline void setColumn(int column); + inline void setRowColumn(int row, int column); + inline void setMoved(bool flag); + inline bool moved(); + + Str * image_name; + Image * ima; + + int row, column; + bool moved_flag; +}; + +#endif + diff --git a/src/pointercross.h b/src/pointercross.h new file mode 100644 index 0000000..80dd1a7 --- /dev/null +++ b/src/pointercross.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointercross.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_CROSS_H +#define POINTER_CROSS_H + +#include "pointer.h" + +class PointerCross: public Pointer{ + + public: + + PointerCross():Pointer(){ + image_name=new Str("pcross.png"); + } +}; +#endif + diff --git a/src/pointerelbowdownleft.h b/src/pointerelbowdownleft.h new file mode 100644 index 0000000..207022b --- /dev/null +++ b/src/pointerelbowdownleft.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointerelbowdownleft.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_ELBOW_DOWN_LEFT_H +#define POINTER_ELBOW_DOWN_LEFT_H + +#include "pointer.h" + +class PointerElbowDownLeft: public Pointer{ + + public: + + PointerElbowDownLeft():Pointer(){ + image_name=new Str("pelbow_sw.png"); + } +}; +#endif + diff --git a/src/pointerelbowdownright.h b/src/pointerelbowdownright.h new file mode 100644 index 0000000..2a4a829 --- /dev/null +++ b/src/pointerelbowdownright.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointerelbowdownright.h - description + ------------------- + begin : Thu Sep 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_ELBOW_DOWN_RIGHT_H +#define POINTER_ELBOW_DOWN_RIGHT_H + +#include "pointer.h" + +class PointerElbowDownRight: public Pointer{ + + public: + + PointerElbowDownRight():Pointer(){ + image_name=new Str("pelbow_se.png"); + } +}; +#endif + diff --git a/src/pointerelbowupleft.h b/src/pointerelbowupleft.h new file mode 100644 index 0000000..7c730e7 --- /dev/null +++ b/src/pointerelbowupleft.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointerelbowupleft.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_ELBOW_UP_LEFT_H +#define POINTER_ELBOW_UP_LEFT_H + +#include "pointer.h" + +class PointerElbowUpLeft: public Pointer{ + + public: + + PointerElbowUpLeft():Pointer(){ + image_name=new Str("pelbow_nw.png"); + } +}; +#endif + diff --git a/src/pointerelbowupright.h b/src/pointerelbowupright.h new file mode 100644 index 0000000..ac7d7a6 --- /dev/null +++ b/src/pointerelbowupright.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointerelbowupright.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_ELBOW_UP_RIGHT_H +#define POINTER_ELBOW_UP_RIGHT_H + +#include "pointer.h" + +class PointerElbowUpRight: public Pointer{ + + public: + + PointerElbowUpRight():Pointer(){ + image_name=new Str("pelbow_ne.png"); + } +}; +#endif + diff --git a/src/pointerhorizontal.h b/src/pointerhorizontal.h new file mode 100644 index 0000000..8d015f0 --- /dev/null +++ b/src/pointerhorizontal.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointerhorizontal.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_HORIZONTAL_H +#define POINTER_HORIZONTAL_H + +#include "pointer.h" + +class PointerHorizontal: public Pointer{ + + public: + + PointerHorizontal():Pointer(){ + image_name=new Str("phorizontal.png"); + } +}; +#endif + diff --git a/src/pointerhorizontalbowl.h b/src/pointerhorizontalbowl.h new file mode 100644 index 0000000..7347ba4 --- /dev/null +++ b/src/pointerhorizontalbowl.h @@ -0,0 +1,33 @@ +/*************************************************************************** + pointerhorizontalbowl.h - description + ------------------- + begin : Mon Jan 1 1996 + copyright : (C) 1996 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_HORIZONTAL_BOWL_H +#define POINTER_HORIZONTAL_BOWL_H + +#include "pointer.h" + +class PointerHorizontalBowl: public Pointer{ + + public: + PointerHorizontalBowl():Pointer(){ + image_name=new Str("pbowl_h.png"); + } +}; + + +#endif + diff --git a/src/pointernone.h b/src/pointernone.h new file mode 100644 index 0000000..0483aa0 --- /dev/null +++ b/src/pointernone.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointernone.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_NONE_H +#define POINTER_NONE_H + +#include "pointer.h" + +class PointerNone: public Pointer{ + + public: + + PointerNone():Pointer(){ + image_name=new Str("pnone.png"); + } +}; +#endif + diff --git a/src/pointervertical.h b/src/pointervertical.h new file mode 100644 index 0000000..883aea8 --- /dev/null +++ b/src/pointervertical.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointervertical.h - description + ------------------- + begin : Fri Sep 15 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_VERTICAL_H +#define POINTER_VERTICAL_H + +#include "pointer.h" + +class PointerVertical: public Pointer{ + + public: + + PointerVertical():Pointer(){ + image_name=new Str("pvertical.png"); + } +}; +#endif + diff --git a/src/pointerverticalbowl.h b/src/pointerverticalbowl.h new file mode 100644 index 0000000..a772c1d --- /dev/null +++ b/src/pointerverticalbowl.h @@ -0,0 +1,32 @@ +/*************************************************************************** + pointerverticalbowl.h - description + ------------------- + begin : Thu Dec 28 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef POINTER_VERTICAL_BOWL_H +#define POINTER_VERTICAL_BOWL_H + +#include "pointer.h" + +class PointerVerticalBowl: public Pointer{ + + public: + PointerVerticalBowl():Pointer(){ + image_name=new Str("pbowl_v.png"); + } +}; + +#endif + diff --git a/src/random.cpp b/src/random.cpp new file mode 100644 index 0000000..d4464af --- /dev/null +++ b/src/random.cpp @@ -0,0 +1,25 @@ +/*************************************************************************** + random.cpp - description + ------------------- + begin : Tue Dec 12 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "random.h" +#include + +int Random::getRandomNumber(int low, int high){ + int result=(int)((float)(high-low+1)*(float)random()/(RAND_MAX))+low; + return result; +} + diff --git a/src/random.h b/src/random.h new file mode 100644 index 0000000..027af75 --- /dev/null +++ b/src/random.h @@ -0,0 +1,33 @@ +/*************************************************************************** + random.h - description + ------------------- + begin : Tue Dec 12 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef RANDOM_H +#define RANDOM_H + +#include "object.h" +#include + +class Random: public Object{ + public: + Random():Object(){}; + ~Random(){}; + + int getRandomNumber(int low, int high); +}; + +#endif + diff --git a/src/score.cpp b/src/score.cpp new file mode 100644 index 0000000..6e2e4b5 --- /dev/null +++ b/src/score.cpp @@ -0,0 +1,134 @@ +/*************************************************************************** + score.cpp - description + ------------------- + begin : Sun Mar 11 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "score.h" +#include + +Score::Score(int value=0){ + this->value=value; + delta=0; + changed=true; +} + +Score::~Score(){} + +void Score::inc(unsigned int value){ + changed=true; + delta+=value; +} + +void Score::dec(unsigned int value){ + changed=true; + delta-=value; +} + +int Score::getValue(){ + return value+delta; +} + +bool Score::isChanged(){ + return changed; +} + +void Score::sumUp(){ + if (delta > 0) + value+=delta; + else + if (delta<0) + if ((unsigned int)abs(delta)fillRect(x,y,ScoreWidth,ScoreHeight,0,0,0,255); + // Dibuja los numeros + int p=x+ScoreWidth-2; + unsigned int i; + int aux_value=value; + Image * ima; + for (i=0; igetImageManager())->getImage(new Str("0.png")); + break; + } + case 1:{ + ima=(vm->getImageManager())->getImage(new Str("1.png")); + break; + } + case 2:{ + ima=(vm->getImageManager())->getImage(new Str("2.png")); + break; + } + case 3:{ + ima=(vm->getImageManager())->getImage(new Str("3.png")); + break; + } + case 4:{ + ima=(vm->getImageManager())->getImage(new Str("4.png")); + break; + } + case 5:{ + ima=(vm->getImageManager())->getImage(new Str("5.png")); + break; + } + case 6:{ + ima=(vm->getImageManager())->getImage(new Str("6.png")); + break; + } + case 7:{ + ima=(vm->getImageManager())->getImage(new Str("7.png")); + break; + } + case 8:{ + ima=(vm->getImageManager())->getImage(new Str("8.png")); + break; + } + case 9:{ + ima=(vm->getImageManager())->getImage(new Str("9.png")); + break; + } + default:break; + } + p-=ima->width(); + vm->blit(ima,p,y+2); + aux_value/=10; + } + changed=false; +} + +void Score::tick(){ + changed=true; + if ((unsigned int)abs(delta) > TickValue){ + if (delta > 0){ + delta-=TickValue; + value+=TickValue; + }else{ + delta+=TickValue; + if (value - TickValue > 0) + value-=TickValue; + else + value=0; + } + }else{ + value+=delta; + delta=0; + } +} + diff --git a/src/score.h b/src/score.h new file mode 100644 index 0000000..4a61b2d --- /dev/null +++ b/src/score.h @@ -0,0 +1,56 @@ +/*************************************************************************** + score.h - description + ------------------- + begin : Sun Mar 11 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef SCORE_H +#define SCORE_H + +#include "animatedcanvas.h" + +class Score : public AnimatedCanvas{ + + public: + + Score(int value=0); + virtual ~Score(); + + void inc(unsigned int value); + + void dec(unsigned int value); + + void sumUp(); + + int getValue(); + + bool isChanged(); + + void paint(VideoManager * vm); + + void tick(); + + private: + static const unsigned int TickValue=1; + static const unsigned int ScoreWidth = 80; + static const unsigned int ScoreHeight = 15; + static const unsigned int Digits = 8; + + unsigned int value; + int delta; + bool changed; +}; + +#endif + diff --git a/src/stamp-h b/src/stamp-h new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/src/stamp-h @@ -0,0 +1 @@ +timestamp diff --git a/src/stamp-h.in b/src/stamp-h.in new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/src/stamp-h.in @@ -0,0 +1 @@ +timestamp diff --git a/src/str.cpp b/src/str.cpp new file mode 100644 index 0000000..fca6e6c --- /dev/null +++ b/src/str.cpp @@ -0,0 +1,109 @@ +/*************************************************************************** + str.cpp - description + ------------------- + begin : Tue Aug 1 2000 + copyright : (C) 2000 by W. Baraldi & D. Scarpa + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +#include "str.h" +#include + +const char Str::nul = '\0'; + +Str::Str(const char * string=NULL){ + s=NULL; + set(string); +} + +Str::Str(Str * str){ + s=NULL; + if (str) set(str->s); +} + +Str::~Str(){ + if (s) delete[] s; +} + +void Str::set(const char * string=NULL){ + if (s) delete[] s; + if (string){ + s=new char[strlen(string)+1]; + strcpy(s, string); + }else s=NULL; +} + +void Str::set(const Str * str){ + set(((Str*)(str))->get()); +} + +const char * Str::get(){ + if (s) + return (s); + else + return (&nul); +} + +bool Str::contains(const char * string){ + return (strstr(s, string)); +} + +bool Str::contains(Str * str){ + return (strstr(s, str->s)); +} + +void Str::concat(const char * string){ + char * aux=NULL; + if (string){ + aux=new char[strlen(s)+strlen(string)+1]; + strcpy(aux, s), + strcat(aux, string); + free(s); + } + s=aux; +} + +void Str::concat(Str * str){ + concat(str->s); +} + +int Str::lenght(){ + return (strlen(s)); +} + +bool Str::isEqual(Str * str, bool case_sensitive = true){ + if (case_sensitive){ + return (!strcmp(s, str->s)); + } + return (!strcasecmp(s, str->s)); +} + +void Str::crop(unsigned int start, unsigned int end){ + if (end>strlen(s)-1) end=strlen(s)-1; + if (start +#include + +class Str: public Object{ + + public: + + /** + Contructor default, asigna la cadena pasada como const char * . + Para crear una cadena nula usar : new Str() + */ + + Str(const char * string=NULL); + + /** + Contructor copy, crea una copia del Str pasado como parámetro + */ + + Str(Str * str); + + /** + Destructor + */ + ~Str(); + + /** + Asigna la cadena parámetro + */ + void set(const char * string=NULL); + + /** + Asigna la cadena parámetro + */ + void set(const Str * str); + + /** + Retorna la cadena como const char *. + No debe alterarse la cadena obtenida ya que no es una copia. + */ + const char * get(); + + /** + Concatena la cadena const char * enviada + */ + void concat(const char * string); + + /** + Concatena la cadena enviada + */ + void concat(Str * str); + + /** + Retorna true si la cadena const char * enviada esta contenida. + */ + bool contains(const char * string); + + /** + Retorna true si la cadena parámetro esta contenida. + */ + bool contains(Str * str); + + /** Retorna la longitud de la cadena.*/ + int lenght(); + + /** Compara con la cadena parámetro. Si case_sensitive es true entonces + lo hará case sensitive.*/ + bool isEqual(Str * str, bool case_sensitive = true); + + /** Deja solo la parte contenida entre start y end.*/ + void crop(unsigned int start, unsigned int end); + + /** + Retorna el int resultado de convertir la cadena. + */ + int toInt(); + + /** + Retorna el bool resultado de convertir la cadena. Los valores reconocidos como + false son : "f" o "false" y como true : "t" y "true", sin sensibilidad a mayúsculas + o minúsculas. El valor default devuelto es false; + */ + bool toBool(); + + /** + Retorna el float resultado de convertir la cadena. + */ + float toFloat(); + + protected: + char * s; + static const char nul; +}; + +#endif + + diff --git a/src/surface.cpp b/src/surface.cpp new file mode 100644 index 0000000..b948d05 --- /dev/null +++ b/src/surface.cpp @@ -0,0 +1,53 @@ +/*************************************************************************** + surface.cpp - description + ------------------- + begin : Sat Oct 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "surface.h" +#include + +Surface::Surface(){ + surface=NULL; +} + +Surface::Surface(int width, int height){ + SDL_Rect rect; + SDL_Surface * aux_surface; + + rect.x=0; + rect.y=0; + rect.w=width; + rect.h=height; + + aux_surface=SDL_CreateRGBSurface(SDL_HWSURFACE, width, height, + 32, 0xff, 0x00ff,0x0000ff,0x000000ff); + surface=SDL_DisplayFormatAlpha(aux_surface); + SDL_FreeSurface(aux_surface); +} + +Surface::~Surface(){ + if (surface) SDL_FreeSurface(surface); +} + +int Surface::width(){ + if (surface) return surface->w; + return 0; +} + +int Surface::height(){ + if (surface) return surface->h; + return 0; +} + diff --git a/src/surface.h b/src/surface.h new file mode 100644 index 0000000..ecb6ff4 --- /dev/null +++ b/src/surface.h @@ -0,0 +1,55 @@ +/*************************************************************************** + surface.h - description + ------------------- + begin : Sat Oct 14 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef SURFACE_H +#define SURFACE_H + +#include "object.h" +#include "SDL.h" + +class VideoManager; + +class Surface: public Object{ + + public: + + Surface(); + + /** Constructor.*/ + Surface(int width, int height); + + /** Destructor.*/ + virtual ~Surface(); + + /** + @return El ancho de la surface. + */ + virtual int width(); + + /** + @return El alto de la surface. + */ + virtual int height(); + + protected: + + friend class VideoManager; + SDL_Surface * surface; + +}; +#endif + diff --git a/src/systemstream.h b/src/systemstream.h new file mode 100644 index 0000000..28b6ede --- /dev/null +++ b/src/systemstream.h @@ -0,0 +1,43 @@ +/*************************************************************************** + systemstream.h - description + ------------------- + begin : Sat Sep 30 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef SYSTEM_STREAM_H +#define SYSTEM_STREAM_H + +#include "eventstream.h" +#include "SDL.h" + +class SystemStream : public EventStream{ + + public: + + /** En un futuro no muy lejano esto debiera poder sobrescribirse.*/ + + SystemStream(){ + emt[0]=(struct EMT){SDLK_UP, UP}; + emt[1]=(struct EMT){SDLK_DOWN, DOWN}; + emt[2]=(struct EMT){SDLK_LEFT, LEFT}; + emt[3]=(struct EMT){SDLK_RIGHT, RIGHT}; + emt[4]=(struct EMT){SDLK_SPACE, HIT}; + emt[5]=(struct EMT){SDLK_ESCAPE, BACK}; + emt[6]=(struct EMT){SDLK_RETURN, GO}; + npairs=7; + } +}; + +#endif + diff --git a/src/tank.cpp b/src/tank.cpp new file mode 100644 index 0000000..3b219b1 --- /dev/null +++ b/src/tank.cpp @@ -0,0 +1,62 @@ +/*************************************************************************** + tank.cpp - description + ------------------- + begin : Fri Dec 29 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#include "tank.h" + +#define MAX_STATE 20 + +Tank::Tank(unsigned int full_level):AnimatedCanvas(){ + this->full_level=full_level%(Capacity-1); + state=0; + changed=true; +} + +Tank::~Tank(){} + +void Tank::decFullLevel(unsigned int amount){ + if (full_level>0 && (unsigned int)full_level>amount) + full_level-=amount; + else full_level=0; + changed=true; +} + +bool Tank::isEmpty(){ + return full_level<=0; +} + +bool Tank::isChanged(){ + return changed; +} + +void Tank::paint(VideoManager * vm){ + int f=(int)((float)TankHeight*(float)full_level/(float)Capacity); + Image * ima; + + // Borra + vm->fillRect(x,y,TankWidth,TankHeight-f, 0,0,0,OPAQUE); + //Dibuja el liquido + vm->fillRect(x,y+TankHeight-f, TankWidth, f, 103,234,16,OPAQUE); + //Pinta el frente + ima=(vm->getImageManager())->getImage(new Str("tank.png")); + vm->blit(ima,x,y); + changed=false; +} + +void Tank::tick(){ + state=(state+1)%MAX_STATE; +} + + diff --git a/src/tank.h b/src/tank.h new file mode 100644 index 0000000..b59fa1c --- /dev/null +++ b/src/tank.h @@ -0,0 +1,56 @@ +/*************************************************************************** + tank.h - description + ------------------- + begin : Fri Dec 29 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef TANK_H +#define TANK_H + +#include "animatedcanvas.h" + +class Tank: public AnimatedCanvas{ + + public: + + /** Crea una tanque full_level lleno*/ + Tank(unsigned int full_level); + + /** Destructor*/ + ~Tank(); + + /**Disminuye la cantidad en 1.*/ + void decFullLevel(unsigned int amount); + + /** Retorna true si el tanque esta vacio.*/ + bool isEmpty(); + + void paint(VideoManager * vm); + + bool isChanged(); + + void tick(); + + protected: + + static const unsigned int Capacity=2000; + static const unsigned int TankWidth=12; + static const unsigned int TankHeight=180; + + int full_level; + int state; + bool changed; +}; +#endif + diff --git a/src/vertical.cpp b/src/vertical.cpp new file mode 100644 index 0000000..2dc0b8f --- /dev/null +++ b/src/vertical.cpp @@ -0,0 +1,104 @@ +/*************************************************************************** + vertical.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "vertical.h" +#include "pointervertical.h" + +Vertical::Vertical(){ + p=new PointerVertical(); +} + +Vertical::~Vertical(){ + delete p; +} + +bool Vertical::hasConnection(CardinalPoint con){ + return (con==South || con==North); +} + +CardinalPoint Vertical::getOutput(CardinalPoint input){ + if (input==ro) return Void; + switch (input){ + case South: return North; + case North:return South; + default:return Void; + } +} + +void Vertical::restrictAsOutput(CardinalPoint con){ + if (con==North || con==South) ro=con; +} + +bool Vertical::isRestrictedAsOutput(CardinalPoint con){ + return (con==ro); +} + +void Vertical::incFullLevel(CardinalPoint input,unsigned int amount){ + if ((input==North || input==South) && input!=ro) + if ((used_input==Void) || (used_input==input)){ + full_level+=amount; + used_input=input; + } +} + +int Vertical::getFullLevel(CardinalPoint input){ + if (used_input==input) + return full_level; + return -1; +} + +Pointer * Vertical::getPointer(){ + return p; +} + +void Vertical::paint(VideoManager * vm){ + + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("vertical_b.png")); + else + ima=(vm->getImageManager())->getImage(new Str("vertical.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + paintFlow(vm); +} + +void Vertical::paintFlow(VideoManager * vm){ + if (full_level>0){ + Image * aux=(vm->getImageManager())->getImage(new Str("flow.png")); + int xof=x+PipeWidth/2-aux->width()/2; + int yof=aux->height()/2; + int total, f; + vm->setClipping(x, y, PipeWidth, PipeHeight); + vm->enableClipping(true); + if (used_input==North){ + total=y-yof; + f=1; + } + else{ + total=PipeHeight+y-yof; + f=-1; + } + for (int i=0; iblit(aux, xof, total+f*(float)i/(float)full()*(float)PipeHeight); + vm->enableClipping(false); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} + diff --git a/src/vertical.h b/src/vertical.h new file mode 100644 index 0000000..df2f907 --- /dev/null +++ b/src/vertical.h @@ -0,0 +1,52 @@ +/*************************************************************************** + vertical.h - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#ifndef VERTICAL_H +#define VERTICAL_H + +#include "pipe.h" + +class Vertical: public Pipe{ + + public: + + Vertical(); + ~Vertical(); + + bool hasConnection(CardinalPoint con); + + CardinalPoint getOutput(CardinalPoint input); + + void restrictAsOutput(CardinalPoint con); + + bool isRestrictedAsOutput(CardinalPoint con); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + int getFullLevel(CardinalPoint input); + + Pointer * getPointer(); + + void paint(VideoManager * vm); + + protected: + + void paintFlow(VideoManager * vm); + +}; + +#endif + diff --git a/src/verticalbowl.cpp b/src/verticalbowl.cpp new file mode 100644 index 0000000..01be0d7 --- /dev/null +++ b/src/verticalbowl.cpp @@ -0,0 +1,62 @@ +/*************************************************************************** + verticalbowl.cpp - description + ------------------- + begin : Thu Dec 28 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "verticalbowl.h" +#include "pointerverticalbowl.h" + +VerticalBowl::VerticalBowl():Vertical(){ + delete p; /* Esto es asqueroso pero no encontré otra solución para + llamar solo a Pipe()*/ + p=new PointerVerticalBowl(); + bowl_level=0; +} + +void VerticalBowl::incFullLevel(CardinalPoint input,unsigned int amount){ + if ((input==North || input==South) && input!=ro) + if ((used_input==Void) || (used_input==input)){ + if (bowl_level>=BowlCapacity) + full_level+=amount; + else + if (full_level>DefaultCapacity/2) + bowl_level+=amount; + else + full_level+=amount; + used_input=input; + } +} + +void VerticalBowl::paint(VideoManager * vm){ + + Image * ima; + if (fixed) + ima=(vm->getImageManager())->getImage(new Str("bowl_vb.png")); + else + ima=(vm->getImageManager())->getImage(new Str("bowl_v.png")); + vm->blit(ima, x, y); + + if (ro!=Void) paintRestriction(vm, ro); + + paintFlow(vm); + + if (bowl_level>BowlCapacity/2){ + ima=(vm->getImageManager())->getImage(new Str("flow_big.png")); + vm->blit(ima, x, y); + } + if (bonus!=NormalBonus) paintBonus(vm, bonus); +} + + diff --git a/src/verticalbowl.h b/src/verticalbowl.h new file mode 100644 index 0000000..0862768 --- /dev/null +++ b/src/verticalbowl.h @@ -0,0 +1,40 @@ +/*************************************************************************** + verticalbowl.h - description + ------------------- + begin : Thu Dec 28 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef VERTICAL_BOWL_H +#define VERTICAL_BOWL_H + +#include "vertical.h" + +class VerticalBowl: public Vertical{ + + public: + + VerticalBowl(); + + void incFullLevel(CardinalPoint input,unsigned int amount); + + void paint(VideoManager * vm); + + protected: + + static const int BowlCapacity=500; + int bowl_level; + +}; +#endif + diff --git a/src/videomanager.cpp b/src/videomanager.cpp new file mode 100644 index 0000000..a722df7 --- /dev/null +++ b/src/videomanager.cpp @@ -0,0 +1,125 @@ +/*************************************************************************** + videomanager.cpp - description + ------------------- + begin : Thu Aug 17 2000 + copyright : (C) 2000 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "videomanager.h" + +int max(int a, int b){ + return (a>b?a:b); +} + +int min(int a, int b){ + return (aget(), NULL); + delete str; +} + +void VideoManager::blit(Surface * s, int x, int y, int rx, int ry, int rw, int rh){ + SDL_Rect rsrc, rdst; + + rsrc.x=rx; + rsrc.y=ry; + rsrc.w=rw; + rsrc.h=rh; + + rdst.x=x; + rdst.y=y; + + SDL_BlitSurface(s->surface, &rsrc, surface, &rdst); + addRect(rdst.x, rdst.y, (unsigned int)rdst.w, (unsigned int)rdst.h); +} + +void VideoManager::blit(Surface * s, int x, int y){ + SDL_Rect rdst; + + rdst.x=x; + rdst.y=y; + SDL_BlitSurface(s->surface, NULL, surface, &rdst); + addRect(rdst.x, rdst.y, (unsigned int)rdst.w, (unsigned int)rdst.h); +} + +void VideoManager::flush(){ + SDL_UpdateRects(surface, nrects, rects); + nrects=0; +} + +ImageManager * VideoManager::getImageManager(){ + return im; +} + +void VideoManager::fillRect(int x, int y, int w, int h, int r, int g, int b, int a){ + Graphic::fillRect(x,y,w,h,r,g,b,a); + + SDL_Rect rect; + rect.x=x; + rect.y=y; + rect.w=w; + rect.h=h; + addRect(rect.x, rect.y, (unsigned int)rect.w, (unsigned int)rect.h); +} + +void VideoManager::addRect(int x, int y, unsigned int w, unsigned int h){ + SDL_Rect rect; + rect.x=x; + rect.y=y; + rect.w=w; + rect.h=h; + int i=0; + bool ready=false; + while (iimage=image; + image->setAlpha(OPAQUE); +} + +WallPaper::~WallPaper(){ + //delete image; +} + +void WallPaper::repaint(VideoManager * vm, int x, int y, int w, int h){ + /** Pinta el rectangulo (rx,ry,rw,rh) de la surface s + en la posicion (x,y)*/ + vm->blit(image, this->x+x, this->y+y, x, y, w, h); +} + +void WallPaper::paint(VideoManager * vm){ + vm->blit(image, x, y); +} + + diff --git a/src/wallpaper.h b/src/wallpaper.h new file mode 100644 index 0000000..f7c98d2 --- /dev/null +++ b/src/wallpaper.h @@ -0,0 +1,38 @@ +/*************************************************************************** + wallpaper.h - description + ------------------- + begin : Wed Mar 21 2001 + copyright : (C) 2001 by Waldemar Baraldi + email : baraldi@lacasilla.com.ar + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef WALLPAPER_H +#define WALLPAPER_H + +#include "background.h" + +class WallPaper: public Background{ + + public: + WallPaper(Image * image); + virtual ~WallPaper(); + + void repaint(VideoManager * vm, int x, int y, int w, int h); + void paint(VideoManager * vm); + + protected: + + Image * image; +}; + +#endif + 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