]> Dogcows Code - chaz/yoink/commitdiff
new windows installer script, clarified licenses
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Sat, 26 Sep 2009 20:30:21 +0000 (14:30 -0600)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Sat, 26 Sep 2009 20:30:21 +0000 (14:30 -0600)
doc/licenses/BSD [new file with mode: 0644]
doc/licenses/BSD-2 [new file with mode: 0644]
doc/licenses/Boost-1.0 [new file with mode: 0644]
doc/licenses/CCPL-Attribution-ShareAlike-NonCommercial-2.5 [new file with mode: 0644]
doc/licenses/LGPL-2.1 [new file with mode: 0644]
doc/licenses/zlib-libpng [new file with mode: 0644]
extra/nightfusion.xm [moved from extra/NightFusion.xm with 100% similarity]
make-win32-installer.sh.in [new file with mode: 0644]

diff --git a/COPYING b/COPYING
index dc8ae36b114da12641ab23faa249f686c5ff063e..8138ee39d33f4a97a8713a2308b4f562ad85a45d 100644 (file)
-Unles otherwise stated, the contents of this package are licensed according to
-the following terms and conditions:
+Excluding certain portions of this software as mentioned in the last section of
+this document, the software packaged and/or distributed alongside this file are
+licensed according to the following terms and conditions:
 The Simplified BSD License
-Copyright (c) 2009, Charles McGarvey
+Copyright © 2009, Charles McGarvey
 All rights reserved.
-Redistribution   and   use  in  source  and  binary  forms,  with  or  without
+Redistribution  and  use  in  source  and  binary  forms,  with  or without
 modification, are permitted provided that the following conditions are met:
-  * Redistributions  of  source  code  must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-  * Redistributions  in binary form must reproduce the above copyright notice,
-    this  list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-The "fastevents" code is statically linked, unmodified, under the following
-terms and conditions:
-                      Version 2.1, February 1999
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-                           Preamble
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-  When we speak of free software, we are referring to freedom of use,
-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 and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, 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 library.
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  1. You may copy and distribute verbatim copies of the Library's
-complete 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 distribute a copy of this License along with the
-  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
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, 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) The modified work must itself be a software library.
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-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 Library, 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
-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 Library.
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you 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.
-  If distribution of 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 satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be 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.
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library 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.
-  9. 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 Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-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 with
-this License.
-  11. 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 Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library 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 Library.
-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.
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library 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.
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser 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 Library
-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 Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-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
-                    END OF TERMS AND CONDITIONS
-           How to Apply These Terms to Your New Libraries
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    Lesser General Public License for more details.
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-Also add information on how to contact you by electronic and paper mail.
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-That's all there is to it!
+1. Redistributions  of  source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions  in  binary  form  must  reproduce  the  above copyright
+   notice,  this  list  of  conditions  and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+Portions of this software are owned by third parties and licensed under separate
+terms and conditions.  These portions, although packaged together according to
+the distribution rights granted by their own individual licenses, are used and
+provided under their separate terms and conditions and therefore the above
+license can not necessarily be applied to such portions.  Neither do the terms
+and conditions associated with the following portions necessarily apply to the
+files released under the above license.  Please refer to the specific licenses
+used by each of the following portions to understand your rights of use and
+distribution of these portions.
+  Portion: beatthecube.xm, nightfusion.xm
+   Source: http://8bitcollective.com/members/FearofDark/
+Copyright: © 2009, Stephen H. Johnston
+  License: CCPL-Attribution-ShareAlike-NonCommercial-2.5
+  Portion: ConvertUTF.{c,h}
+   Source: http://www.unicode.org/Public/PROGRAMS/CVTUTF/
+Copyright: © 2000-2004, Unicode, Inc.
+  License: see file comments
+  Portion: original image and sound resources
+   Source: http://www.nether.org.uk/bad_mac_code.html
+Copyright: Neil Carter
+  License: zlib-libpng
+  Portion: cml
+   Source: http://www.cmldev.net/
+Copyright: © 2009, Jesse Anders
+  License: Boost-1.0
+  Portion: fastevents.{c,h}
+   Source: http://www.gameprogrammer.com/fastevents/fastevents1.html
+Copyright: © 2002, Bob Pendleton
+  License: LGPL-2.1
+  Portion: stlplus
+   Source: http://stlplus.sourceforge.net/
+Copyright: © 1999-2004 Southampton University, 2004-2009 Andy Rushton
+  License: BSD
+  Portion: yajl
+   Source: http://lloyd.github.com/yajl/
+Copyright: © 2009, Lloyd Hilaiel
+  License: BSD
index fa1e4f58f7959c514d8da7efe44a45ace75a4351..b1ac384fa24020ff0a1c3febe370a562eeb8e031 100644 (file)
@@ -11,6 +11,16 @@ debug: all
        $(MAKE) -C src debug
+if WIN32
+installer: all
+       @echo "Creating win32 installer..."
+       @(sh make-win32-installer.sh 2> installer.log 1>&2 && \
+         rm installer.log && echo "Done.") || \
+       (echo "Installer compilation failed!"; \
+        echo "Check installer.log for details."; exit 1)
 RPMBUILD = rpmbuild
 rpm: dist-bzip2
index 39129322d1de7bf8f522bc144d23877580c5aeeb..561b39e3908a32eadf7b3fed3933035e70a336fd 100644 (file)
@@ -42,6 +42,8 @@ case "${host}" in
                        AC_MSG_ERROR([windres could not be found])
+               AC_PATH_PROGS([MAKENSIS], [makensis])
+               AC_SUBST(MAKENSIS)
                                   [Define to revision version number component.])
+if test x$WIN32 = xyes
 # these are used in src/yoink.rc
@@ -295,6 +303,7 @@ AC_CONFIG_FILES([Makefile
+                                make-win32-installer.sh
diff --git a/doc/licenses/BSD b/doc/licenses/BSD
new file mode 100644 (file)
index 0000000..45f4d9a
--- /dev/null
@@ -0,0 +1,26 @@
+Copyright (c) <YEAR>, <OWNER>
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the <ORGANIZATION> nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
diff --git a/doc/licenses/BSD-2 b/doc/licenses/BSD-2
new file mode 100644 (file)
index 0000000..a995d54
--- /dev/null
@@ -0,0 +1,23 @@
+Copyright (c) <YEAR>, <OWNER>
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
diff --git a/doc/licenses/Boost-1.0 b/doc/licenses/Boost-1.0
new file mode 100644 (file)
index 0000000..1dad8e9
--- /dev/null
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003\r
+Permission is hereby granted, free of charge, to any person or organization\r
+obtaining a copy of the software and accompanying documentation covered by\r
+this license (the "Software") to use, reproduce, display, distribute,\r
+execute, and transmit the Software, and to prepare derivative works of the\r
+Software, and to permit third-parties to whom the Software is furnished to\r
+do so, all subject to the following:\r
+The copyright notices in the Software and this entire statement, including\r
+the above license grant, this restriction and the following disclaimer,\r
+must be included in all copies of the Software, in whole or in part, and\r
+all derivative works of the Software, unless such copies or derivative\r
+works are solely in the form of machine-executable object code generated by\r
+a source language processor.\r
diff --git a/doc/licenses/CCPL-Attribution-ShareAlike-NonCommercial-2.5 b/doc/licenses/CCPL-Attribution-ShareAlike-NonCommercial-2.5
new file mode 100644 (file)
index 0000000..2610a73
--- /dev/null
@@ -0,0 +1,281 @@
+Creative Commons Legal Code
+*Attribution-NonCommercial-ShareAlike 2.5*
+*1. Definitions*
+   1. *"Collective Work"* means a work, such as a periodical issue,
+      anthology or encyclopedia, in which the Work in its entirety in
+      unmodified form, along with a number of other contributions,
+      constituting separate and independent works in themselves, are
+      assembled into a collective whole. A work that constitutes a
+      Collective Work will not be considered a Derivative Work (as
+      defined below) for the purposes of this License.
+   2. *"Derivative Work"* means a work based upon the Work or upon the
+      Work and other pre-existing works, such as a translation, musical
+      arrangement, dramatization, fictionalization, motion picture
+      version, sound recording, art reproduction, abridgment,
+      condensation, or any other form in which the Work may be recast,
+      transformed, or adapted, except that a work that constitutes a
+      Collective Work will not be considered a Derivative Work for the
+      purpose of this License. For the avoidance of doubt, where the
+      Work is a musical composition or sound recording, the
+      synchronization of the Work in timed-relation with a moving image
+      ("synching") will be considered a Derivative Work for the purpose
+      of this License.
+   3. *"Licensor"* means the individual or entity that offers the Work
+      under the terms of this License.
+   4. *"Original Author"* means the individual or entity who created the
+      Work.
+   5. *"Work"* means the copyrightable work of authorship offered under
+      the terms of this License.
+   6. *"You"* means an individual or entity exercising rights under this
+      License who has not previously violated the terms of this License
+      with respect to the Work, or who has received express permission
+      from the Licensor to exercise rights under this License despite a
+      previous violation.
+   7. *"License Elements"* means the following high-level license
+      attributes as selected by Licensor and indicated in the title of
+      this License: Attribution, Noncommercial, ShareAlike.
+*2. Fair Use Rights.* Nothing in this license is intended to reduce,
+limit, or restrict any rights arising from fair use, first sale or other
+limitations on the exclusive rights of the copyright owner under
+copyright law or other applicable laws.
+*3. License Grant.* Subject to the terms and conditions of this License,
+Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+perpetual (for the duration of the applicable copyright) license to
+exercise the rights in the Work as stated below:
+   1. to reproduce the Work, to incorporate the Work into one or more
+      Collective Works, and to reproduce the Work as incorporated in the
+      Collective Works;
+   2. to create and reproduce Derivative Works;
+   3. to distribute copies or phonorecords of, display publicly, perform
+      publicly, and perform publicly by means of a digital audio
+      transmission the Work including as incorporated in Collective Works;
+   4. to distribute copies or phonorecords of, display publicly, perform
+      publicly, and perform publicly by means of a digital audio
+      transmission Derivative Works;
+The above rights may be exercised in all media and formats whether now
+known or hereafter devised. The above rights include the right to make
+such modifications as are technically necessary to exercise the rights
+in other media and formats. All rights not expressly granted by Licensor
+are hereby reserved, including but not limited to the rights set forth
+in Sections 4(e) and 4(f).
+*4. Restrictions.*The license granted in Section 3 above is expressly
+made subject to and limited by the following restrictions:
+   1. You may distribute, publicly display, publicly perform, or
+      publicly digitally perform the Work only under the terms of this
+      License, and You must include a copy of, or the Uniform Resource
+      Identifier for, this License with every copy or phonorecord of the
+      Work You distribute, publicly display, publicly perform, or
+      publicly digitally perform. You may not offer or impose any terms
+      on the Work that alter or restrict the terms of this License or
+      the recipients' exercise of the rights granted hereunder. You may
+      not sublicense the Work. You must keep intact all notices that
+      refer to this License and to the disclaimer of warranties. You may
+      not distribute, publicly display, publicly perform, or publicly
+      digitally perform the Work with any technological measures that
+      control access or use of the Work in a manner inconsistent with
+      the terms of this License Agreement. The above applies to the Work
+      as incorporated in a Collective Work, but this does not require
+      the Collective Work apart from the Work itself to be made subject
+      to the terms of this License. If You create a Collective Work,
+      upon notice from any Licensor You must, to the extent practicable,
+      remove from the Collective Work any credit as required by clause
+      4(d), as requested. If You create a Derivative Work, upon notice
+      from any Licensor You must, to the extent practicable, remove from
+      the Derivative Work any credit as required by clause 4(d), as
+      requested.
+   2. You may distribute, publicly display, publicly perform, or
+      publicly digitally perform a Derivative Work only under the terms
+      of this License, a later version of this License with the same
+      License Elements as this License, or a Creative Commons iCommons
+      license that contains the same License Elements as this License
+      (e.g. Attribution-NonCommercial-ShareAlike 2.5 Japan). You must
+      include a copy of, or the Uniform Resource Identifier for, this
+      License or other license specified in the previous sentence with
+      every copy or phonorecord of each Derivative Work You distribute,
+      publicly display, publicly perform, or publicly digitally perform.
+      You may not offer or impose any terms on the Derivative Works that
+      alter or restrict the terms of this License or the recipients'
+      exercise of the rights granted hereunder, and You must keep intact
+      all notices that refer to this License and to the disclaimer of
+      warranties. You may not distribute, publicly display, publicly
+      perform, or publicly digitally perform the Derivative Work with
+      any technological measures that control access or use of the Work
+      in a manner inconsistent with the terms of this License Agreement.
+      The above applies to the Derivative Work as incorporated in a
+      Collective Work, but this does not require the Collective Work
+      apart from the Derivative Work itself to be made subject to the
+      terms of this License.
+   3. You may not exercise any of the rights granted to You in Section 3
+      above in any manner that is primarily intended for or directed
+      toward commercial advantage or private monetary compensation. The
+      exchange of the Work for other copyrighted works by means of
+      digital file-sharing or otherwise shall not be considered to be
+      intended for or directed toward commercial advantage or private
+      monetary compensation, provided there is no payment of any
+      monetary compensation in connection with the exchange of
+      copyrighted works.
+   4. If you distribute, publicly display, publicly perform, or publicly
+      digitally perform the Work or any Derivative Works or Collective
+      Works, You must keep intact all copyright notices for the Work and
+      provide, reasonable to the medium or means You are utilizing: (i)
+      the name of the Original Author (or pseudonym, if applicable) if
+      supplied, and/or (ii) if the Original Author and/or Licensor
+      designate another party or parties (e.g. a sponsor institute,
+      publishing entity, journal) for attribution in Licensor's
+      copyright notice, terms of service or by other reasonable means,
+      the name of such party or parties; the title of the Work if
+      supplied; to the extent reasonably practicable, the Uniform
+      Resource Identifier, if any, that Licensor specifies to be
+      associated with the Work, unless such URI does not refer to the
+      copyright notice or licensing information for the Work; and in the
+      case of a Derivative Work, a credit identifying the use of the
+      Work in the Derivative Work (e.g., "French translation of the Work
+      by Original Author," or "Screenplay based on original Work by
+      Original Author"). Such credit may be implemented in any
+      reasonable manner; provided, however, that in the case of a
+      Derivative Work or Collective Work, at a minimum such credit will
+      appear where any other comparable authorship credit appears and in
+      a manner at least as prominent as such other comparable authorship
+      credit.
+   5.
+      For the avoidance of doubt, where the Work is a musical composition:
+         1. *Performance Royalties Under Blanket Licenses*. Licensor
+            reserves the exclusive right to collect, whether
+            individually or via a performance rights society (e.g.
+            ASCAP, BMI, SESAC), royalties for the public performance or
+            public digital performance (e.g. webcast) of the Work if
+            that performance is primarily intended for or directed
+            toward commercial advantage or private monetary compensation.
+         2. *Mechanical Rights and Statutory Royalties*. Licensor
+            reserves the exclusive right to collect, whether
+            individually or via a music rights agency or designated
+            agent (e.g. Harry Fox Agency), royalties for any phonorecord
+            You create from the Work ("cover version") and distribute,
+            subject to the compulsory license created by 17 USC Section
+            115 of the US Copyright Act (or the equivalent in other
+            jurisdictions), if Your distribution of such cover version
+            is primarily intended for or directed toward commercial
+            advantage or private monetary compensation.
+   6. *Webcasting Rights and Statutory Royalties*. For the avoidance of
+      doubt, where the Work is a sound recording, Licensor reserves the
+      exclusive right to collect, whether individually or via a
+      performance-rights society (e.g. SoundExchange), royalties for the
+      public digital performance (e.g. webcast) of the Work, subject to
+      the compulsory license created by 17 USC Section 114 of the US
+      Copyright Act (or the equivalent in other jurisdictions), if Your
+      public digital performance is primarily intended for or directed
+      toward commercial advantage or private monetary compensation. 
+*5. Representations, Warranties and Disclaimer*
+*6. Limitation on Liability.* EXCEPT TO THE EXTENT REQUIRED BY
+*7. Termination*
+   1. This License and the rights granted hereunder will terminate
+      automatically upon any breach by You of the terms of this License.
+      Individuals or entities who have received Derivative Works or
+      Collective Works from You under this License, however, will not
+      have their licenses terminated provided such individuals or
+      entities remain in full compliance with those licenses. Sections
+      1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+   2. Subject to the above terms and conditions, the license granted
+      here is perpetual (for the duration of the applicable copyright in
+      the Work). Notwithstanding the above, Licensor reserves the right
+      to release the Work under different license terms or to stop
+      distributing the Work at any time; provided, however that any such
+      election will not serve to withdraw this License (or any other
+      license that has been, or is required to be, granted under the
+      terms of this License), and this License will continue in full
+      force and effect unless terminated as stated above.
+*8. Miscellaneous*
+   1. Each time You distribute or publicly digitally perform the Work or
+      a Collective Work, the Licensor offers to the recipient a license
+      to the Work on the same terms and conditions as the license
+      granted to You under this License.
+   2. Each time You distribute or publicly digitally perform a
+      Derivative Work, Licensor offers to the recipient a license to the
+      original Work on the same terms and conditions as the license
+      granted to You under this License.
+   3. If any provision of this License is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability
+      of the remainder of the terms of this License, and without further
+      action by the parties to this agreement, such provision shall be
+      reformed to the minimum extent necessary to make such provision
+      valid and enforceable.
+   4. No term or provision of this License shall be deemed waived and no
+      breach consented to unless such waiver or consent shall be in
+      writing and signed by the party to be charged with such waiver or
+      consent.
+   5. This License constitutes the entire agreement between the parties
+      with respect to the Work licensed here. There are no
+      understandings, agreements or representations with respect to the
+      Work not specified here. Licensor shall not be bound by any
+      additional provisions that may appear in any communication from
+      You. This License may not be modified without the mutual written
+      agreement of the Licensor and You.
+Creative Commons is not a party to this License, and makes no warranty
+whatsoever in connection with the Work. Creative Commons will not be
+liable to You or any party on any legal theory for any damages
+whatsoever, including without limitation any general, special,
+incidental or consequential damages arising in connection to this
+license. Notwithstanding the foregoing two (2) sentences, if Creative
+Commons has expressly identified itself as the Licensor hereunder, it
+shall have all rights and obligations of Licensor.
+Except for the limited purpose of indicating to the public that the Work
+is licensed under the CCPL, neither party will use the trademark
+"Creative Commons" or any related trademark or logo of Creative Commons
+without the prior written consent of Creative Commons. Any permitted use
+will be in compliance with Creative Commons' then-current trademark
+usage guidelines, as may be published on its website or otherwise made
+available upon request from time to time.
+Creative Commons may be contacted at http://creativecommons.org/
diff --git a/doc/licenses/LGPL-2.1 b/doc/licenses/LGPL-2.1
new file mode 100644 (file)
index 0000000..8add30a
--- /dev/null
@@ -0,0 +1,504 @@
+                      Version 2.1, February 1999
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+                           Preamble
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+  When we speak of free software, we are referring to freedom of use,
+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 and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, 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 library.
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  1. You may copy and distribute verbatim copies of the Library's
+complete 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 distribute a copy of this License along with the
+  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
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, 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) The modified work must itself be a software library.
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+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 Library, 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
+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 Library.
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you 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.
+  If distribution of 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 satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be 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.
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library 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.
+  9. 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 Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+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 with
+this License.
+  11. 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 Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library 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 Library.
+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.
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library 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.
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser 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 Library
+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 Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+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
+                    END OF TERMS AND CONDITIONS
+           How to Apply These Terms to Your New Libraries
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+Also add information on how to contact you by electronic and paper mail.
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+That's all there is to it!
diff --git a/doc/licenses/zlib-libpng b/doc/licenses/zlib-libpng
new file mode 100644 (file)
index 0000000..eef85c5
--- /dev/null
@@ -0,0 +1,19 @@
+Copyright (c) <YEAR> <OWNER>
+This software is provided 'as-is', without any express or implied warranty.
+In no event will the authors be held liable for any damages arising from
+the use of this software.
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+1. The origin of this software must not be misrepresented; you must not
+claim that you wrote the original software. If you use this software in a
+product, an acknowledgment in the product documentation would be
+appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
similarity index 100%
rename from extra/NightFusion.xm
rename to extra/nightfusion.xm
diff --git a/make-win32-installer.sh.in b/make-win32-installer.sh.in
new file mode 100644 (file)
index 0000000..f88dd5e
--- /dev/null
@@ -0,0 +1,469 @@
+# Yoink
+# Run this script to create a win32 installer.
+# This was blatantly yoinked and adapted from the Wormux Project.
+# Programs
+# Anchor paths
+# Stuff
+COMPRESSION="/solid lzma"
+# DLL dependencies
+DLLS="SDL SDL_image zlib1 libpng12-0 OpenAL32 libalut-0 libvorbis-0 libogg-0"
+DLLS="$DLLS libvorbisfile-3"
+# Prepare
+${STRIP:-strip} "$ROOT_DIR/src/yoink.exe"
+rm -rf "$DEST"
+mkdir -p "$DEST"
+# Set installer definitions and strings.
+APP_PATHS_KEY='SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\yoink.exe'
+PROMPT1="Not enough rights to install, aborting. :-("
+PROMPT2="Unable to uninstall the currently installed version of Yoink. The new version will be installed without removing the currently installed version."
+SEC_INSTALL="Install Yoink!"
+SEC_INSTALL_DESC="Installs Yoink to your computer."
+SEC_UNINSTALL="Uninstall previous version."
+SEC_SHORTCUTS="Install Shortcuts."
+SEC_SHORTCUTS_DESC="Install shortcuts at various locations."
+SEC_SHORTCUT1="Place a shortcut on the desktop."
+SEC_SHORTCUT2="Place a shortcut in the start menu."
+SEC_SHORTCUT3="Place an uninstall shortcut in the start menu."
+WEBSITE_LINK="Visit the Yoink website"
+# Begin output of installer script.
+cat > "$SCRIPT" <<EOF
+; based on MUI Welcome/Finish Page Example Script written by Joost Verburg
+!include "MUI2.nsh"
+!include "Sections.nsh"
+!include "LogicLib.nsh"
+!include "FileFunc.nsh"
+!insertmacro GetParent
+Name "Yoink"
+VIProductVersion       "@PVERSION@"
+VIAddVersionKey                "FileDescription"       "Yoink Setup"
+VIAddVersionKey                "ProductName"           "Yoink"
+VIAddVersionKey                "FileVersion"           "@VERSION@"
+VIAddVersionKey                "ProductVersion"        "@VERSION@"
+VIAddVersionKey                "LegalCopyright"        "Copyright 2009 Charles McGarvey et al."
+OutFile                                        "$ROOT_DIR/yoinksetup-@VERSION@.exe"
+SetCompressor                  $COMPRESSION
+ShowInstDetails                        show
+ShowUninstDetails              show
+SetDateSave                            on
+RequestExecutionLevel  highest
+;; Modern UI Configuration ;;
+!define MUI_ICON                                               "$ROOT_DIR/src/yoink.ico"
+!define MUI_UNICON                                             "$ROOT_DIR/src/yoink.ico"
+; Language
+!define MUI_LANGDLL_REGISTRY_ROOT              "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY               "$HKLM_PATH"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+; Misc stuff
+; Do not close dialogs, allow to check installation result
+;Finish Page config
+!define MUI_FINISHPAGE_RUN                             "\$INSTDIR\\yoink.exe"
+!define MUI_FINISHPAGE_LINK                            "$WEBSITE_LINK"
+!define MUI_FINISHPAGE_LINK_LOCATION   "http://www.dogcows.com/"
+; Install
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+; Uninstall
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_FINISH
+!insertmacro MUI_LANGUAGE "English"
+;Reserve Files
+;If you are using solid compression, files that are required before
+;the actual installation should be stored first in the data block,
+;because this will make your installer start faster.
+;Folder-selection page
+InstallDir "\$PROGRAMFILES\\Yoink"
+; Registry key to check for directory (so if you install again, it will 
+; overwrite the old one automatically)
+InstallDirRegKey HKLM "$HKLM_PATH" "Path"
+AutoCloseWindow false
+;; Start Install Sections ;;
+;Create folder only if it doesnt exist yet
+!macro CreateDirectoryOnce FOLDER
+  IfFileExists "\${FOLDER}\\*.*" +1
+    CreateDirectory "\${FOLDER}"
+;Check (un)install rights
+!macro CheckUserInstallRightsMacro UN
+Function \${UN}CheckUserInstallRights
+  Push \$0
+  Push \$1
+  ClearErrors
+  UserInfo::GetName
+  IfErrors Win9x
+  Pop \$0
+  UserInfo::GetAccountType
+  Pop \$1
+  StrCmp \$1 "Admin" 0 +3
+    StrCpy \$1 "HKLM"
+    Goto done
+  StrCmp \$1 "Power" 0 +3
+    StrCpy \$1 "HKLM"
+    Goto done
+  StrCmp \$1 "User" 0 +3
+    StrCpy \$1 "HKCU"
+    Goto done
+  StrCmp \$1 "Guest" 0 +3
+    StrCpy \$1 "NONE"
+    Goto done
+  ; Unknown error
+  StrCpy \$1 "NONE"
+  Goto done
+  Win9x:
+    StrCpy \$1 "HKLM"
+  done:
+    Exch \$1
+    Exch
+    Pop \$0
+!insertmacro CheckUserInstallRightsMacro ""
+!insertmacro CheckUserInstallRightsMacro "un."
+; Uninstall any old version of Yoink
+; Section hidden because automatically selected by the installer
+Section "$SEC_UNINSTALL" SecUninstallOldYoink
+  ; Check install rights..
+  StrCpy \$R3 $HKLM_PATH
+  StrCpy \$R5 "uninstall.exe"
+  Call CheckUserInstallRights
+  Pop \$R0
+  ; "NONE" case already handled at start
+  StrCmp \$R0 "HKCU" _hkcu
+    ReadRegStr \$R1 HKLM \$R3 ""
+    ReadRegStr \$R2 HKLM "\$R4" "UninstallString"
+    Goto try_uninstall
+  _hkcu:
+    ReadRegStr \$R1 HKCU \$R3 ""
+    ReadRegStr \$R2 HKCU "\$R4" "UninstallString"
+  ; If a previous version exists, remove it
+  try_uninstall:
+    ; If first string is unavailable, Yoink was probably not installed
+    StrCmp \$R1 "" done
+      ; Check if we have uninstall string..
+      IfFileExists \$R2 0 no_file
+        ; Have uninstall string, go ahead and uninstall.
+        SetOverwrite on
+        ; Need to copy uninstaller outside of the install dir
+        ClearErrors
+        CopyFiles /SILENT \$R2 "\$TEMP\\\$R5"
+        SetOverwrite off
+        IfErrors uninstall_problem
+          ; Ready to uninstall..
+          ClearErrors
+          ExecWait '"\$TEMP\\\$R5" /S _?=\$R1'
+          IfErrors exec_error
+            Delete "\$TEMP\\\$R5"
+            Goto done
+          exec_error:
+            Delete "\$TEMP\\\$R5"
+            Goto uninstall_problem
+  no_file:
+    MessageBox MB_OK "No uninstaller exe found" /SD IDOK IDOK done
+  uninstall_problem:
+    ; We cant uninstall. Either the user must manually uninstall or
+    ; we ignore and reinstall over it.
+    Quit
+  done:
+; Installer Sections
+Section "$SEC_INSTALL" SecInstallYoink
+  ; Create install and config folders
+  CreateDirectory "\$INSTDIR"
+  ; Set output path to the installation directory.
+  SetOutPath "\$INSTDIR"
+  File "$ROOT_DIR/src/yoink.ico"
+  ; Executing in tmpdir, looking for file in folder below
+  File "$ROOT_DIR/src/yoink.exe"
+  ; data
+  File /r /x Makefile* /x *.desktop "$ROOT_DIR/data"
+  ; uninstall
+  WriteUninstaller "uninstall.exe"
+# Add DLL's to installer
+for dll in $DLLS
+       cat >> "$SCRIPT" <<EOF
+File "@prefix@/bin/$dll.dll"
+# Continue writing the installer
+cat >> "$SCRIPT" <<EOF
+  Call CheckUserInstallRights
+  Pop \$R0
+  ; "NONE" case already handled at start
+  StrCmp \$R0 "HKCU" _hkcu
+    WriteRegStr HKLM "$APP_PATHS_KEY" "" "\$INSTDIR\\yoink.exe"
+    WriteRegStr HKLM "$HKLM_PATH" "" "\$INSTDIR"
+    WriteRegStr HKLM "$HKLM_PATH" "Version" "@VERSION@"
+    WriteRegStr HKLM "$UNINSTALL_KEY" "DisplayName" "Yoink"
+    WriteRegStr HKLM "$UNINSTALL_KEY" "DisplayVersion" "@VERSION@"
+    WriteRegStr HKLM "$UNINSTALL_KEY" "UninstallString" "\$INSTDIR\\uninstall.exe"
+    ;Write language to the registry (for the uninstaller)
+    WriteRegStr HKLM "$HKLM_PATH" "Installer Language" \$LANGUAGE
+    ; Sets scope of the desktop and Start Menu entries for all users.
+    SetShellVarContext "all"
+    Goto _next
+  _hkcu:
+    WriteRegStr HKCU "$HKLM_PATH" "" "\$INSTDIR"
+    WriteRegStr HKCU "$HKLM_PATH" "Version" "@VERSION@"
+    WriteRegStr HKCU "$UNINSTALL_KEY" "DisplayName" "Yoink"
+    WriteRegStr HKCU "$UNINSTALL_KEY" "DisplayVersion" "@VERSION@"
+    WriteRegStr HKCU "$UNINSTALL_KEY" "UninstallString" "\$INSTDIR\\uninstall.exe"
+    ;Write language to the registry (for the uninstaller)
+    WriteRegStr HKCU "$HKLM_PATH" "Installer Language" \$LANGUAGE
+    ;SetShellVarContext "current"
+  _next:
+SectionEnd ; Installer section
+SectionGroup /e "$SEC_SHORTCUTS" SecShortcuts
+       ; Desktop shortcut
+Section /o "$SEC_SHORTCUT1" SecDesktopShortcut
+SetOverwrite on
+CreateShortCut "\$DESKTOP\\Yoink.lnk" "\$INSTDIR\\yoink.exe" \
+       "" "\$INSTDIR\\yoink.exe" 0
+SetOverwrite off
+       ; Yoink shortcut in start menu
+Section "$SEC_SHORTCUT2" SecStartMenuShortcut
+SetOverwrite on
+!insertmacro CreateDirectoryOnce "\$SMPROGRAMS\\Yoink"
+CreateShortCut "\$SMPROGRAMS\\Yoink\\Play Yoink!.lnk" \
+       "\$INSTDIR\\yoink.exe" "" "\$INSTDIR\\yoink.exe" 0
+SetOverwrite off
+       ; Yoink uninstall shortcut in start menu
+       ; Might be forced if user has no install rights,
+       ; because it would be complex otherwise:
+       ; - No uninstall available in Windows "Program uninstall"
+       ; - Folder lost in APPDATA, which can be hidden, etc
+Section "$SEC_SHORTCUT3" SecUninstallShortcut
+SetOverwrite on
+!insertmacro CreateDirectoryOnce "\$SMPROGRAMS\\Yoink"
+CreateShortCut  "\$SMPROGRAMS\\Yoink\\Uninstall.lnk" \
+       "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0
+SetOverwrite off
+!insertmacro MUI_DESCRIPTION_TEXT \${SecInstallYoink}          "$SEC_INSTALL_DESC"
+!insertmacro MUI_DESCRIPTION_TEXT \${SecShortcuts}                     "$SEC_SHORTCUTS_DESC"
+!insertmacro MUI_DESCRIPTION_TEXT \${SecDesktopShortcut}       "$SEC_SHORTCUT1"
+!insertmacro MUI_DESCRIPTION_TEXT \${SecStartMenuShortcut}     "$SEC_SHORTCUT2"
+!insertmacro MUI_DESCRIPTION_TEXT \${SecUninstallShortcut}     "$SEC_SHORTCUT3"
+;Uninstaller Section
+Section "Uninstall"
+  ; Set install path according to user rights
+  Call un.CheckUserInstallRights
+  Pop \$R0
+  StrCmp \$R0 "HKLM" _hklm
+  ; Also used as fallback by HKLM case
+  _hkcu:
+    ReadRegStr \$R0 HKCU "$HKLM_PATH" ""
+    StrCmp \$R0 "\$INSTDIR" 0 _next
+      ; HKCU install path matches our INSTDIR so uninstall
+      DeleteRegKey HKCU "$HKLM_PATH"
+      DeleteRegKey HKCU "$UNINSTALL_KEY"
+      Goto _next
+  _hklm:
+    ReadRegStr \$R0 HKLM "$HKLM_PATH" ""
+    StrCmp \$R0 \$INSTDIR 0 _hkcu
+      ; HKLM install path matches our INSTDIR so uninstall
+      DeleteRegKey HKLM "$APP_PATHS_KEY"
+      DeleteRegKey HKLM "$HKLM_PATH"
+      DeleteRegKey HKLM "$UNINSTALL_KEY"
+      SetShellVarContext all
+  _next:
+    ; Remove Language preference info
+    DeleteRegValue HKCU "$HKLM_PATH" "Installer Language"
+    ; remove shortcuts, if any.
+    Delete "\$SMPROGRAMS\\Yoink\\*.*"
+    RMDir  "\$SMPROGRAMS\\Yoink"
+    Delete "\$SMPROGRAMS\\Yoink.lnk"
+    Delete "\$DESKTOP\\Yoink.lnk"
+    ; remove files
+    RMDir /r "\$INSTDIR"
+Function .onInit
+  ;Language selection
+  !insertmacro MUI_LANGDLL_DISPLAY
+  IntOp \$R0 \${SF_RO} | \${SF_SELECTED}
+  SectionSetFlags \${SecInstallYoink} \$R0
+  SectionSetFlags \${SecUninstallOldYoink} \$R0
+  ; Set install path according to user rights
+  Call CheckUserInstallRights
+  Pop \$R0
+  StrCmp \$R0 "NONE" _none
+  StrCmp \$R0 "HKLM" 0 _hkcu
+    StrCpy \$INSTDIR "\$PROGRAMFILES\\Yoink"
+    Goto _done
+  _hkcu:
+    Push \$SMPROGRAMS
+    \${GetParent} \$SMPROGRAMS \$R2
+    \${GetParent} \$R2 \$R2
+    StrCpy \$INSTDIR "\$R2\\Yoink"
+    ; In this case uninstall shortcut *must* be available because
+    ; the alternative are complex for the user
+    IntOp \$R0 \${SF_RO} | \${SF_SELECTED}
+    SectionSetFlags \${SecUninstallShortcut} \$R0
+    Goto _done
+  _none:
+   ; Not going to bother
+   MessageBox MB_OK "$PROMPT1" /SD IDOK
+   Quit
+  _done:
+; INSTDIR will be determined by reading a registry key
+Function un.onInit
+  !insertmacro MUI_UNGETLANGUAGE
+  ; Set install path according to user rights
+  Call un.CheckUserInstallRights
+  Pop \$R0
+  StrCmp \$R0 "NONE" _none
+    Goto _end
+  _none:
+   ; Not going to bother
+   MessageBox MB_OK "$PROMPT1" /SD IDOK
+   Quit
+  _end:
+# Compile the installer and cleanup.
+if ! "${MAKENSIS:-makensis}" "$SCRIPT"
+       echo "makensis failed, aborting..."
+       exit 1
+rm -rf "$DEST"
This page took 0.06141 seconds and 4 git commands to generate.