[ming] 02/13: Imported Upstream version 0.4.6

Gabriele Giacone gg0-guest at moszumanska.debian.org
Fri May 15 11:53:25 UTC 2015


This is an automated email from the git hooks/post-receive script.

gg0-guest pushed a commit to branch master
in repository ming.

commit 5c9dcc1ce8e5fe6927a88c5960be2f15308ccd3e
Author: Gabriele Giacone <1o5g4r8o at gmail.com>
Date:   Thu May 14 17:24:06 2015 +0200

    Imported Upstream version 0.4.6
---
 .gitignore                                         |    25 +
 .travis.yml                                        |     4 +
 COPYING                                            |   504 -
 ChangeLog                                          | 16684 ----------------
 Makefile.am                                        |     3 +
 Makefile.in                                        |   899 -
 NEWS                                               |     9 +
 README                                             |     5 +-
 README.md                                          |     1 +
 aclocal.m4                                         |  1121 --
 c++_ext/.gitignore                                 |     1 +
 c++_ext/Makefile                                   |    11 +
 c++_ext/README                                     |     9 +
 c++_ext/test.cpp                                   |    21 +
 ch/Makefile                                        |    14 +
 ch/c/Make.inc                                      |    40 +
 ch/c/Makefile                                      |    23 +
 ch/c/Makefile.win                                  |    23 +
 ch/c/handmade/Ming_setErrorFunction_chdl.c         |     7 +
 ch/c/handmade/Ming_setWarnFunction_chdl.c          |     7 +
 ch/c/handmade/SWFMovie_output_chdl.c               |    34 +
 ch/chfhandmade/Ming_setErrorFunction.chf           |    10 +
 ch/chfhandmade/Ming_setWarnFunction.chf            |    10 +
 ch/chfhandmade/SWFMovie_output.chf                 |    13 +
 ch/demos/action.c                                  |    60 +
 ch/demos/backyard.jpg                              |   Bin 0 -> 82044 bytes
 ch/demos/backyard.png                              |   Bin 0 -> 717521 bytes
 ch/demos/button.c                                  |    51 +
 ch/demos/cxform.c                                  |    67 +
 ch/demos/drag.c                                    |    53 +
 ch/demos/gradient.c                                |    64 +
 ch/demos/gradientxform.c                           |    79 +
 ch/demos/jpegfill.c                                |    43 +
 ch/demos/png.c                                     |    44 +
 ch/demos/png.dbl                                   |   Bin 0 -> 195081 bytes
 src/libming.h => ch/include/blocklist.h            |    67 +-
 src/libming.h => ch/include/blocks/action.h        |    66 +-
 src/libming.h => ch/include/blocks/bitmap.h        |    63 +-
 ch/include/blocks/block.h                          |    96 +
 ch/include/blocks/blocktypes.h                     |    99 +
 src/libming.h => ch/include/blocks/browserfont.h   |    64 +-
 src/libming.h => ch/include/blocks/button.h        |    63 +-
 ch/include/blocks/character.h                      |   127 +
 src/libming.h => ch/include/blocks/cxform.h        |    67 +-
 src/libming.h => ch/include/blocks/dbl.h           |    85 +-
 ch/include/blocks/error.h                          |    28 +
 src/libming.h => ch/include/blocks/exports.h       |    68 +-
 src/libming.h => ch/include/blocks/fillstyle.h     |    70 +-
 ch/include/blocks/font.h                           |   145 +
 src/libming.h => ch/include/blocks/fontinfo.h      |    65 +-
 src/libming.h => ch/include/blocks/fromswf.h       |    76 +-
 src/libming.h => ch/include/blocks/gradient.h      |    69 +-
 ch/include/blocks/imports.h                        |    31 +
 ch/include/blocks/input.h                          |    25 +
 src/libming.h => ch/include/blocks/jpeg.h          |    63 +-
 src/libming.h => ch/include/blocks/libswf.h        |    46 +-
 src/libming.h => ch/include/blocks/linestyle.h     |    70 +-
 src/libming.h => ch/include/blocks/matrix.h        |    75 +-
 src/libming.h => ch/include/blocks/method.h        |    72 +-
 src/libming.h => ch/include/blocks/morph.h         |    61 +-
 ch/include/blocks/output.h                         |    98 +
 src/libming.h => ch/include/blocks/outputblock.h   |    65 +-
 ch/include/blocks/placeobject.h                    |    68 +
 src/libming.h => ch/include/blocks/rect.h          |    73 +-
 ch/include/blocks/shape.h                          |    83 +
 src/libming.h => ch/include/blocks/sound.h         |    68 +-
 src/libming.h => ch/include/blocks/soundinstance.h |    68 +-
 src/libming.h => ch/include/blocks/soundstream.h   |    72 +-
 src/libming.h => ch/include/blocks/sprite.h        |    68 +-
 ch/include/blocks/swf.h                            |   554 +
 ch/include/blocks/text.h                           |    82 +
 src/libming.h => ch/include/blocks/textfield.h     |    72 +-
 ch/include/blocks/ttffont.h                        |   107 +
 ch/include/blocks/utf8.h                           |    19 +
 ch/include/blocks/videostream.h                    |    84 +
 ch/include/displaylist.h                           |    92 +
 src/libming.h => ch/include/fill.h                 |    62 +-
 src/libming.h => ch/include/font_util.h            |    62 +-
 ch/include/gc.h                                    |    14 +
 {src => ch/include}/libming.h                      |    12 -
 ch/include/ming_config.h                           |    27 +
 src/libming.h => ch/include/movie.h                |    63 +-
 src/libming.h => ch/include/movieclip.h            |    61 +-
 src/libming.h => ch/include/position.h             |    76 +-
 src/libming.h => ch/include/shape_cubic.h          |    65 +-
 src/libming.h => ch/include/shape_util.h           |    61 +-
 src/libming.h => ch/include/text_util.h            |    65 +-
 ch/pkgcreate.ch                                    |   391 +
 ch/pkginstall.ch                                   |   325 +
 ch/readme.txt                                      |    70 +
 config/.gitignore                                  |     1 +
 config/ltmain.sh                                   |  9661 ---------
 configure                                          | 19886 -------------------
 configure.in                                       |    10 +-
 docs/.gitignore                                    |     2 +
 docs/Makefile.in                                   |   433 -
 docs/man/Makefile                                  |   615 -
 docs/man/Makefile.am                               |   159 +-
 docs/man/Makefile.in                               |   615 -
 java_ext/MANIFEST                                  |    60 +
 java_ext/Makefile                                  |    57 +
 java_ext/README                                    |    82 +
 java_ext/SWFAction.java                            |    41 +
 java_ext/SWFActionI.java                           |    35 +
 java_ext/SWFBitmap.java                            |    80 +
 java_ext/SWFBitmapI.java                           |    35 +
 java_ext/SWFButton.java                            |    82 +
 java_ext/SWFButtonI.java                           |    62 +
 java_ext/SWFColor.java                             |    90 +
 java_ext/SWFDimensionableI.java                    |    38 +
 java_ext/SWFDisplayItem.java                       |   139 +
 java_ext/SWFDisplayItemI.java                      |    71 +
 java_ext/SWFException.java                         |    44 +
 java_ext/SWFFill.java                              |   117 +
 java_ext/SWFFillI.java                             |    72 +
 java_ext/SWFFont.java                              |    85 +
 java_ext/SWFFontI.java                             |    42 +
 java_ext/SWFGradient.java                          |    60 +
 java_ext/SWFGradientI.java                         |    37 +
 java_ext/SWFMatrix.java                            |   141 +
 java_ext/SWFMorph.java                             |    64 +
 java_ext/SWFMorphI.java                            |    39 +
 java_ext/SWFMovie.java                             |   144 +
 java_ext/SWFMovieClip.java                         |    97 +
 java_ext/SWFMovieClipI.java                        |    45 +
 java_ext/SWFMovieI.java                            |    60 +
 java_ext/SWFObject.java                            |   170 +
 java_ext/SWFObjectI.java                           |    53 +
 java_ext/SWFShape.java                             |   257 +
 java_ext/SWFShapeI.java                            |    68 +
 java_ext/SWFSound.java                             |    41 +
 java_ext/SWFSoundI.java                            |    35 +
 java_ext/SWFSoundStream.java                       |    29 +
 java_ext/SWFText.java                              |   101 +
 java_ext/SWFTextField.java                         |   112 +
 java_ext/SWFTextFieldI.java                        |    73 +
 java_ext/SWFTextI.java                             |    49 +
 java_ext/SWFVideoStream.java                       |    37 +
 java_ext/Tests/Simple.java                         |    74 +
 java_ext/Tests/SlideShow.java                      |    80 +
 java_ext/native/Makefile                           |    16 +
 java_ext/native/SWFAction.h                        |    36 +
 java_ext/native/SWFBitmap.h                        |    88 +
 java_ext/native/SWFButton.h                        |    61 +
 java_ext/native/SWFDisplayItem.h                   |   173 +
 java_ext/native/SWFFill.h                          |   141 +
 java_ext/native/SWFFont.h                          |    93 +
 java_ext/native/SWFGradient.h                      |    53 +
 java_ext/native/SWFMorph.h                         |    61 +
 java_ext/native/SWFMovie.h                         |   165 +
 java_ext/native/SWFMovieClip.h                     |    85 +
 java_ext/native/SWFNative.cc                       |  1042 +
 java_ext/native/SWFNative.h                        |    22 +
 java_ext/native/SWFShape.h                         |   203 +
 java_ext/native/SWFSound.h                         |    36 +
 java_ext/native/SWFSoundStream.h                   |    20 +
 java_ext/native/SWFText.h                          |   117 +
 java_ext/native/SWFTextField.h                     |   143 +
 java_ext/native/SWFUtilities.h                     |    89 +
 java_ext/native/SWFVideoStream.h                   |    24 +
 macros/.gitignore                                  |     7 +
 macros/Makefile.in                                 |   429 -
 macros/libtool.m4                                  |  7983 --------
 macros/ltoptions.m4                                |   384 -
 macros/ltsugar.m4                                  |   123 -
 macros/ltversion.m4                                |    23 -
 macros/lt~obsolete.m4                              |    98 -
 ming.spec                                          |    73 -
 perl_ext/.gitignore                                |    43 +
 perl_ext/Makefile.in                               |   479 -
 perl_ext/SWF/.gitignore                            |     1 +
 perl_ext/common/flowers.jpg                        |   Bin 0 -> 21775 bytes
 perl_ext/common/flowers.msk                        |   Bin 0 -> 22306 bytes
 perl_ext/t/.gitignore                              |     2 +
 php_ext/.gitignore                                 |     8 +
 php_ext/Makefile.in                                |   657 -
 php_ext/config.m4                                  |   116 +
 php_ext/make_module.sh                             |    16 +
 php_ext/ming.c                                     |    42 +-
 php_ext/php_ming.h                                 |    41 +-
 py_ext/.gitignore                                  |     7 +
 py_ext/Makefile.in                                 |   453 -
 py_ext/Zwiff/.gitignore                            |     6 +
 py_ext/setup.py                                    |    32 -
 py_ext/setup.py.in                                 |     2 +-
 rb_ext/.gitignore                                  |     1 +
 rb_ext/MANIFEST                                    |     6 +
 rb_ext/README                                      |    14 +
 rb_ext/depend                                      |    13 +
 rb_ext/extconf.rb                                  |     6 +
 rb_ext/ming.rb                                     |   621 +
 rb_ext/shape.rb                                    |    17 +
 rb_ext/test.rb                                     |    19 +
 src/.gitignore                                     |    14 +
 src/Makefile.in                                    |   969 -
 src/actioncompiler/.gitignore                      |    14 +
 src/actioncompiler/Makefile.in                     |   627 -
 src/actioncompiler/compile.c                       |     0
 src/actioncompiler/compile.h                       |     2 +-
 src/actioncompiler/lex.swf4.c                      |  3222 ---
 src/actioncompiler/lex.swf5.c                      |  3938 ----
 src/actioncompiler/listaction.c                    |     0
 src/actioncompiler/main.c                          |   128 +
 src/actioncompiler/swf4compiler.flex               |     2 +-
 src/actioncompiler/swf4compiler.tab.c              |  3746 ----
 src/actioncompiler/swf4compiler.tab.h              |   284 -
 src/actioncompiler/swf4compiler.y                  |     3 +-
 src/actioncompiler/swf5compiler.flex               |     2 +-
 src/actioncompiler/swf5compiler.tab.c              |  7903 --------
 src/actioncompiler/swf5compiler.tab.h              |   444 -
 src/actioncompiler/swf5compiler.y                  |    15 +-
 src/blocks/.gitignore                              |     7 +
 src/blocks/Makefile.in                             |  1260 --
 src/blocks/gifdbl.c                                |    13 +
 src/libming.h                                      |    33 +-
 src/ming.h                                         |  1084 -
 src/ming.h.in                                      |     4 +
 src/ming_config.h                                  |   132 -
 src/ming_config.h.in                               |   131 -
 tcl_ext/.gitignore                                 |     4 +
 tcl_ext/Makefile.in                                |   636 -
 test/.gitignore                                    |     2 +
 test/Action/.gitignore                             |    11 +
 test/Action/Makefile.in                            |   958 -
 test/Bitmap/.gitignore                             |    11 +
 test/Bitmap/Makefile.in                            |   960 -
 test/BrowserFont/.gitignore                        |     9 +
 test/BrowserFont/Makefile.in                       |   933 -
 test/Button/.gitignore                             |    13 +
 test/Button/Makefile.in                            |   979 -
 test/FillStyle/.gitignore                          |    23 +
 test/FillStyle/Makefile.in                         |  1114 --
 test/Filter/.gitignore                             |    21 +
 test/Filter/Makefile.in                            |  1031 -
 test/Font/.gitignore                               |    21 +
 test/Font/Makefile.in                              |  1087 -
 test/Gradient/.gitignore                           |    25 +
 test/Gradient/Makefile.in                          |  1118 --
 test/LineStyle/.gitignore                          |    13 +
 test/LineStyle/Makefile.in                         |   977 -
 test/Makefile.in                                   |   652 -
 test/Media/.gitignore                              |     2 +
 test/Media/Makefile.in                             |   640 -
 test/Morph/.gitignore                              |    11 +
 test/Morph/Makefile.in                             |   957 -
 test/Movie/.gitignore                              |     2 +
 test/Movie/Background/.gitignore                   |    15 +
 test/Movie/Background/Makefile.in                  |   986 -
 test/Movie/Dimension/.gitignore                    |     9 +
 test/Movie/Dimension/Makefile.in                   |   934 -
 test/Movie/FrameLabel/.gitignore                   |    12 +
 test/Movie/FrameLabel/Makefile.in                  |   960 -
 test/Movie/Makefile.in                             |   644 -
 test/Movie/NumFrames/.gitignore                    |     9 +
 test/Movie/NumFrames/Makefile.in                   |   933 -
 test/Movie/Protect/.gitignore                      |    16 +
 test/Movie/Protect/Makefile.in                     |   962 -
 test/Movie/Rate/.gitignore                         |     9 +
 test/Movie/Rate/Makefile.in                        |   933 -
 test/Movie/add/.gitignore                          |    21 +
 test/Movie/add/Makefile.in                         |   962 -
 test/Movie/addMetadata/.gitignore                  |     9 +
 test/Movie/addMetadata/Makefile.in                 |   933 -
 test/Movie/assignSymbol/.gitignore                 |     9 +
 test/Movie/assignSymbol/Makefile.in                |   933 -
 test/Movie/defineScene/.gitignore                  |     9 +
 test/Movie/defineScene/Makefile.in                 |   932 -
 test/Movie/importCharacter/.gitignore              |    12 +
 test/Movie/importCharacter/Makefile.in             |   957 -
 test/Movie/new/.gitignore                          |    27 +
 test/Movie/new/Makefile.in                         |  1091 -
 test/Movie/nextFrame/.gitignore                    |    21 +
 test/Movie/nextFrame/Makefile.in                   |   959 -
 test/Movie/nextFrame/test01.tcl                    |    20 +
 test/Movie/replace/.gitignore                      |    12 +
 test/Movie/replace/Makefile.in                     |   957 -
 test/Movie/setNetworkAccess/.gitignore             |    11 +
 test/Movie/setNetworkAccess/Makefile.in            |   958 -
 test/Movie/setScriptLimits/.gitignore              |     9 +
 test/Movie/setScriptLimits/Makefile.in             |   933 -
 test/Movie/setSoundStream/.gitignore               |    15 +
 test/Movie/setSoundStream/Makefile.in              |  1010 -
 test/Movie/setTabIndex/.gitignore                  |     9 +
 test/Movie/setTabIndex/Makefile.in                 |   932 -
 test/MovieClip/.gitignore                          |    13 +
 test/MovieClip/Makefile.in                         |   976 -
 test/PrebuiltClip/.gitignore                       |     9 +
 test/PrebuiltClip/Makefile.in                      |   931 -
 test/Shape/.gitignore                              |    11 +
 test/Shape/Makefile.in                             |   959 -
 test/Shape/addSolidFill/Makefile.in                |   933 -
 test/Shape/addSolidFill/test01.tcl                 |    35 +
 test/Sound/.gitignore                              |    13 +
 test/Sound/Makefile.in                             |   983 -
 test/SoundStream/.gitignore                        |    13 +
 test/SoundStream/Makefile.in                       |   986 -
 test/Text/.gitignore                               |    13 +
 test/Text/Makefile.in                              |   986 -
 test/TextField/.gitignore                          |    11 +
 test/TextField/Makefile.in                         |   960 -
 test/Video/.gitignore                              |    19 +
 test/Video/Makefile.in                             |  1066 -
 test/actionscript/.gitignore                       |     7 +
 test/actionscript/Makefile.in                      |  1009 -
 test/find_misdistributed                           |    10 +
 test/find_missing                                  |    18 +
 util/.gitignore                                    |    35 +
 util/Makefile.in                                   |  1229 --
 util/gif2dbl.c                                     |    22 +-
 util/gif2mask.c                                    |    19 +-
 util/makeswf.c                                     |     4 +-
 util/old/.gitignore                                |    16 +
 util/old/Makefile                                  |    32 +
 util/old/bindump.c                                 |    73 +
 util/old/blocktypes.c                              |    50 +
 util/old/decompile4.c                              |  1404 ++
 util/old/hexdump.c                                 |    71 +
 util/old/img2swf.c                                 |   106 +
 util/old/listswf.c                                 |  2093 ++
 util/old/read.c                                    |   312 +
 util/old/read.h                                    |    29 +
 util/outputswf.c                                   |  1266 ++
 win32/MANIFEST                                     |     2 +
 win32/libming.dsp                                  |   704 +
 win32/libming.dsw                                  |    29 +
 325 files changed, 17703 insertions(+), 127701 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ca4fddd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,25 @@
+*.o
+Makefile.in
+Makefile
+.AppleDouble
+ming_wrap.c
+Makefile.config
+libming.so.*
+config.log
+config.status
+ming.spec
+*.tar.gz
+*.tar.bz2
+*.zip
+autom4te.cache
+aclocal.m4
+config.cache
+libming.a
+libming.so
+libtool
+configure
+.project
+config/test-driver
+*.log
+*.trs
+*~
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..56e8143
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,4 @@
+before_install:
+  - ./autogen.sh
+
+language: c
diff --git a/COPYING b/COPYING
deleted file mode 100644
index b1e3f5a..0000000
--- a/COPYING
+++ /dev/null
@@ -1,504 +0,0 @@
-		  GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[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
-system.
-
-  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.
-

-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  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
-Library.
-
-  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 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
-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 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
-distribute.
-

-  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
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "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
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. 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 LIBRARY 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
-LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-

-           How to Apply These Terms to Your New 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
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  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/ChangeLog b/ChangeLog
deleted file mode 100644
index 3a18dcc..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,16684 +0,0 @@
-2013-06-08  Stuart R. Anderson <anderson at netsweng.com>
-
-	* util/Makefile.am: Eeek... wrong file name in the headers list.
-	vasprintf.h is missing from the release tarballs.
-
-2013-06-08  Stuart R. Anderson <anderson at netsweng.com>
-
-	* NEWS: Add list of fixes, and call it 0.4.5
-
-2013-06-08  Stuart R. Anderson <anderson at netsweng.com>
-
-	* perl_ext/Exports.c, perl_ext/perl_swf.h: Apply patch
-	07-GvCV-isn-t-an-lvalue-since-Perl-5.13.10 from the Debian package
-
-2013-06-08  Stuart R. Anderson <anderson at netsweng.com>
-
-	* perl_ext/Makefile.PL: Apply patch 05_shared_perl from the Debian
-	package
-
-2013-06-08  Stuart R. Anderson <anderson at netsweng.com>
-
-	* php_ext/ming.c: Fix issue #6
-
-2013-06-08  Stuart R. Anderson <anderson at netsweng.com>
-
-	* php_ext/ming.c: Fix issue #9 using patch from Debian bug #662620
-
-2013-06-03  Andreas Stieger <andreas.stieger at gmx.de>
-
-	* src/blocks/pngdbl.c, util/dbl2png.c, util/png2dbl.c: Fix some
-	openSUSE build warnings Fix implicit definitions of functions [  155s] I: Program is using implicit definitions of functions
-	getting [  155s]    pointers or implemented by macros. These
-	functions need to use their [  155s]    correct prototypes to allow
-	correct argument passing on e.g. x86_64 .  [  155s]      - Implicit
-	memory/string functions need #include <string.h>.  [  155s]      -
-	Implicit *printf functions need #include <stdio.h>.  [  155s]      -
-	Implicit *printf functions need #include <stdio.h>.  [  155s]      -
-	Implicit *read* functions need #include <unistd.h>.  [  155s]      -
-	Implicit *recv* functions need #include <sys/socket.h>.  [  155s] W:
-	ploticus implicit-pointer-decl dbl2png.c:274 [  155s] W: ploticus
-	implicit-pointer-decl png2dbl.c:353 [  155s] [  155s] I: Program is
-	likely to break with new gcc. Try -fno-strict-aliasing.  [  155s] W:
-	ploticus strict-aliasing-punning read.c:134, 146 [  155s] [  155s]
-	I: Program is using implicit definitions of special functions.  [
-	155s]    these functions need to use their correct prototypes to
-	allow [  155s]    the lightweight buffer overflow checking to work.
-	[  155s]      - Implicit memory/string functions need #include
-	<string.h>.  [  155s]      - Implicit *printf functions need
-	#include <stdio.h>.  [  155s]      - Implicit *printf functions need
-	#include <stdio.h>.  [  155s]      - Implicit *read* functions need
-	#include <unistd.h>.  [  155s]      - Implicit *recv* functions need
-	#include <sys/socket.h>.  [  155s] E: ploticus implicit-fortify-decl
-	dbl2png.c:258, 267 [  155s] E: ploticus implicit-fortify-decl
-	png2dbl.c:245, 272, 337, 346 [  155s] E: ploticus
-	implicit-fortify-decl pngdbl.c:97, 278 Signed-off-by: Sandro Santilli <strk at keybit.net>
-
-2012-06-07  John Hein <6zdtkz6xth at snkmail.com>
-
-	* NEWS, configure.in, src/libming.h, util/gif2dbl.c,
-	util/gif2mask.c: Use giflib in preference to older ungif.  Recent giflib 4.2.0 has removed PrintGifError - accomodate that
-	change.
-
-2012-03-14  Sandro Santilli <strk at keybit.net>
-
-	* util/outputdecl.h, util/outputscript.c: Avoid wild casting
-	SWF_LINESTYLE2 to SWF_LINESTYLE (#118) Doesn't output SWF_LINESTYLE2 properly, but should fix building
-
-2012-03-09  Sandro Santilli <strk at keybit.net>
-
-	* NEWS: Update NEWS
-
-2012-03-09  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: void function cannot return value (#118)
-
-2012-03-09  Sandro Santilli <strk at keybit.net>
-
-	* configure.in: Oops, fix for previous commit (typo)
-
-2012-03-09  Sandro Santilli <strk at keybit.net>
-
-	* NEWS, configure.in: Use -features=extensions for SunStudio
-	compiler (#103)
-
-2011-12-12  Sandro Santilli <strk at keybit.net>
-
-	* util/parser.c: Use advancebits to compute allocation size for
-	advances.  This fixes a bug with previous fix. Oops.  Thanks Ehy for peer
-	review.
-
-2011-12-11  Sandro Santilli <strk at keybit.net>
-
-	* NEWS: Add NEWS item about font parsing fix
-
-2011-12-11  Sandro Santilli <strk at keybit.net>
-
-	* util/parser.c: Fix short allocation parsing empty glyph record.  See https://github.com/libming/libming/issues/4
-
-2011-12-07  Sandro Santilli <strk at keybit.net>
-
-	* NEWS, test/actionscript/ActionScriptTest.c: Allow tabs in addition
-	to spaces in the macro listing testcases.  See https://github.com/libming/libming/issues/3
-
-2011-10-31  Shigeharu TAKENO <shige at iee.niit.ac.jp>
-
-	* util/Makefile.am: Link makeswf to libutil, for vasprintf Signed-off-by: Sandro Santilli <strk at keybit.net>
-
-2011-10-29  Sandro Santilli <strk at keybit.net>
-
-	* NEWS: Add item about vasprintf change
-
-2011-10-29  Sandro Santilli <strk at keybit.net>
-
-	* test/actionscript/ActionScriptTest.c,
-	test/actionscript/Makefile.am, util/Makefile.am, util/decompile.c,
-	util/makeswf.c, util/makeswf_utils.c, util/vasprintf.c,
-	util/vasprintf.h: Put vasprintf own implementation in its own file
-
-2011-10-28  Sandro Santilli <strk at keybit.net>
-
-	* NEWS: Add TCL seeking improvement
-
-2011-10-28  Shigeharu TAKENO <shige at iee.niit.ac.jp>
-
-	* configure.in: Search for tcl libs/includes in ../include and
-	../lib from tcl binary dir
-
-2011-10-28  Shigeharu TAKENO <shige at iee.niit.ac.jp>
-
-	* util/parser.c: Fix glyphs table parsing on big endian host
-
-2011-10-28  Sandro Santilli <strk at keybit.net>
-
-	* util/read.c: Fix read functions for big endian hosts (thanks
-	Shigeharu TAKENO).  fIx type-punned pointer use.
-
-2011-10-28  Sandro Santilli <strk at keybit.net>
-
-	* NEWS, test/dotests.pl: Fix perl run of testsuite to use
-	uninstalled libraries (thanks mst at freenode)
-
-2011-10-28  Sandro Santilli <strk at keybit.net>
-
-	* test/Makefile.inc, test/dotests.pl: Allow having perl and python
-	binaries in arbitrary paths (for testsuite)
-
-2011-10-27  Sandro Santilli <strk at keybit.net>
-
-	* NEWS, test/Media/Makefile.am: Include missing testfile (thanks
-	Shigeharu TAKENO)
-
-2011-10-26  Sandro Santilli <strk at keybit.net>
-
-	* NEWS, configure.in: Bump up version (next stop: 0.4.5)
-
-2011-10-26  Sandro Santilli <strk at keybit.net>
-
-	* NEWS: Set release date for 0.4.4
-
-2011-10-23  Sandro Santilli <strk at keybit.net>
-
-	* NEWS, util/makeswf.c: Be more verbose on error embedding a
-	prebuilt clip
-
-2011-09-07  Sandro Santilli <strk at keybit.net>
-
-	* src/blocks/videostream.c: Elaborate videostream block parser
-	comment some more. Curtesy of NamN.
-
-2011-03-28  peo3 <peo314159265 at yahoo.co.jp>
-
-	* py_ext/ming.py: Python: Fix typo 'uft-8'
-
-2011-07-08  Sandro Santilli <strk at keybit.net>
-
-	* util/action.c: Do not segfault dumping an SWF with ActionPush
-	referencin an unexistin ConstantPool
-
-2011-07-01  Sandro Santilli <strk at keybit.net>
-
-	* src/blocks/soundstream.c: Raise a warning when the number of
-	samples in SOUNDSTREAM head or block can't be represented with the
-	16bit unsigned integer we have available for that in the tag..
-
-2011-07-01  Sandro Santilli <strk at keybit.net>
-
-	* src/blocks/mp3.c: Document getMP3Samples
-
-2011-07-01  Sandro Santilli <strk at keybit.net>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: SampleCount
-	fields are unsigned
-
-2011-05-25  Sandro Santilli <strk at keybit.net>
-
-	* .gitignore: Stop ignoring CVS dirs. Nobody should be using CVS
-	anymore by now.
-
-2011-05-10  Sandro Santilli <strk at keybit.net>
-
-	* src/movie.c: Do not add another SHOWFRAME/END pair on each
-	output/save operation.
-
-2011-05-10  Axel Huizinga <axel at 3drachen.de>
-
-	* src/movie.c: Allow exporting DEFINEBITSLOSSLESS2 (for transparent
-	png bitmaps).
-
-2011-03-31  Sandro Santilli <strk at keybit.net>
-
-	* NEWS: Add note about the swfAction asm syntax
-
-2011-03-31  Sandro Santilli <strk at keybit.net>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y,
-	test/actionscript/ASM_swfAction.as,
-	test/actionscript/ASM_swfAction.ref, test/actionscript/Makefile.am: 
-	Add support for 'swfAction <byte>' syntax in asm{} blocks.
-
-2011-03-19  Sandro Santilli <strk at keybit.net>
-
-	* ChangeLog, NEWS: Add a few more items in NEWS, drop ChangeLog
-	(it's generated on make dist)
-
-2011-03-19  Sandro Santilli <strk at keybit.net>
-
-	* test/actionscript/Makefile.am: Simplify lists
-
-2011-03-19  Sandro Santilli <strk at keybit.net>
-
-	* util/decompile.c: When SETMEMBER occurs right after a
-	STOREREGISTER, assign the register value rather than the original
-	value. This prevents duplicated function definitions. With this
-	change you can successfully decompile/recompile cycle
-	test/actionscript/class_extends.swf.
-
-2011-03-19  Sandro Santilli <strk at keybit.net>
-
-	* util/decompile.c: Use ASM for extend op (easiest way)
-
-2011-03-19  Sandro Santilli <strk at keybit.net>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, test/actionscript/Makefile.am,
-	test/actionscript/class_extends.as,
-	test/actionscript/class_extends.ref: Implement support for 'class A
-	extends B' syntax, and test it.
-
-2011-03-19  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Add swftoscript support for SWFVideoStream
-	(both with and w/out frames)
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* perl_ext/Movie.xs: Perl: don't choke when addExport is passed a
-	null block
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: outputscript: Use SWFTextField::setFlags
-	rather than passing everything in the constructor, don't use
-	nonexistent flag
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/.gitignore: Update ignores
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c, test/FillStyle/Makefile.am,
-	test/FillStyle/test08.php: PHP: Expose addGradientFill interface and
-	test
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/.gitignore, test/FillStyle/Makefile.am,
-	test/FillStyle/TestList, test/FillStyle/test08-cxx.C,
-	test/FillStyle/test08.c, test/FillStyle/test08.ref: Add test for
-	linear gradients
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test07.php: Add PHP
-	version of test07 (autogenerated, working out of the box)
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c: PHP: Allow addBitmapFill to be called with a NULL
-	bitmap (it happens when converting some SWF to PHP, where fills
-	reference unexisting/undefined bitmaps)
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* src/blocks/input.c: Tell more about fopen failures on SWFInput
-	construction
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: make swfextract tips nicer-looking
-
-2011-03-18  Sandro Santilli <strk at keybit.net>
-
-	* src/blocks/fdbfont.c: Survive unexpected style changes while
-	parsing fdb files (turn ERROR into WARNING)
-
-2011-03-17  Sandro Santilli <strk at keybit.net>
-
-	* util/outputfdb.c: makefdb: name output font by fontId rather than
-	sequencially, to be a useful companion of swftoscript; consider
-	DEFINEFONT and DEFINEFONT3 too (rather than just DEFINEFONT2)
-
-2011-03-17  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c: Make font load error message more useful
-
-2011-03-17  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Pretend fonts are extracted with pattern
-	"font#.fdb", which is easier to get..
-
-2011-03-17  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Properly quote addChars argument for PHP and
-	PYTHON
-
-2011-03-17  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Output DEFINEFONT3 and DEFINEFONT for script
-
-2011-03-17  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Properly output cxform transforms of
-	DisplayItems (addColor, multColor rather than setColorAdd,
-	setColorMult)
-
-2011-03-16  Sandro Santilli <strk at keybit.net>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py,
-	test/Sound/Makefile.am, test/Sound/test03.py: Expose
-	SWFSound.setInitialMp3Delay in python binding, test it
-
-2011-03-16  Sandro Santilli <strk at keybit.net>
-
-	* test/Sound/Makefile.am, test/Sound/test01.py,
-	test/Sound/test02.py: Python version of tests 1 and 2 in Sound/  (3
-	requires adding a new interface)
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* perl_ext/SoundStream.xs, test/SoundStream/Makefile.am,
-	test/SoundStream/test01.pl, test/SoundStream/test02.pl,
-	test/SoundStream/test03.pl: Add SWF::SoundStream::setInitialMp3Delay
-	interface to Perl binding, and tests
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/SoundStream/Makefile.am, test/SoundStream/test02.py,
-	test/SoundStream/test03.py: Add python version of
-	SWFSoundStream/test03, and fix test02 to be 1:1 with C version, now
-	that getRate is fixed
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* py_ext/Makefile.am: Drop SWIG-generated files on 'make
-	maintainer-clean' (I'm still not sure we should ship these
-	pre-generated)
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* py_ext/ming_wrap.c, py_ext/mingc.py: Regenerate pyhon binding from
-	inputs (maybe we should drop these from repo)
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* py_ext/ming.py: Fix Python binding's SWFMovie.getRate() to
-	actually return something
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* ming.i, py_ext/ming.py: Add SWFSoundStream.setInitialMp3Delay
-	interface to python binding
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* py_ext/Makefile.am: Another attempt at fixing the python install
-	rule. This one works, dunno if it is acceptable by DESTDIR users
-	though, as it forces it to be an absolute dir
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* py_ext/Makefile.am: Fix python binding installation rule
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/SoundStream/Makefile.am, test/SoundStream/test01.py,
-	test/SoundStream/test02.py: SoundStream python tests (incomplete)
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/Text/Makefile.am, test/Text/test01.py, test/Text/test02.py,
-	test/Text/test03.py: Python version of Text/ tests
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/TextField/Makefile.am, test/TextField/test01.py,
-	test/TextField/test02.py: Python version of TextField  tests
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/Bitmap/Makefile.am, test/Bitmap/test01.py,
-	test/Bitmap/test02.py: Python version of all tests under Bitmap/
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c: Document the optional second argument to
-	SWFInitAction constructor
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Output initaction with an InitAction object,
-	and fix an unescaped newline.
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/Action/Makefile.am, test/Action/test01.py: Python version of
-	Action/test01
-
-2011-03-15  Sandro Santilli <strk at keybit.net>
-
-	* test/find_missing: Add script to get a list of missing binding
-	tests
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Remove empty line in script output
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test02.pl,
-	test/FillStyle/test03.pl, test/FillStyle/test05.pl,
-	test/FillStyle/test06.pl: Perl version of tests 02, 03, 05 and 06 in
-	FillStyle/
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test02.py,
-	test/FillStyle/test03.py, test/FillStyle/test05.py,
-	test/FillStyle/test06.py: Python version of tests 02, 03, 05 and 06
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test04.php,
-	test/FillStyle/test05.php, test/FillStyle/test06.php: PHP version of
-	tests 04, 05 and 06
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test03.php: PHP
-	FillStyle/test03
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c: Add NONSMOOTHED bitmap constant flags to PHP
-	bindings
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c, test/FillStyle/Makefile.am,
-	test/FillStyle/test02.php: Add SWFShape::setBitmapFill interface to
-	PHP, and test
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/test01.py, util/outputscript.c: Automatically
-	generate Ming_setScale call with python binding, regenerate the
-	FillStyle/test01 python binding now that it works out-of-the-box :)
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test01.py: Python
-	version of FillStyle/test01
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test01.pl: Perl version
-	of FillStyle/test01
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/test01.php: PHP version
-	of FillStyle/test01
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/Shape/Makefile.am, test/Shape/test02.py: Add python version
-	of test02 in Shape (generating this didn't work out of the box)
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/Shape/Makefile.am, test/Shape/test01.py: Add python version
-	of test01 under Shape
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* test/Shape/addSolidFill/Makefile.am,
-	test/Shape/addSolidFill/test01.php,
-	test/Shape/addSolidFill/test01.pl,
-	test/Shape/addSolidFill/test01.py,
-	test/Shape/addSolidFill/test01.tcl: Add (generated!) php,pl,py and
-	tcl versions of the addSolidFill test
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* configure.in, test/Shape/Makefile.am,
-	test/Shape/addSolidFill/Makefile.am,
-	test/Shape/addSolidFill/TestList,
-	test/Shape/addSolidFill/test01-cxx.C,
-	test/Shape/addSolidFill/test01.c,
-	test/Shape/addSolidFill/test01.ref: Add test for Shape.addSolidFill
-
-2011-03-14  Sandro Santilli <strk at keybit.net>
-
-	* php_ext/ming.c, test/Shape/test02.php: Add an
-	SWFShape::addSolidFill interface in PHP binding, to be consistent
-	with python, perl and what swftophp outputs anyway...
-
-2011-02-15  OBATA Akio <obata at lins.jp>
-
-	* macros/python.m4: Bug 110 - portability fix for autoconf macro
-
-2011-02-15  OBATA Akio <obata at lins.jp>
-
-	* src/blocks/pngdbl.c, util/png2dbl.c: Bug 109 - libpng-1.5 support
-
-2010-12-06  akleine <alb.kleine at gmx.de>
-
-	* util/outputfdb.c: avoid writing incomplete fdb file
-
-2010-11-30  akleine <alb.kleine at gmx.de>
-
-	* : commit 9dca05769988bf53356b7baafe1ef3bb21df8fec Author: akleine
-	<alb.kleine at gmx.de> Date:   Tue Nov 30 21:06:14 2010 +0100
-
-2010-11-28  Sandro Santilli <strk at keybit.net>
-
-	* TODO: TODO doesn't need to be executable
-
-2010-11-27  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Fix outputSWF_LINESTYLEARRAY in presence of
-	new line styles. Thanks Tim Retout for spotting this (on gnash-dev)
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* test/Font/.gitignore, test/Font/Makefile.am,
-	test/Font/test07-cxx.C: Add C++ version of UTF8 string in TextField
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* test/Font/test07.c, test/Font/test07.ref: Add NOEDIT flag to
-	TextField, so to have just 22 glyphs rather than 256 in final
-	output...
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* mingpp.h: const correct SWFFont constructor by path
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* test/Font/.gitignore, test/Font/Makefile.am, test/Font/TestList,
-	test/Font/test07.c, test/Font/test07.ref: Add test for
-	http://bugs.libming.org/show_bug.cgi?id=98
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* test/Font/test05.c: style
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* util/makeswf_utils.c: Avoid a full memset just to add terminating
-	null
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* util/makeswf_utils.c: fix leak on error (just to keep cppcheck
-	happy)
-
-2010-11-16  Sandro Santilli <strk at keybit.net>
-
-	* util/outputscript.c: Fix gap in glyph buffer buffer
-
-2010-11-09  akleine <alb.kleine at gmx.de>
-
-	* util/outputscript.c: use font data only if font flag set
-
-2010-11-02  akleine <alb.kleine at gmx.de>
-
-	* util/outputscript.c: prevent buffer overflow error
-
-2010-10-30  Sandro Santilli <strk at keybit.net>
-
-	* util/Makefile.am: Add missing libs, fixing build with gold linker
-
-2010-10-27  Sandro Santilli <strk at keybit.net>
-
-	* test/Movie/add/test01.php, test/Movie/add/test01.pl,
-	test/Movie/add/test01.py, test/Movie/add/test02.php,
-	test/Movie/add/test02.pl, test/Movie/add/test02.py,
-	test/Movie/nextFrame/test01.php, test/Movie/nextFrame/test01.pl,
-	test/Movie/nextFrame/test01.py, test/Movie/nextFrame/test02.php,
-	test/Movie/nextFrame/test02.pl, test/Movie/nextFrame/test02.py: mode
-	change
-
-2010-10-27  Sandro Santilli <strk at keybit.net>
-
-	* test/Text/test03-cxx.C, test/Text/test03.php, test/Text/test03.pl: 
-	Update binding versions
-
-2010-10-27  Sandro Santilli <strk at keybit.net>
-
-	* : commit 7b3a06bef9dd759978ec40b0c00743ca47fefd5a Author: Sandro
-	Santilli <strk at keybit.net> Date:   Wed Oct 27 21:00:38 2010 +0200
-
-2010-10-27  Albrecht Kleine <alb.kleine at gmx.de>
-
-	* src/blocks/text.c: Flag presence of X/Y offsets for text record
-	even if == 0 when not being the first one
-
-2010-10-16  Sandro Santilli <strk at keybit.net>
-
-	* configure.in: Be silent by default during build, use 'make V=1' to
-	make more verbose
-
-2010-10-16  Sandro Santilli <strk at keybit.net>
-
-	* test/Movie/Background/test01.c, test/Movie/Background/test02.c,
-	test/Movie/Background/test03.c: Explicit int return from main.
-
-2010-09-22  Sandro Santilli <strk at keybit.net>
-
-	* .cvsignore, .gitignore, c++_ext/.cvsignore, c++_ext/.gitignore,
-	config/.cvsignore, config/.gitignore, docs/.cvsignore,
-	docs/.gitignore, docs/man/.cvsignore, docs/man/.gitignore,
-	macros/.cvsignore, macros/.gitignore, perl_ext/.cvsignore,
-	perl_ext/.gitignore, perl_ext/SWF/.cvsignore,
-	perl_ext/SWF/.gitignore, perl_ext/t/.cvsignore,
-	perl_ext/t/.gitignore, php_ext/.cvsignore, php_ext/.gitignore,
-	py_ext/.cvsignore, py_ext/.gitignore, py_ext/Zwiff/.cvsignore,
-	py_ext/Zwiff/.gitignore, rb_ext/.cvsignore, rb_ext/.gitignore,
-	src/.cvsignore, src/.gitignore, src/actioncompiler/.cvsignore,
-	src/actioncompiler/.gitignore, src/blocks/.cvsignore,
-	src/blocks/.gitignore, tcl_ext/.cvsignore, tcl_ext/.gitignore,
-	test/.cvsignore, test/.gitignore, test/Action/.cvsignore,
-	test/Action/.gitignore, test/Bitmap/.cvsignore,
-	test/Bitmap/.gitignore, test/BrowserFont/.cvsignore,
-	test/BrowserFont/.gitignore, test/Button/.cvsignore,
-	test/Button/.gitignore, test/FillStyle/.cvsignore,
-	test/FillStyle/.gitignore, test/Filter/.cvsignore,
-	test/Filter/.gitignore, test/Font/.cvsignore, test/Font/.gitignore,
-	test/Gradient/.cvsignore, test/Gradient/.gitignore,
-	test/LineStyle/.cvsignore, test/LineStyle/.gitignore,
-	test/Media/.cvsignore, test/Media/.gitignore,
-	test/Morph/.cvsignore, test/Morph/.gitignore,
-	test/Movie/.cvsignore, test/Movie/.gitignore,
-	test/Movie/Background/.cvsignore, test/Movie/Background/.gitignore,
-	test/Movie/Dimension/.cvsignore, test/Movie/Dimension/.gitignore,
-	test/Movie/FrameLabel/.cvsignore, test/Movie/FrameLabel/.gitignore,
-	test/Movie/NumFrames/.cvsignore, test/Movie/NumFrames/.gitignore,
-	test/Movie/Protect/.cvsignore, test/Movie/Protect/.gitignore,
-	test/Movie/Rate/.cvsignore, test/Movie/Rate/.gitignore,
-	test/Movie/add/.cvsignore, test/Movie/add/.gitignore,
-	test/Movie/addMetadata/.cvsignore,
-	test/Movie/addMetadata/.gitignore,
-	test/Movie/assignSymbol/.cvsignore,
-	test/Movie/assignSymbol/.gitignore,
-	test/Movie/defineScene/.cvsignore,
-	test/Movie/defineScene/.gitignore,
-	test/Movie/importCharacter/.cvsignore,
-	test/Movie/importCharacter/.gitignore, test/Movie/new/.cvsignore,
-	test/Movie/new/.gitignore, test/Movie/nextFrame/.cvsignore,
-	test/Movie/nextFrame/.gitignore, test/Movie/replace/.cvsignore,
-	test/Movie/replace/.gitignore,
-	test/Movie/setNetworkAccess/.cvsignore,
-	test/Movie/setNetworkAccess/.gitignore,
-	test/Movie/setScriptLimits/.cvsignore,
-	test/Movie/setScriptLimits/.gitignore,
-	test/Movie/setSoundStream/.cvsignore,
-	test/Movie/setSoundStream/.gitignore,
-	test/Movie/setTabIndex/.cvsignore,
-	test/Movie/setTabIndex/.gitignore, test/MovieClip/.cvsignore,
-	test/MovieClip/.gitignore, test/PrebuiltClip/.cvsignore,
-	test/PrebuiltClip/.gitignore, test/Shape/.cvsignore,
-	test/Shape/.gitignore, test/Sound/.cvsignore,
-	test/Sound/.gitignore, test/SoundStream/.cvsignore,
-	test/SoundStream/.gitignore, test/Text/.cvsignore,
-	test/Text/.gitignore, test/TextField/.cvsignore,
-	test/TextField/.gitignore, test/Video/.cvsignore,
-	test/Video/.gitignore, test/actionscript/.cvsignore,
-	test/actionscript/.gitignore, util/.cvsignore, util/.gitignore,
-	util/old/.cvsignore, util/old/.gitignore: Rename all .cvsignore
-	files to .gitignore
-
-2010-09-22  Sandro Santilli <strk at keybit.net>
-
-	* src/blocks/ttffont.c: Fix memory corruption when reading TTF fonts
-	with glyphs reused for different charcodes. Thanks traum in github
-
-2010-09-17  Sandro Santilli <strk at keybit.net>
-
-	* .gitignore: more ignores
-
-2010-09-17  Sandro Santilli <strk at keybit.net>
-
-	* ChangeLog: Update ChangeLog
-
-2010-09-17  Sandro Santilli <strk at keybit.net>
-
-	* Makefile.am: Add ChangeLog rule (proper casing)
-
-2010-09-17  Sandro Santilli <strk at keybit.net>
-
-	* config/config.guess, config/config.sub, config/install-sh: Scrits
-	mode after re-run of autogen.sh
-
-2010-09-17  Sandro Santilli <strk at keybit.net>
-
-	* Makefile.am: Tweak Changelog rule to use git2cl
-
-2010-09-17  Sandro Santilli <strk at keybit.net>
-
-	* .gitignore: add git ignores
-
-2010-09-16  strk <strk>
-
-	* mingpp.h: by Alessandro Volz: mark SWFFont::getShape as deprecated
-	(see bugzilla #106)
-
-2010-08-26  strk <strk>
-
-	* php_ext/.cvsignore, test/Bitmap/.cvsignore: update ignores
-
-2010-08-26  strk <strk>
-
-	* php_ext/ming.c, test/SoundStream/Makefile.am,
-	test/SoundStream/test03.php: Implement
-	SWFSoundStream->setInitialMp3Delay in PHP, add test for it. Also add
-	support for SWFMovieClip->setSoundStream(SWFSoundStream)
-
-2010-08-26  strk <strk>
-
-	* test/Bitmap/test02-cxx.C, test/Bitmap/test02.c,
-	test/Bitmap/test02.php, test/Bitmap/test02.pl,
-	test/Bitmap/test02.ref: Oops, forgot to add these ones (nobody
-	running make check eh ?)
-
-2010-08-12  strk <strk>
-
-	* src/movie.c, test/Bitmap/Makefile.am, test/Bitmap/TestList,
-	test/Bitmap/test01-cxx.C, test/Bitmap/test01.c,
-	test/Bitmap/test01.php, test/Bitmap/test01.pl,
-	test/Bitmap/test01.ref, test/Button/TestList: Allow exporting
-	bitmaps, thanks to Benjamin Wolsey. Cleanup the existing test in
-	test/Bitmap to only do creation and export (DEFINELOSSLESS), add a
-	second test for DEFINEBITSJPEG2 [ TODO: add more for other tags ]
-
-2010-07-24  strk <strk>
-
-	* : Add ID3 tag to test file, to verify tags stripping
-
-2010-06-17  strk <strk>
-
-	* php_ext/Makefile.am, test/Makefile.inc, test/dotests.pl: Refactor
-	the way PHP binding is built so to avoid a second ./configure and
-	better track dependencies; refactor the way pre-install PHP tests
-	are run as the custom php.ini thing never worked completely and
-	required a lot of system modules copies; expose test##.phpx rules in
-	each and every testsuite directory to help manual runs.
-
-2010-06-05  strk <strk>
-
-	* configure.in: Bump version to 0.4.4
-
-2010-06-05  strk <strk>
-
-	* test/Button/test02-cxx.C, test/Button/test02.c,
-	test/Button/test02.php, test/Button/test02.pl,
-	test/Button/test02.ref: Testexport of Button characters, curtesy of
-	Benjamin Wolsey
-
-2010-06-04  strk <strk>
-
-	* util/swftypes.h: Work around SunStudio 12 limitation on empty
-	structs, patch by Daniel Flinkmann, see
-	http://bugs.libming.org/show_bug.cgi?id=103
-
-2010-06-04  strk <strk>
-
-	* ChangeLog, NEWS: Update
-
-2010-06-04  strk <strk>
-
-	* src/movie.c: Allow exporting BUTTON and BUTTON2 characters, thanks
-	to Benjamin Wolsey for the patch. Will need a test in test/Button
-
-2010-05-29  strk <strk>
-
-	* NEWS: indent
-
-2010-05-24  strk <strk>
-
-	* src/blocks/font.c, src/blocks/text.c, test/Font/.cvsignore,
-	test/Font/Makefile.am, test/Font/TestList, test/Font/test06-cxx.C,
-	test/Font/test06.c, test/Font/test06.ref: Use font kerning in static
-	Text advance. Patch by Nick Lewis, see
-	http://bugs.libming.org/show_bug.cgi?id=95
-
-2010-05-23  strk <strk>
-
-	* php_ext/ming.c: Properly initialize SWFTextField flags. Fixes bug
-	#100.
-
-2010-05-21  strk <strk>
-
-	* NEWS: Add libpng change
-
-2010-05-20  strk <strk>
-
-	* test/dotests.pl: More informations about failures
-
-2010-05-20  strk <strk>
-
-	* src/blocks/pngdbl.c: Drop use of deprecated libpng interface.
-	Patch by Vikram J. Gurjar. See bug #96
-
-2010-05-20  strk <strk>
-
-	* config/.cvsignore, macros/.cvsignore: Some ignore files
-
-2010-05-20  strk <strk>
-
-	* test/LineStyle/TestList: Fix 'make check' for builds w/out png
-	enabled
-
-2010-04-28  strk <strk>
-
-	* NEWS, src/actioncompiler/compile.c: Fix compiling class methods,
-	patch by Benjamin Wolsey
-	(http://bugs.libming.org/show_bug.cgi?id=94)
-
-2010-04-28  strk <strk>
-
-	* util/makeswf_utils.c: Don't trust SWFAction_compile return code to
-	be the only sign of failure.
-
-2010-03-31  vapour <vapour>
-
-	* .cvsignore: Added a meta data file created by Eclipse.
-
-2010-02-07  anderson <anderson>
-
-	* test/actionscript/Makefile.am: Need to includ substr.as in the
-	distribution
-
-2010-02-07  anderson <anderson>
-
-	* configure.in: Apply a fix from the Debian package to correctly set
-	PIC for a wider variety of architectures.
-
-2010-02-07  anderson <anderson>
-
-	* ChangeLog, NEWS: Release 0.4.3
-
-2010-01-12  strk <strk>
-
-	* test/Action/test01.php, test/Action/test02.php,
-	test/Bitmap/test01.php, test/BrowserFont/test01.php,
-	test/Button/test02.php, test/Filter/test01.php,
-	test/Filter/test02.php, test/Filter/test03.php,
-	test/Filter/test04.php, test/Filter/test05.php,
-	test/Font/test01.php, test/Font/test02.php, test/Font/test03.php,
-	test/Font/test04.php, test/Font/test05.php, test/Morph/test01.php,
-	test/Morph/test02.php, test/Movie/Background/test01.php,
-	test/Movie/Background/test02.php, test/Movie/Background/test03.php,
-	test/Movie/Dimension/test01.php, test/Movie/FrameLabel/test01.php,
-	test/Movie/FrameLabel/test02.php, test/Movie/NumFrames/test01.php,
-	test/Movie/Protect/test01.php, test/Movie/Protect/test02.php,
-	test/Movie/Rate/test01.php, test/Movie/add/test01.php,
-	test/Movie/add/test02.php, test/Movie/addMetadata/test01.php,
-	test/Movie/assignSymbol/test01.php,
-	test/Movie/defineScene/test01.php,
-	test/Movie/importCharacter/test01.php,
-	test/Movie/importCharacter/test02.php, test/Movie/new/test01.php,
-	test/Movie/new/test02.php, test/Movie/new/test03.php,
-	test/Movie/new/test04.php, test/Movie/new/test05.php,
-	test/Movie/new/test06.php, test/Movie/new/test07.php,
-	test/Movie/nextFrame/test01.php, test/Movie/nextFrame/test02.php,
-	test/Movie/replace/test01.php, test/Movie/replace/test02.php,
-	test/Movie/setNetworkAccess/test01.php,
-	test/Movie/setNetworkAccess/test02.php,
-	test/Movie/setScriptLimits/test01.php,
-	test/Movie/setSoundStream/test01.php,
-	test/Movie/setSoundStream/test02.php,
-	test/Movie/setSoundStream/test03.php,
-	test/Movie/setSoundStream/test04.php,
-	test/Movie/setTabIndex/test01.php, test/PrebuiltClip/test01.php,
-	test/Shape/test01.php, test/Shape/test02.php,
-	test/SoundStream/test01.php, test/SoundStream/test02.php,
-	test/Text/test01.php, test/Text/test02.php, test/Text/test03.php,
-	test/TextField/test01.php, test/TextField/test02.php,
-	test/Video/test01.php, test/Video/test02.php,
-	test/Video/test03.php, test/Video/test04.php,
-	test/Video/test05.php, test/Video/test06.php: Pass a single argument
-	in shebang magic as two are not supported on some systems
-
-2010-01-12  strk <strk>
-
-	* test/dotests.pl: Add more runtime sanity checks
-
-2009-12-13  strk <strk>
-
-	* test/actionscript/Makefile.am, test/actionscript/substr.as,
-	test/actionscript/substr.ref: Add automated testcase for using
-	ACTION_SUBSTRING from AS code
-
-2009-12-13  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Fix typo breaking use of
-	'substr' as a way to use the legacy substring
-
-2009-12-11  strk <strk>
-
-	* ChangeLog, NEWS: Updated
-
-2009-12-03  strk <strk>
-
-	* test/TextField/Makefile.am, test/TextField/test01.php,
-	test/TextField/test02.php: Add PHP version of all tests in TextField
-	suite
-
-2009-12-03  strk <strk>
-
-	* php_ext/ming.c: Add TextField.setFlags, to make compliant with
-	other bindings and thus support decompiler better
-
-2009-12-03  strk <strk>
-
-	* test/Text/Makefile.am, test/Text/test03.php: Add PHP version of
-	test03
-
-2009-12-03  strk <strk>
-
-	* test/Text/Makefile.am, test/Text/test03.pl: Add missing perl test
-	for Text
-
-2009-12-03  strk <strk>
-
-	* test/TextField/Makefile.am, test/TextField/test01.pl,
-	test/TextField/test02.pl: While I was at it.. added perl version of
-	tests for TextField too
-
-2009-12-03  strk <strk>
-
-	* test/Font/Makefile.am, test/Font/test05.py: Python version of
-	test05
-
-2009-12-03  strk <strk>
-
-	* test/Font/test04.php: Drop confusing argument passed to TextField
-	constructor
-
-2009-12-03  strk <strk>
-
-	* test/Font/Makefile.am, test/Font/test05.php: Add PHP version of
-	test05
-
-2009-12-02  strk <strk>
-
-	* test/Font/.cvsignore, test/Font/Makefile.am, test/Font/TestList,
-	test/Font/test05-cxx.C, test/Font/test05.c, test/Font/test05.pl,
-	test/Font/test05.ref: C, C++ and perl versions of a test with mixed
-	Text and readonly TextField (thanks Nick Lewis for providing the
-	perl version)
-
-2009-12-01  strk <strk>
-
-	* test/Font/.cvsignore, test/Font/Makefile.am,
-	test/Font/test04-cxx.C: C++ version of shared text/textfield font
-	test
-
-2009-12-01  strk <strk>
-
-	* test/Font/Makefile.am, test/Font/test04.py: Python version of
-	shared text/textfield font test
-
-2009-12-01  strk <strk>
-
-	* test/Font/test04.php: Ehm.. forgot to add the actual test
-
-2009-12-01  strk <strk>
-
-	* test/Font/Makefile.am: PHP version of shared text/textfield font
-	test
-
-2009-12-01  strk <strk>
-
-	* test/Font/Makefile.am, test/Font/test04.pl: Perl version of shared
-	text/textfield font test
-
-2009-12-01  strk <strk>
-
-	* src/blocks/font.c, src/blocks/font.h, src/blocks/text.c,
-	test/Font/Makefile.am, test/Font/TestList, test/Font/test04.ref: 
-	Commit patch by "Nick Lewis" <Nick.Lewis at atltelecom.com> to fix use
-	of the same font in a text and a textfield. Also add a C version of
-	a testcase for this (bindings versions to be done)
-
-2009-11-28  strk <strk>
-
-	* test/Movie/assignSymbol/test01-cxx.C,
-	test/Movie/assignSymbol/test01.c,
-	test/Movie/assignSymbol/test01.php,
-	test/Movie/assignSymbol/test01.pl,
-	test/Movie/assignSymbol/test01.ref: Slighly modify the test so that
-	the text is all visible in the stage
-
-2009-11-28  strk <strk>
-
-	* test/Font/test01-cxx.C, test/Font/test01.c, test/Font/test01.php,
-	test/Font/test01.pl, test/Font/test01.py, test/Font/test01.ref: 
-	Modify again to re-introduce X shift of the text (or we would have
-	been testing less things..)
-
-2009-11-28  strk <strk>
-
-	* test/Font/test01-cxx.C, test/Font/test01.c, test/Font/test01.php,
-	test/Font/test01.pl, test/Font/test01.py, test/Font/test01.ref: 
-	Slightly modify the test so the full text is shown in the created
-	window
-
-2009-11-28  strk <strk>
-
-	* test/Font/.cvsignore, test/Font/Makefile.am, test/Font/test04.c: 
-	Add testcase for http://bugs.libming.org/show_bug.cgi?id=89. This is
-	not run atm because it really gives bogus results.
-
-2009-11-26  anderson <anderson>
-
-	* docs/man/Makefile.am, docs/man/dbl2png.1, docs/man/gif2dbl.1,
-	docs/man/gif2mask.1, docs/man/listfdb.1, docs/man/listjpeg.1,
-	docs/man/listmp3.1, docs/man/makefdb.1, docs/man/png2dbl.1,
-	docs/man/raw2adpcm.1, docs/man/swftocxx.1, docs/man/swftoperl.1,
-	docs/man/swftophp.1, docs/man/swftopython.1, docs/man/swftotcl.1: 
-	While preparing Debians 0.4.2 package, I had to provide a number of
-	missing man pages. Here they are, so I won't have to do it again
-	8-).
-
-2009-10-09  strk <strk>
-
-	* test/Shape/Makefile.am, test/Shape/test01.pl,
-	test/Shape/test02.pl: Perl version of shape tests
-
-2009-10-09  strk <strk>
-
-	* test/Shape/Makefile.am, test/Shape/test01.php,
-	test/Shape/test02.php: PHP version of Shape tests
-
-2009-10-09  strk <strk>
-
-	* test/Morph/Makefile.am, test/Morph/test01.pl,
-	test/Morph/test02.pl: Perl version of Morph tests
-
-2009-10-09  strk <strk>
-
-	* test/Morph/Makefile.am, test/Morph/test01.php,
-	test/Morph/test02.php: PHP version of morph tests
-
-2009-10-09  strk <strk>
-
-	* test/Movie/replace/Makefile.am, test/Movie/replace/test01.pl,
-	test/Movie/replace/test02.pl: Perl version of the replace tests
-	(perl args order for setLine2 matches the C version)
-
-2009-10-09  strk <strk>
-
-	* test/Movie/replace/Makefile.am, test/Movie/replace/test02.php: 
-	Second php test
-
-2009-10-09  strk <strk>
-
-	* test/Movie/replace/Makefile.am, test/Movie/replace/test01.php: Add
-	PHP version of test 1 for Movie.replace (I wonder why such a complex
-	shape is used in this test, which in turn makes me wonder why
-	arguments in PHP binding are in different order than in C for
-	SWFShape.setLine2)
-
-2009-10-09  strk <strk>
-
-	* test/Makefile.inc: Encode the new -c switch in php test generator
-	rule
-
-2009-10-09  strk <strk>
-
-	* test/Text/.cvsignore, test/Text/Makefile.am, test/Text/TestList,
-	test/Text/test03-cxx.C, test/Text/test03.c, test/Text/test03.ref: 
-	Add test for SWFText_moveTo (C and C++)
-
-2009-10-09  strk <strk>
-
-	* test/Action/test01.php, test/Action/test02.php,
-	test/Bitmap/test01.php, test/BrowserFont/test01.php,
-	test/Button/test02.php, test/Filter/test01.php,
-	test/Filter/test02.php, test/Filter/test03.php,
-	test/Filter/test04.php, test/Filter/test05.php,
-	test/Font/test01.php, test/Font/test02.php, test/Font/test03.php,
-	test/Movie/Background/test01.php, test/Movie/Background/test02.php,
-	test/Movie/Background/test03.php, test/Movie/Dimension/test01.php,
-	test/Movie/FrameLabel/test01.php, test/Movie/FrameLabel/test02.php,
-	test/Movie/NumFrames/test01.php, test/Movie/Protect/test01.php,
-	test/Movie/Protect/test02.php, test/Movie/Rate/test01.php,
-	test/Movie/add/test01.php, test/Movie/add/test02.php,
-	test/Movie/addMetadata/test01.php,
-	test/Movie/assignSymbol/test01.php,
-	test/Movie/defineScene/test01.php,
-	test/Movie/importCharacter/test01.php,
-	test/Movie/importCharacter/test02.php, test/Movie/new/test01.php,
-	test/Movie/new/test02.php, test/Movie/new/test03.php,
-	test/Movie/new/test04.php, test/Movie/new/test05.php,
-	test/Movie/new/test06.php, test/Movie/new/test07.php,
-	test/Movie/nextFrame/test01.php, test/Movie/nextFrame/test02.php,
-	test/Movie/setNetworkAccess/test01.php,
-	test/Movie/setNetworkAccess/test02.php,
-	test/Movie/setScriptLimits/test01.php,
-	test/Movie/setSoundStream/test01.php,
-	test/Movie/setSoundStream/test02.php,
-	test/Movie/setSoundStream/test03.php,
-	test/Movie/setSoundStream/test04.php,
-	test/Movie/setTabIndex/test01.php, test/PrebuiltClip/test01.php,
-	test/SoundStream/test01.php, test/SoundStream/test02.php,
-	test/Text/test01.php, test/Text/test02.php, test/Video/test01.php,
-	test/Video/test02.php, test/Video/test03.php,
-	test/Video/test04.php, test/Video/test05.php, test/Video/test06.php: 
-	Change all PHP based tests to read '-c php.ini' rather than '-c .'.
-	This fixes a WARNING when systemwide php.ini already loads the ming
-	module.
-
-2009-10-09  strk <strk>
-
-	* test/find_misdistributed: Quick script to find binding tests which
-	are not being distributed
-
-2009-10-09  strk <strk>
-
-	* test/PrebuiltClip/Makefile.am: Distribute PrebuiltClip php test
-
-2009-10-09  strk <strk>
-
-	* test/Movie/setNetworkAccess/.cvsignore: updated
-
-2009-10-09  strk <strk>
-
-	* test/Action/Makefile.am, test/Action/test01.php,
-	test/Action/test02.php: Add php versions of Action tests
-
-2009-10-09  strk <strk>
-
-	* php_ext/ming.c: Fix handling of init-action id, allow adding init
-	actions to movie
-
-2009-10-09  strk <strk>
-
-	* php_ext/ming.c: Allow constructing SWFInitAction with an id
-	specifier
-
-2009-10-09  strk <strk>
-
-	* test/BrowserFont/Makefile.am, test/BrowserFont/test01.pl: Add perl
-	version of BrowserFont test 1 (also distribute php version which was
-	available but not distributed)
-
-2009-10-09  strk <strk>
-
-	* php_ext/ming.c: Make argument to SWFTextField (flags) optional
-	with php binding
-
-2009-09-10  strk <strk>
-
-	* test/Video/test06.pl: SEEK_SET is a constant, not a variable
-
-2009-09-09  strk <strk>
-
-	* test/Action/Makefile.am, test/Action/test01.pl,
-	test/Action/test02.pl: Perl version of Action tests
-
-2009-09-09  strk <strk>
-
-	* perl_ext/InitAction.xs: Accept character id argument in InitAction
-	constructor (perl interface)
-
-2009-09-08  strk <strk>
-
-	* util/makeswf.c, util/makeswf.h, util/makeswf_utils.c: Update
-	copyright notice (and FSF address)
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test06.py: Python version of
-	VideoStream test 6 (all done here)
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test05.py: Python version of
-	VideoStream test 5
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test04.py: Python version of
-	VideoStream test 4
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test03.py: Python version of
-	Video test 3 (how do you enter text in a more elegant way with
-	python?)
-
-2009-09-08  strk <strk>
-
-	* py_ext/ming_wrap.c, py_ext/mingc.py: Regenerated files after SWIG
-	input change (not sure why these are in the repository)
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test01.py,
-	test/Video/test02.py: Python versions of VideoStream tests 1 and 2
-
-2009-09-08  strk <strk>
-
-	* py_ext/ming.py: Allow passing a filename argument to python's
-	SWFVideoStream constructor
-
-2009-09-08  strk <strk>
-
-	* ming.i: Add destroySWFVideoStream to swig interface
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test06.php,
-	test/Video/test06.pl: Perl version of Video test 6, drop unused
-	variable in the php version..
-
-2009-09-08  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test06.php: PHP version of
-	Video test 6
-
-2009-09-08  strk <strk>
-
-	* php_ext/config.m4: Fix SWFVideoStream_seek detection code
-
-2009-09-07  strk <strk>
-
-	* php_ext/config.m4: Check for SWFVideoStream_seek availability
-
-2009-09-07  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test05.php: Fifth video test
-	ported to php
-
-2009-09-07  strk <strk>
-
-	* php_ext/config.m4: Properly set HAVE_SWFVIDEOSTREAM_SETFRAMEMODE
-	and HAVE_SWFVIDEOSTREAM_NEXTFRAME
-
-2009-09-07  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test04.php: PHP version for
-	manual video frame control
-
-2009-09-07  strk <strk>
-
-	* test/Video/Makefile.am: Distribute perl tests
-
-2009-09-07  strk <strk>
-
-	* test/Video/Makefile.am, test/Video/test02.php,
-	test/Video/test03.php: Some php tests for Video (unfinished)
-
-2009-09-07  strk <strk>
-
-	* php_ext/ming.c: Add constants for use in SWFVideo->setFrameMode
-
-2009-08-29  strk <strk>
-
-	* test/Sound/Makefile.am, test/Sound/test01.pl,
-	test/Sound/test02.pl, test/Sound/test03.pl: Add perl version of
-	Sound tests
-
-2009-08-29  strk <strk>
-
-	* perl_ext/Sound.xs: Add setInitialMp3Delay interface to perl
-	binding
-
-2009-06-08  strk <strk>
-
-	* test/SoundStream/test02.c: fix typo in error message
-
-2009-06-08  strk <strk>
-
-	* mingpp.h, test/SoundStream/.cvsignore,
-	test/SoundStream/Makefile.am, test/SoundStream/TestList,
-	test/SoundStream/test03-cxx.C, test/SoundStream/test03.c,
-	test/SoundStream/test03.ref: Add setInitialMp3Delay interface to C++
-	SWFSoundStream, add test for it
-
-2009-06-08  strk <strk>
-
-	* NEWS: Add note about SWFSoundStream delaySeek control
-
-2009-06-08  strk <strk>
-
-	* src/ming.h.in: typo in SWFSoundStream_setInitialMp3Delay signature
-
-2009-06-08  strk <strk>
-
-	* mingpp.h, src/blocks/sound.c, src/blocks/soundstream.c,
-	src/ming.h.in, test/Sound/test03.c: Renamed SWFSound_delaySeek to
-	SWFSound_setInitialMp3Delay, for consistency with existing
-	SWFSoundStream_setInitialMp3Delay which also gets in the public
-	header with this commit (was missing)
-
-2009-06-08  strk <strk>
-
-	* NEWS: Note the MP3 delaySeek change
-
-2009-06-08  strk <strk>
-
-	* mingpp.h, test/Sound/test03-cxx.C, test/Sound/test03.c,
-	test/Sound/test03.ref: Add C++ interface for SWFSound delaySeek and
-	test it
-
-2009-06-08  strk <strk>
-
-	* src/blocks/sound.c, src/ming.h.in: Add SWFSound_delaySeek function
-	to allow explicitly setting seek samples for sounds
-
-2009-05-20  strk <strk>
-
-	* src/shape_util.c, test/Button/test01.ref,
-	test/Gradient/test07.ref: Improve arcs and circles accuracy. Patch
-	by Brad Fisher in bug #77.
-
-2009-05-20  strk <strk>
-
-	* test/Bitmap/Makefile.am, test/Bitmap/test01.php: Add missing php
-	test for Bitmap fill
-
-2009-05-20  strk <strk>
-
-	* src/blocks/character.c, src/blocks/fillstyle.c,
-	src/blocks/gradient.c, src/blocks/linestyle.c, src/movie.c: Add
-	defineshape4 references where missing. Patch by Philip de Nier.
-	CLoses bug #78
-
-2009-05-20  strk <strk>
-
-	* macros/Makefile.am: Don't distribute libtool.m4, should be
-	provided by system of anyone willing to regenerate makefiles
-
-2009-05-20  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, test/actionscript/ASM_all.as,
-	test/actionscript/ASM_all.ref: Add support for enumerate2 in asm
-	block. Thanks to Benjamin Wolsey.
-
-2009-05-19  strk <strk>
-
-	* ChangeLog: Update ChangeLog
-
-2009-05-11  strk <strk>
-
-	* src/gc.c, src/gc.h: Add missing copyright header
-
-2009-05-04  strk <strk>
-
-	* test/LineStyle/.cvsignore, test/LineStyle/Makefile.am,
-	test/LineStyle/TestList, test/LineStyle/test03-cxx.C,
-	test/LineStyle/test03.c, test/LineStyle/test03.ref: Add tests for
-	filled line style provided by Pawel Karwowski
-
-2009-05-04  strk <strk>
-
-	* mingpp.h: C++ interface typo for setLine2Filled (thanks to Pawel
-	Karwowski)
-
-2009-05-03  strk <strk>
-
-	* ChangeLog, src/blocks/linestyle.c, src/blocks/linestyle.h,
-	src/blocks/shape.c: Complete filled line style implementation. Patch
-	by Philip de Nier (bug #84 on libming.org)
-
-2009-03-28  strk <strk>
-
-	* INSTALL: Add note about possible requirement to restart apache
-	when changing php.ini to add load of ming
-
-2009-03-28  strk <strk>
-
-	* INSTALL: It's ming.so, not php_ming.so. Also, drop the
-	extension_dir reccomandation as 'make install' should just do the
-	right thing atm.
-
-2009-03-28  strk <strk>
-
-	* INSTALL: Fix php building instructions (review welcome)
-
-2009-03-27  strk <strk>
-
-	* test/Movie/assignSymbol/Makefile.am,
-	test/Movie/assignSymbol/test01.pl: Add missing perl test after
-	Albrecht fix :)
-
-2009-03-27  akleine <akleine>
-
-	* perl_ext/Movie.xs: assignSymbol() argument fix / thanks to strk
-	for hint!
-
-2009-03-27  strk <strk>
-
-	* test/Filter/Makefile.am, test/Filter/test01.pl: Distribute
-	existing php tests, add 1 perl test (of 5 required).  This is
-	another case in which scripting interface seems inconsistent.
-
-2009-03-27  strk <strk>
-
-	* test/Filter/test01.c, test/Filter/test02.c, test/Filter/test03.c,
-	test/Filter/test04.c, test/Filter/test05.c: Drop using deprecated
-	SWFButton_addShape method
-
-2009-03-27  strk <strk>
-
-	* test/Movie/importCharacter/Makefile.am,
-	test/Movie/importCharacter/test01.pl,
-	test/Movie/importCharacter/test02.pl: Add missing perl tests (NOTE:
-	php interface is different from perl : importChar vs
-	importCharacter)
-
-2009-03-27  strk <strk>
-
-	* test/Movie/defineScene/Makefile.am,
-	test/Movie/defineScene/test01.php, test/Movie/defineScene/test01.pl: 
-	Add missing perl and php tests, out-of-the-box success with
-	swftoscript
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Add support for script output of defineScene
-
-2009-03-27  strk <strk>
-
-	* docs/man/makeswf.1: Add note about default frame size
-
-2009-03-27  strk <strk>
-
-	* test/Font/test02.py: Fix path to Media dir in python test file
-
-2009-03-27  strk <strk>
-
-	* test/Bitmap/test01.ref, test/Button/test01.ref,
-	test/Button/test02.ref, test/Button/test03.ref,
-	test/FillStyle/test01.ref, test/FillStyle/test02.ref,
-	test/FillStyle/test03.ref, test/FillStyle/test04.ref,
-	test/FillStyle/test05.ref, test/FillStyle/test06.ref,
-	test/FillStyle/test07.ref, test/Filter/test01.ref,
-	test/Filter/test02.ref, test/Filter/test03.ref,
-	test/Filter/test04.ref, test/Filter/test05.ref,
-	test/Gradient/test01.ref, test/Gradient/test02.ref,
-	test/Gradient/test03.ref, test/Gradient/test04.ref,
-	test/Gradient/test05.ref, test/Gradient/test06.ref,
-	test/Gradient/test07.ref, test/Gradient/test08.ref,
-	test/Gradient/test09.ref, test/LineStyle/test01.ref,
-	test/LineStyle/test02.ref, test/Movie/replace/test01.ref,
-	test/Movie/replace/test02.ref, test/Shape/test01.ref,
-	test/Shape/test02.ref, util/outputscript.c, util/outputtxt.c,
-	util/parser.c, util/swftypes.h: When parsing a LINESTYLEARRAY don't
-	bother remembering *how* the line style count was encoded, but just
-	figure out that count and print it. Update refs accordingly.
-
-2009-03-27  strk <strk>
-
-	* test/Movie/assignSymbol/Makefile.am,
-	test/Movie/assignSymbol/test01.php: Add missing php test
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Pass an argument to Text object constructor,
-	1 for DEFINETEXT, 2 for DEFINETEXT2
-
-2009-03-27  strk <strk>
-
-	* test/Font/Makefile.am, test/Font/test01.php,
-	test/Font/test02.php, test/Font/test03.php: Add missing php tests
-
-2009-03-27  strk <strk>
-
-	* test/Text/Makefile.am, test/Text/test01.php, test/Text/test02.php: 
-	Add missing php tests
-
-2009-03-27  strk <strk>
-
-	* test/Text/Makefile.am, test/Text/test01.pl, test/Text/test02.pl: 
-	Add missing perl tests
-
-2009-03-27  strk <strk>
-
-	* mingpp.h, test/Text/test01-cxx.C, test/Text/test02-cxx.C: Have C++
-	binding default Text constructor to version 1, not 2. Fix existing
-	testcases accordingly.
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Don't forget to tag first argument to
-	assignSymbol as a variable
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Add support for script output of assignSymbol
-
-2009-03-27  strk <strk>
-
-	* src/blocks/shape.c: Have SWFShape_addBitmapFillStyle survive a
-	NULL bitmap
-
-2009-03-27  strk <strk>
-
-	* test/Movie/addMetadata/Makefile.am,
-	test/Movie/setScriptLimits/Makefile.am,
-	test/Movie/setSoundStream/Makefile.am,
-	test/Movie/setTabIndex/Makefile.am: Distribute perl and php tests
-
-2009-03-27  strk <strk>
-
-	* test/Movie/setNetworkAccess/Makefile.am,
-	test/Movie/setNetworkAccess/TestList,
-	test/Movie/setNetworkAccess/test02-cxx.C,
-	test/Movie/setNetworkAccess/test02.c,
-	test/Movie/setNetworkAccess/test02.php,
-	test/Movie/setNetworkAccess/test02.pl,
-	test/Movie/setNetworkAccess/test02.ref: Add test for
-	setNetworkAccess with arg==1 (the existing one was with arg==0; fix
-	distribution of binding tests
-
-2009-03-27  strk <strk>
-
-	* test/Movie/setNetworkAccess/test01.php,
-	test/Movie/setNetworkAccess/test01.pl: Add missing php and perl
-	tests
-
-2009-03-27  strk <strk>
-
-	* test/Movie/nextFrame/test01.c, test/Movie/nextFrame/test02.c: Fix
-	compiler warnings and deprecation warnings
-
-2009-03-27  strk <strk>
-
-	* test/Movie/setScriptLimits/test01.php,
-	test/Movie/setScriptLimits/test01.pl: Add missing perl and php tests
-	(out-of-the-box success with swftoscript)
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Add support for generating setScriptLimit
-	script
-
-2009-03-27  strk <strk>
-
-	* test/Movie/add/test02.c: Fix compiler warning (unused static)
-
-2009-03-27  strk <strk>
-
-	* test/Movie/setTabIndex/test01.php,
-	test/Movie/setTabIndex/test01.pl: Add missing perl and php tests
-	(out-of-the-box success with swftoscript)
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Add support for generating setTabIndex script
-
-2009-03-27  strk <strk>
-
-	* test/Movie/setSoundStream/test01.pl,
-	test/Movie/setSoundStream/test02.pl,
-	test/Movie/setSoundStream/test03.pl,
-	test/Movie/setSoundStream/test04.pl: Add perl version of
-	setSoundStream tests
-
-2009-03-27  strk <strk>
-
-	* test/Movie/setSoundStream/test04.php: Add missing php test
-
-2009-03-27  strk <strk>
-
-	* util/outputscript.c: Add support for decompiling SWF_METADATA tag
-
-2009-03-27  strk <strk>
-
-	* test/Movie/addMetadata/test01.pl: Add perl version of addMetadata
-	test
-
-2009-03-27  strk <strk>
-
-	* test/Movie/addMetadata/test01.php: Add php version of addMetadata
-	test
-
-2009-03-27  strk <strk>
-
-	* test/Makefile.inc: Provide specific 'gen' rules to allow
-	generating single bindings
-
-2009-03-27  strk <strk>
-
-	* test/Font/test01.ref, test/Font/test02.ref, test/Font/test03.ref,
-	test/Movie/assignSymbol/test01.ref, test/Text/test01.ref,
-	test/Text/test02.ref, test/TextField/test01.ref,
-	test/TextField/test02.ref: Regenerate refs after typo fix in listswf
-
-2009-03-27  strk <strk>
-
-	* php_ext/ming.c: Don't use union cast, as MVC doesn't like it. See
-
-	http://sourceforge.net/mailarchive/message.php?msg_name=20090327082410.GE16685%40keybit.net.
-
-2009-03-24  strk <strk>
-
-	* util/outputtxt.c: Typo: FontBoundsable -> FontBoundsTable
-
-2009-03-24  strk <strk>
-
-	* util/swftypes.h: Make space for wide codes in KERNING record
-	struct
-
-2009-03-18  strk <strk>
-
-	* src/blocks/shape.c: Allow NONSMOOTHED flag to be used with
-	newSWFShapeFromBitmap
-
-2009-03-17  strk <strk>
-
-	* perl_ext/Exports.c: Make NONSMOOTHED version of bitmap fills
-	available as constants
-
-2009-03-16  strk <strk>
-
-	* mingpp.h, src/blocks/fillstyle.c, src/blocks/shape.c,
-	test/FillStyle/.cvsignore, test/FillStyle/Makefile.am,
-	test/FillStyle/TestList, test/FillStyle/test07-cxx.C,
-	test/FillStyle/test07.c, test/FillStyle/test07.ref: Allow creating
-	Bitmap fill styles with NULL bitmap, with the effect of writing a
-	bitmap fill style referencing character 65535.
-
-2009-03-16  strk <strk>
-
-	* test/Bitmap/Makefile.am: Distribute the new perl test
-
-2009-03-15  strk <strk>
-
-	* perl_ext/Bitmap.xs, perl_ext/SWF/Bitmap.pm: When an 'alpha'
-	parameter is passed to perl's Bitmap constructor, assume the
-	filename argument points to a jpeg. Fixes
-	per_ext/examples/alphafill.cgi. Update perldoc dropping file
-	extension limits.
-
-2009-03-15  strk <strk>
-
-	* util/makeswf.c: Allow using .dbl files as frame content
-
-2009-03-15  strk <strk>
-
-	* util/outputscript.c: Second attempt at making bitmap extraction
-	easyer for user. The idea is you'd grep 'swfextract' from the
-	generated script, cleanup comments, set swf file and end up with an
-	extraction script (based on SWFTool's swfextract).
-
-2009-03-15  akleine <akleine>
-
-	* perl_ext/Bitmap.xs, perl_ext/SWF/Bitmap.pm: added another
-	constructor for creating bitmaps from open file handles including
-	STDIN and pipes. POD updated.
-
-2009-03-15  strk <strk>
-
-	* util/outputscript.c: Set depth explicitly in PLACEOBJECT2 (mask
-	layers [clipdepths] depend on that to be exact)
-
-2009-03-14  strk <strk>
-
-	* util/outputscript.c: Add a filename argument to the generated
-	Bitmap construction methods.  If nothing else, it gives hint on
-	which character id to pass to extraction tools at runtime (ie:
-	"can't find character14.img").
-
-2009-03-14  strk <strk>
-
-	* util/outputscript.c: Extract specific bitmap fill type when
-	converting to script.
-
-2009-03-14  strk <strk>
-
-	* perl_ext/Bitmap.xs, test/Bitmap/test01.pl: Simplify bitmap
-	handling in perl extension to use the general
-	newSWFBitmap_fromInput. Drops limitation of only allowing load of
-	jpegs and dbl files and only allowing known extensions (ie: you can
-	now load png and gifs too, if support is built in). Add perl version
-	of the only Bitmap test we have (we'd need more).
-
-2009-03-14  strk <strk>
-
-	* test/Button/test01.ref, test/Button/test02.ref,
-	test/Button/test03.ref: Other tests containing old ColorTransform
-	output (just a label rename from ColorTransForm to ColorTransform)
-
-2009-03-14  strk <strk>
-
-	* docs/man/makeswf.1: Add some long option names to manual page
-
-2009-03-14  strk <strk>
-
-	* docs/man/makeswf.1, util/makeswf.c: Add -b --bgcolor switch to
-	makeswf
-
-2009-03-13  strk <strk>
-
-	* util/outputscript.c: Add dump lossless/lossless2 bitmap info too
-
-2009-03-13  strk <strk>
-
-	* test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref,
-	test/Filter/test05.ref, util/outputtxt.c: Don't hide ColorTransform
-	in PLACEOBJECT2 and PLACEOBJECT3, use decimal, not hexadecimal
-	format for multiply/add values of it. Regenerate refs for the few
-	cases in which ColorTransform (empty, btw) appear in testsuite.
-
-2009-03-09  akleine <akleine>
-
-	* perl_ext/Movie.xs, perl_ext/SWF/Movie.pm: argument access fix,
-	makes work $movie->replace(  ) +also added pod update
-
-2009-03-08  akleine <akleine>
-
-	* src/blocks/sound.c: Sound constructor fix (init data)
-
-2009-03-07  akleine <akleine>
-
-	* perl_ext/CXform.xs, perl_ext/Matrix.xs, perl_ext/TODO: added
-	bugfix and some comments to object destructor code
-
-2009-03-06  strk <strk>
-
-	* src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.y: Apply Patrice Dumas patch to
-	support newer bison version (2.4.1).  Successfully tested with 2.3
-	too.
-
-2009-03-03  akleine <akleine>
-
-	* perl_ext/Movie.xs, perl_ext/SWF/Movie.pm: Fixed return values of
-	xs_output() and replace() methods, this also removes warning "unused
-	variable ‘targ’" twice.  Also added pod update.
-
-2009-03-01  akleine <akleine>
-
-	* src/blocks/linestyle.c: fixed return value of
-	newSWFLineStyle2_filled(), preventing segfault
-
-2009-03-01  akleine <akleine>
-
-	* perl_ext/Movie.xs: avoid compiler warning  "RETVAL may be used
-	uninitialized...."
-
-2009-03-01  akleine <akleine>
-
-	* perl_ext/SWF/SoundStream.pm, perl_ext/SoundStream.xs: added
-	"deprecated method" warning to getFrames()
-
-2009-02-23  akleine <akleine>
-
-	* perl_ext/Button.xs: removed 4 useless set..  ALIASes
-
-2009-02-23  akleine <akleine>
-
-	* perl_ext/Exports.c, perl_ext/SWF/Constants.pm: added Shape tags
-	and Video tags to exports and updated pod
-
-2009-02-22  akleine <akleine>
-
-	* perl_ext/examples/alphafill.cgi: Made example directory files work
-	completely now, by including *.msk file and update of alphafill
-	example.  Also this shows that bug
-	http://bugs.libming.org/show_bug.cgi?id=75 is fixed since some time.
-
-2009-02-22  akleine <akleine>
-
-	* perl_ext/examples/jpegfill.cgi: made Soheil Seyfaie's example work
-	again
-
-2009-02-21  akleine <akleine>
-
-	* perl_ext/Exports.c, perl_ext/SWF/DisplayItem.pm: Added
-	SWFBLEND_MODE_... constants into the "DisplayItem" group of the
-	exports and also extendend pod documentation with some example code.
-
-2009-02-20  akleine <akleine>
-
-	* docs/perl/index.html: added new doc files into index
-
-2009-02-19  akleine <akleine>
-
-	* src/blocks/placeobject.c: added missing gc lines  (because make
-	check was broken)
-
-2009-02-19  akleine <akleine>
-
-	* perl_ext/SWF/ButtonRecord.pm: typo fix
-
-2009-02-18  akleine <akleine>
-
-	* docs/perl/SWF::BinaryData.html, docs/perl/SWF::Blur.html,
-	docs/perl/SWF::BrowserFont.html, docs/perl/SWF::ButtonRecord.html,
-	docs/perl/SWF::CXform.html, docs/perl/SWF::Character.html,
-	docs/perl/SWF::Filter.html, docs/perl/SWF::FilterMatrix.html,
-	docs/perl/SWF::FontCharacter.html,
-	docs/perl/SWF::FontCollection.html, docs/perl/SWF::InitAction.html,
-	docs/perl/SWF::Matrix.html, docs/perl/SWF::MovieClip.html,
-	docs/perl/SWF::PrebuiltClip.html, docs/perl/SWF::Shadow.html,
-	docs/perlman/SWF::BinaryData.3pm, docs/perlman/SWF::Blur.3pm,
-	docs/perlman/SWF::BrowserFont.3pm,
-	docs/perlman/SWF::ButtonRecord.3pm, docs/perlman/SWF::CXform.3pm,
-	docs/perlman/SWF::Character.3pm, docs/perlman/SWF::Filter.3pm,
-	docs/perlman/SWF::FilterMatrix.3pm,
-	docs/perlman/SWF::FontCharacter.3pm,
-	docs/perlman/SWF::FontCollection.3pm,
-	docs/perlman/SWF::InitAction.3pm, docs/perlman/SWF::Matrix.3pm,
-	docs/perlman/SWF::MovieClip.3pm,
-	docs/perlman/SWF::PrebuiltClip.3pm, docs/perlman/SWF::Shadow.3pm: 
-	added new html documentation files produced with perl_ext/mkdoc
-
-2009-02-18  akleine <akleine>
-
-	* docs/perl/SWF::Action.html, docs/perl/SWF::Bitmap.html,
-	docs/perl/SWF::Button.html, docs/perl/SWF::Constants.html,
-	docs/perl/SWF::DisplayItem.html, docs/perl/SWF::Fill.html,
-	docs/perl/SWF::Font.html, docs/perl/SWF::Gradient.html,
-	docs/perl/SWF::Morph.html, docs/perl/SWF::Movie.html,
-	docs/perl/SWF::Shape.html, docs/perl/SWF::Sound.html,
-	docs/perl/SWF::SoundInstance.html, docs/perl/SWF::SoundStream.html,
-	docs/perl/SWF::Sprite.html, docs/perl/SWF::Text.html,
-	docs/perl/SWF::TextField.html, docs/perl/SWF::VideoStream.html,
-	docs/perlman/SWF::Action.3pm, docs/perlman/SWF::Bitmap.3pm,
-	docs/perlman/SWF::Button.3pm, docs/perlman/SWF::Constants.3pm,
-	docs/perlman/SWF::DisplayItem.3pm, docs/perlman/SWF::Fill.3pm,
-	docs/perlman/SWF::Font.3pm, docs/perlman/SWF::Gradient.3pm,
-	docs/perlman/SWF::Morph.3pm, docs/perlman/SWF::Movie.3pm,
-	docs/perlman/SWF::Shape.3pm, docs/perlman/SWF::Sound.3pm,
-	docs/perlman/SWF::SoundInstance.3pm,
-	docs/perlman/SWF::SoundStream.3pm, docs/perlman/SWF::Sprite.3pm,
-	docs/perlman/SWF::Text.3pm, docs/perlman/SWF::TextField.3pm,
-	docs/perlman/SWF::VideoStream.3pm: replaced html-files with newer
-	ones ( produced via perl_ext/mkdoc )
-
-2009-02-18  akleine <akleine>
-
-	* perl_ext/SWF/BinaryData.pm, perl_ext/SWF/Character.pm,
-	perl_ext/SWF/FontCharacter.pm, perl_ext/SWF/FontCollection.pm,
-	perl_ext/SWF/InitAction.pm, perl_ext/TODO: once more added missing
-	pod, also updated TODO list.
-
-2009-02-17  akleine <akleine>
-
-	* perl_ext/SWF/ButtonRecord.pm: added initial pod
-
-2009-02-16  akleine <akleine>
-
-	* NEWS, perl_ext/SWF/Button.pm: added Perl news to NEWS / and
-	updated pod for SWF::Button
-
-2009-02-16  akleine <akleine>
-
-	* perl_ext/SWF/DisplayItem.pm, perl_ext/SWF/SoundStream.pm: pod
-	update: removed a 'ToDo' plus a typo fix
-
-2009-02-16  akleine <akleine>
-
-	* perl_ext/SWF/VideoStream.pm: added video methods to pod
-
-2009-02-16  krechert <krechert>
-
-	* src/blocks/shape.c: shape versioning prevent fill overflow make
-	older c compilers happy by Iori Lim
-
-2009-02-16  krechert <krechert>
-
-	* src/ming.h.in: add more SWFShape version defines by Iori Lim
-
-2009-02-16  krechert <krechert>
-
-	* src/blocks/text.c: make older C compilers happy patch by Iori Lim
-
-2009-02-16  krechert <krechert>
-
-	* src/blocks/input.c: make older C compilers happy by Iori Lim
-
-2009-02-16  krechert <krechert>
-
-	* src/blocks/fromswf.c: don't use zlib if defined to 0 by Iori Lim
-
-2009-02-16  krechert <krechert>
-
-	* src/blocks/dbl.c: make old C compiles happy
-
-2009-02-16  krechert <krechert>
-
-	* src/blocks/placeobject.c: added missing GC support patch by Iori
-	Lim
-
-2009-02-15  akleine <akleine>
-
-	* perl_ext/Constants.xs, perl_ext/SWF/Shape.pm, perl_ext/Shape.xs: 
-	added setLine2 - methods to shape.xs and shape.pm, added deprecation
-	warn messages for old code in shape.xs, added SWF_LINESTYLE_.. flags
-	to Constants.xs
-
-2009-02-14  krechert <krechert>
-
-	* src/movie.c: don't use ZLIB if defined to 0 patch by Iori Lim
-
-2009-02-14  krechert <krechert>
-
-	* src/ming.h.in: MSVC inline patch by Iori Lim
-
-2009-02-13  akleine <akleine>
-
-	* perl_ext/SWF/Shape.pm: updated pod / added new methods
-
-2009-02-10  akleine <akleine>
-
-	* AUTHORS, perl_ext/SWF/BrowserFont.pm, perl_ext/SWF/Movie.pm,
-	perl_ext/SWF/MovieClip.pm: some more documentation updates for perl
-	pod
-
-2009-02-08  akleine <akleine>
-
-	* perl_ext/SWF/Morph.pm, perl_ext/SWF/Movie.pm,
-	perl_ext/SWF/Shape.pm, perl_ext/SWF/Sprite.pm: minor pod updates
-	(and made podchecker happy)
-
-2009-02-08  akleine <akleine>
-
-	* perl_ext/SWF/SoundInstance.pm, perl_ext/SWF/SoundStream.pm: added
-	initial pod
-
-2009-02-07  akleine <akleine>
-
-	* perl_ext/SWF/Sound.pm, perl_ext/Sound.xs: Sound.xs: fixed bug in
-	SWF:Sound constructor: ("Assertion ((svtype)((_svi)->sv_flags &
-	0xff)) >= SVt_PV failed: ...") Sound.pm: added initial pod
-
-2009-02-05  akleine <akleine>
-
-	* perl_ext/SWF/Movie.pm: replaced SWF::Sound() w SWF::SoundStream()
-	in streamMp3() and added lots of new method documentation into pod
-
-2009-02-05  strk <strk>
-
-	* ChangeLog, test/Gradient/test05.ref, test/Gradient/test06.ref: 
-	Regenerated expected results after fix of swapped flags bug in
-	Gradients handling
-
-2009-02-04  akleine <akleine>
-
-	* perl_ext/SWF/PrebuiltClip.pm: added initial pod
-
-2009-02-03  akleine <akleine>
-
-	* perl_ext/SWF/Matrix.pm: added initial pod
-
-2009-02-02  akleine <akleine>
-
-	* perl_ext/Action.xs, perl_ext/SWF/Action.pm: updated pod and added
-	OUTPUT keyword fixing return value of compile() method, also removed
-	warning: "unused variable `targ'"
-
-2009-01-30  akleine <akleine>
-
-	* util/gif2mask.c: bug fix: was wrong compressed data file size
-
-2009-01-29  akleine <akleine>
-
-	* src/blocks/jpeg.c: destructor crash in SWFJpegWithAlpha* -blocks
-	fixed (gc stuff)
-
-2009-01-28  akleine <akleine>
-
-	* perl_ext/SWF/Bitmap.pm, perl_ext/SWF/DisplayItem.pm: update pod
-
-2009-01-22  akleine <akleine>
-
-	* perl_ext/SWF/Bitmap.pm: pod update
-
-2009-01-21  akleine <akleine>
-
-	* perl_ext/SWF/Fill.pm: added initial pod
-
-2009-01-20  akleine <akleine>
-
-	* src/blocks/gradient.c: gradient flag bug fix
-
-2009-01-19  akleine <akleine>
-
-	* perl_ext/SWF/Gradient.pm: added initial pod
-
-2009-01-19  akleine <akleine>
-
-	* perl_ext/Exports.c, perl_ext/SWF/Constants.pm: added more v8
-	constants
-
-2009-01-17  akleine <akleine>
-
-	* perl_ext/SWF/Blur.pm, perl_ext/SWF/BrowserFont.pm,
-	perl_ext/SWF/CXform.pm, perl_ext/SWF/Filter.pm,
-	perl_ext/SWF/FilterMatrix.pm, perl_ext/SWF/Shadow.pm,
-	perl_ext/SWF/Shape.pm: updated pod / added new pod for SWF::CXform
-
-2009-01-16  akleine <akleine>
-
-	* perl_ext/SWF/FilterMatrix.pm: added initial pod
-
-2009-01-15  akleine <akleine>
-
-	* perl_ext/Exports.c, perl_ext/SWF/Constants.pm: added Filter
-	constants
-
-2009-01-14  akleine <akleine>
-
-	* perl_ext/SWF/Filter.pm: added initial pod
-
-2009-01-14  akleine <akleine>
-
-	* perl_ext/FilterMatrix.xs: fixed check of array length
-
-2009-01-13  akleine <akleine>
-
-	* perl_ext/SWF/Blur.pm, perl_ext/SWF/Shadow.pm: added initial pod
-
-2009-01-13  akleine <akleine>
-
-	* perl_ext/Button.xs: avoid gcc 4.x compiler warning
-
-2009-01-12  akleine <akleine>
-
-	* perl_ext/Filter.xs: Fixed array size bug: av_len returns the
-	highest index in the array.  The number of elements in the array is
-	"av_len(av) + 1".
-
-2009-01-12  akleine <akleine>
-
-	* perl_ext/FilterMatrix.xs, perl_ext/Shadow.xs: fixed typos in
-	PREFIX keyword
-
-2009-01-11  akleine <akleine>
-
-	* perl_ext/SWF/BrowserFont.pm: added initial pod
-
-2009-01-11  akleine <akleine>
-
-	* util/outputscript.c: use BrowserFont conditional
-
-2009-01-09  akleine <akleine>
-
-	* perl_ext/SWF/Font.pm: added initial pod
-
-2009-01-08  akleine <akleine>
-
-	* perl_ext/Shape.xs: added missing function SWFShape_dumpOutline()
-	for Perl
-
-2009-01-06  akleine <akleine>
-
-	* perl_ext/SWF/TextField.pm: pod update
-
-2009-01-05  akleine <akleine>
-
-	* perl_ext/SWF/Text.pm: Added initial pod for SWF::Text
-
-2009-01-04  akleine <akleine>
-
-	* util/outputfdb.c: Changed "buf" memory allocation from stack to
-	heap to prevent segmentation fault due too small stack size ('ulimit
-	-s') as seen for some huge Asian Unicode font files.  Also fixed
-	file size message.
-
-2009-01-02  akleine <akleine>
-
-	* perl_ext/MovieClip.xs: added deprecation warning for SWF::Sprite
-
-2008-12-31  akleine <akleine>
-
-	* util/outputscript.c: removed useless TextField flags
-
-2008-12-26  akleine <akleine>
-
-	* perl_ext/examples/action.cgi, perl_ext/examples/morph.cgi,
-	perl_ext/examples/textfield.cgi: made work again some of
-	perl_ext/examples/*.cgi
-
-2008-12-26  akleine <akleine>
-
-	* perl_ext/Exports.c: Fixed broken export of constants in the Perl
-	interface.  This bug was first mentioned by Patrice Dumas,
-	2008-04-02 on the ming mailing list. Also it makes some of the demo
-	files in perl_ext/examples/*.cgi running again.
-
-2008-12-23  akleine <akleine>
-
-	* perl_ext/Sound.xs, perl_ext/SoundInstance.xs: This patch does fix
-	a bug reported by Yung-chung Lin at 2008-08-09 on the 'ming-users'
-	mailing list in using Sound objects via the Perl interface: 'new
-	SWF::Sound(...);'
-
-2008-12-23  akleine <akleine>
-
-	* src/ming.h.in: added missing prototype: destroySWFSoundInstance()
-
-2008-12-21  krechert <krechert>
-
-	* util/gif2mask.c: bugfix:
-	http://bugs.libming.org/show_bug.cgi?id=73
-
-2008-12-19  strk <strk>
-
-	* test/Font/test01.py, test/Font/test02.py: fix run of python tests
-	out of source tree
-
-2008-12-19  strk <strk>
-
-	* test/Filter/test05.php, test/Movie/setSoundStream/test01.php,
-	test/Movie/setSoundStream/test02.php,
-	test/Movie/setSoundStream/test03.php, test/SoundStream/test01.php,
-	test/SoundStream/test02.php, test/Video/test01.php: Fix php tests
-	run out of source tree
-
-2008-12-19  strk <strk>
-
-	* test/FillStyle/test04.py, test/Font/test03.py: Add handling of
-	srcdir arg passed to python tests. The test in Font fails for
-	different reasons it seems.
-
-2008-12-19  strk <strk>
-
-	* py_ext/Makefile.am, py_ext/setup.py.in, tcl_ext/Makefile.am: 
-	Out-of-tree build for python extension. Contributed by Patrice
-	Dumas.
-
-2008-12-18  strk <strk>
-
-	* test/Video/test05.pl: another test ported to perl
-
-2008-12-18  strk <strk>
-
-	* test/Video/test04.pl: Figured how to use constants
-
-2008-12-18  strk <strk>
-
-	* test/Video/test01.pl, test/Video/test02.pl, test/Video/test03.pl: 
-	Add perl version of some Video tests. To proceed I need to figure
-	how to specify constants (anyone?)
-
-2008-12-18  strk <strk>
-
-	* test/Makefile.inc: generate testing files in sourcedir, not
-	builddir
-
-2008-11-19  strk <strk>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y: Add support for loadMovieNum in
-	SWF4
-
-2008-11-07  strk <strk>
-
-	* ChangeLog: updated ChangeLog
-
-2008-11-07  strk <strk>
-
-	* NEWS: add note about delete/delete2
-
-2008-11-06  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, test/actionscript/ASM_all.as,
-	test/actionscript/ASM_all.ref: Add support for 'delete' and
-	'delete2' in asm blocks
-
-2008-11-02  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: bugfix: added missing length
-	check
-
-2008-10-21  krechert <krechert>
-
-	* configure.in: fixed endian check on some systems (e.g.
-	sparc/solaris)
-
-2008-10-21  krechert <krechert>
-
-	* php_ext/Makefile.am: removed unbalanced "
-
-2008-10-20  krechert <krechert>
-
-	* autogen.sh: s not working on all versions
-
-2008-10-13  krechert <krechert>
-
-	* util/dbl2png.c, util/main.c, util/makeswf_utils.c,
-	util/outputfdb.c, util/png2dbl.c: fix warning
-
-2008-10-13  krechert <krechert>
-
-	* docs/Makefile.am: distribute man pages
-
-2008-10-13  krechert <krechert>
-
-	* config/config.guess, config/config.sub: update config.* files
-
-2008-10-13  krechert <krechert>
-
-	* autogen.sh: get all necessary libtool / auto* files
-
-2008-10-13  krechert <krechert>
-
-	* macros/libtool.m4: remove libtool. the build system should provide
-	it.
-
-2008-10-13  krechert <krechert>
-
-	* docs/Makefile.am: don't distribute CVS directories
-
-2008-10-12  krechert <krechert>
-
-	* util/Makefile.am, util/img2swf.c, util/old/img2swf.c: drop img2swf
-	due name clashes and superior successor "makeswf"
-
-2008-10-11  krechert <krechert>
-
-	* perl_ext/Makefile.am: make check should depend on all:
-
-2008-10-11  krechert <krechert>
-
-	* tcl_ext/.cvsignore: ming_wrap.c is generated. ignore in CVS
-
-2008-10-11  krechert <krechert>
-
-	* tcl_ext/Makefile.am: fix bug #72: make dist failed in tcl_ext
-
-2008-10-11  krechert <krechert>
-
-	* test/Button/test02.pl, test/Button/test03.pl: add SWF::Constants::
-	prefix to button constants
-
-2008-10-08  strk <strk>
-
-	* test/Media/Makefile.am: 150bpm.wav isn't in the repository, and
-	isn't needed either
-
-2008-10-08  strk <strk>
-
-	* mingpp.h, test/Sound/test01-cxx.C, test/Sound/test01.c,
-	test/Sound/test01.ref, test/Sound/test02-cxx.C,
-	test/Sound/test02.c, test/Sound/test02.ref,
-	test/Sound/test03-cxx.C, test/Sound/test03.c, test/Sound/test03.ref: 
-	Add support for exporting event sounds in C++ interface, add tests
-	for sound export
-
-2008-10-08  krechert <krechert>
-
-	* util/parser.c: parsing mp3 sound data can't be shared between
-	event and streaming sound
-
-2008-10-08  strk <strk>
-
-	* src/movie.c: Allow exporting event sounds (SWFSound). Tested
-	within Gnash, needs Ming-specific test in test/Sound but that subdir
-	currently fails as it is (see bugzilla bug #70)
-
-2008-10-06  strk <strk>
-
-	* util/action.c: typo: UrlSring -> UrlString
-
-2008-10-05  krechert <krechert>
-
-	* test/Movie/setSoundStream/test03.ref: no sample count in non-MP3
-	streams
-
-2008-10-05  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: 
-	SWFSoundStreamBlock: sample count is only available with MP3 sound
-
-2008-10-05  krechert <krechert>
-
-	* src/blocks/soundstream.c: set initial delay only for MP3
-
-2008-10-05  krechert <krechert>
-
-	* docs/libming/SWFAction_compile.html,
-	docs/libming/SWFAction_getByteCode.html,
-	docs/libming/SWFAction_setDebug.html,
-	docs/libming/SWFBlockList_getLastBlock.html,
-	docs/libming/SWFBlock_isCharacter.html,
-	docs/libming/SWFCXform_setColorAdd.html,
-	docs/libming/SWFCXform_setColorMult.html,
-	docs/libming/SWFCharacter_getHeight.html,
-	docs/libming/SWFCharacter_getWidth.html,
-	docs/libming/SWFDisplayItem_flush.html,
-	docs/libming/SWFDisplayItem_setMaskLevel.html,
-	docs/libming/SWFDisplayItem_setName.html,
-	docs/libming/SWFFontCharacter_addAllChars.html,
-	docs/libming/SWFFontCharacter_addChars.html,
-	docs/libming/SWFFontCharacter_addUTF8Chars.html,
-	docs/libming/SWFFont_getScaledAscent.html,
-	docs/libming/SWFGradient_addEntry.html,
-	docs/libming/SWFGradient_setFocalPoint.html,
-	docs/libming/SWFGradient_setInterpolationMode.html,
-	docs/libming/SWFGradient_setSpreadMode.html,
-	docs/libming/SWFMatrix_leftMultiply.html,
-	docs/libming/SWFMatrix_multiply.html,
-	docs/libming/SWFMovieClip_add.html,
-	docs/libming/SWFMovieClip_addInitAction.html,
-	docs/libming/SWFMovieClip_labelFrame.html,
-	docs/libming/SWFMovieClip_nextFrame.html,
-	docs/libming/SWFMovieClip_remove.html,
-	docs/libming/SWFMovieClip_setNumberOfFrames.html,
-	docs/libming/SWFMovieClip_setSoundStream.html,
-	docs/libming/SWFMovieClip_setSoundStreamAt.html,
-	docs/libming/SWFMovieClip_startSound.html,
-	docs/libming/SWFMovieClip_stopSound.html,
-	docs/libming/SWFMovie_addExport.html,
-	docs/libming/SWFMovie_addFont.html,
-	docs/libming/SWFMovie_addMetadata.html,
-	docs/libming/SWFMovie_getRate.html,
-	docs/libming/SWFMovie_importCharacter.html,
-	docs/libming/SWFMovie_importFont.html,
-	docs/libming/SWFMovie_labelFrame.html,
-	docs/libming/SWFMovie_nextFrame.html,
-	docs/libming/SWFMovie_output.html,
-	docs/libming/SWFMovie_output_to_stream.html,
-	docs/libming/SWFMovie_protect.html,
-	docs/libming/SWFMovie_remove.html, docs/libming/SWFMovie_save.html,
-	docs/libming/SWFMovie_setNetworkAccess.html,
-	docs/libming/SWFMovie_setSoundStream.html,
-	docs/libming/SWFMovie_setSoundStreamAt.html,
-	docs/libming/SWFMovie_startSound.html,
-	docs/libming/SWFMovie_stopSound.html,
-	docs/libming/SWFMovie_writeExports.html,
-	docs/libming/SWFOutput_checkSize.html,
-	docs/libming/SWFOutput_writeFloat16.html,
-	docs/libming/SWFPlaceObject2Block_addFilter.html,
-	docs/libming/SWFPlaceObject2Block_setBlendMode.html,
-	docs/libming/SWFPlaceObject2Block_setCacheFlag.html,
-	docs/libming/SWFRect_includePoint.html,
-	docs/libming/SWFShape_drawArc.html,
-	docs/libming/SWFShape_drawCubic.html,
-	docs/libming/SWFShape_movePenTo.html,
-	docs/libming/SWFShape_setLine.html,
-	docs/libming/SWFShape_setRenderHintingFlags.html,
-	docs/libming/SWFShape_useVersion.html,
-	docs/libming/SWFSoundInstance_addEnvelope.html,
-	docs/libming/SWFSoundInstance_setLoopCount.html,
-	docs/libming/SWFSoundInstance_setLoopInPoint.html,
-	docs/libming/SWFSoundInstance_setLoopOutPoint.html,
-	docs/libming/SWFSoundInstance_setNoMultiple.html,
-	docs/libming/SWFSoundStream_getDuration.html,
-	docs/libming/SWFSoundStream_getFrames.html,
-	docs/libming/SWFSoundStream_rewind.html,
-	docs/libming/SWFTextField_setFont.html,
-	docs/libming/SWFTextField_setFontCharacter.html,
-	docs/libming/SWFText_addWideString.html,
-	docs/libming/SWFText_resolveCodes.html,
-	docs/libming/SWFVideoStream_nextFrame.html,
-	docs/libming/SWFVideoStream_seek.html,
-	docs/libming/SWFVideoStream_setFrameMode.html,
-	docs/libming/destroySWFAction.html,
-	docs/libming/destroySWFBinaryData.html,
-	docs/libming/destroySWFBitmap.html,
-	docs/libming/destroySWFBrowserFont.html,
-	docs/libming/destroySWFCXform.html,
-	docs/libming/destroySWFMovieClip.html,
-	docs/libming/destroySWFPrebuiltClip.html,
-	docs/libming/destroySWFSoundInstance.html,
-	docs/libming/dumpJpegBlock.html, docs/libming/getMP3Duration.html,
-	docs/libming/getMP3Flags.html, docs/libming/newBevelFilter.html,
-	docs/libming/newBlurFilter.html,
-	docs/libming/newColorMatrixFilter.html,
-	docs/libming/newConvolutionFilter.html,
-	docs/libming/newDropShadowFilter.html,
-	docs/libming/newGlowFilter.html,
-	docs/libming/newGradientBevelFilter.html,
-	docs/libming/newGradientGlowFilter.html,
-	docs/libming/newSWFAction.html,
-	docs/libming/newSWFAction_fromFile.html,
-	docs/libming/newSWFAddCXform.html,
-	docs/libming/newSWFBinaryData.html, docs/libming/newSWFBlur.html,
-	docs/libming/newSWFBrowserFont.html,
-	docs/libming/newSWFCXform.html,
-	docs/libming/newSWFFilterMatrix.html,
-	docs/libming/newSWFFontCollection_fromFile.html,
-	docs/libming/newSWFFont_fromFile.html,
-	docs/libming/newSWFInitAction.html,
-	docs/libming/newSWFInitAction_withId.html,
-	docs/libming/newSWFInput_allocedBuffer.html,
-	docs/libming/newSWFInput_bufferCopy.html,
-	docs/libming/newSWFJpegWithAlpha_fromInput.html,
-	docs/libming/newSWFLineStyle.html,
-	docs/libming/newSWFLineStyle2.html,
-	docs/libming/newSWFLineStyle2_filled.html,
-	docs/libming/newSWFMatrix.html, docs/libming/newSWFMovieClip.html,
-	docs/libming/newSWFMultCXform.html,
-	docs/libming/newSWFPlaceObjectBlock.html,
-	docs/libming/newSWFPosition.html,
-	docs/libming/newSWFPrebuiltClip_fromFile.html,
-	docs/libming/newSWFPrebuiltClip_fromInput.html,
-	docs/libming/newSWFShadow.html, docs/libming/newSWFSound.html,
-	docs/libming/newSWFSoundFromFileno.html,
-	docs/libming/newSWFSoundInstance.html,
-	docs/libming/newSWFSound_fromSoundStream.html,
-	docs/libming/newSWFText2.html, docs/libming/newSizedSWFOutput.html,
-	docs/libming/readMP3Header.html, docs/man/Ming_getScale.3,
-	docs/man/Ming_init.3, docs/man/Ming_setCubicThreshold.3,
-	docs/man/Ming_setErrorFunction.3,
-	docs/man/Ming_setSWFCompression.3, docs/man/Ming_setScale.3,
-	docs/man/Ming_setWarnFunction.3, docs/man/Ming_useSWFVersion.3,
-	docs/man/SWFAction_compile.3, docs/man/SWFAction_getByteCode.3,
-	docs/man/SWFAction_setDebug.3,
-	docs/man/SWFBlockList_getLastBlock.3,
-	docs/man/SWFBlock_isCharacter.3,
-	docs/man/SWFButtonRecord_addFilter.3,
-	docs/man/SWFButtonRecord_setBlendMode.3,
-	docs/man/SWFButton_addAction.3, docs/man/SWFButton_addCharacter.3,
-	docs/man/SWFButton_addShape.3,
-	docs/man/SWFButton_removeScalingGrid.3,
-	docs/man/SWFButton_setScalingGrid.3,
-	docs/man/SWFCXform_setColorAdd.3,
-	docs/man/SWFCXform_setColorMult.3,
-	docs/man/SWFCharacter_getHeight.3,
-	docs/man/SWFCharacter_getWidth.3,
-	docs/man/SWFDisplayItem_addFilter.3,
-	docs/man/SWFDisplayItem_cacheAsBitmap.3,
-	docs/man/SWFDisplayItem_flush.3,
-	docs/man/SWFDisplayItem_setBlendMode.3,
-	docs/man/SWFDisplayItem_setMaskLevel.3,
-	docs/man/SWFDisplayItem_setName.3,
-	docs/man/SWFFontCharacter_addAllChars.3,
-	docs/man/SWFFontCharacter_addChars.3,
-	docs/man/SWFFontCharacter_addUTF8Chars.3,
-	docs/man/SWFFont_getScaledAscent.3,
-	docs/man/SWFGradient_addEntry.3,
-	docs/man/SWFGradient_setFocalPoint.3,
-	docs/man/SWFGradient_setInterpolationMode.3,
-	docs/man/SWFGradient_setSpreadMode.3,
-	docs/man/SWFMatrix_leftMultiply.3, docs/man/SWFMatrix_multiply.3,
-	docs/man/SWFMovieClip_add.3, docs/man/SWFMovieClip_addInitAction.3,
-	docs/man/SWFMovieClip_labelFrame.3,
-	docs/man/SWFMovieClip_nextFrame.3, docs/man/SWFMovieClip_remove.3,
-	docs/man/SWFMovieClip_removeScalingGrid.3,
-	docs/man/SWFMovieClip_setNumberOfFrames.3,
-	docs/man/SWFMovieClip_setScalingGrid.3,
-	docs/man/SWFMovieClip_setSoundStream.3,
-	docs/man/SWFMovieClip_setSoundStreamAt.3,
-	docs/man/SWFMovieClip_startSound.3,
-	docs/man/SWFMovieClip_stopSound.3, docs/man/SWFMovie_addExport.3,
-	docs/man/SWFMovie_addFont.3, docs/man/SWFMovie_addMetadata.3,
-	docs/man/SWFMovie_add_internal.3, docs/man/SWFMovie_assignSymbol.3,
-	docs/man/SWFMovie_defineScene.3, docs/man/SWFMovie_getRate.3,
-	docs/man/SWFMovie_importCharacter.3,
-	docs/man/SWFMovie_importFont.3, docs/man/SWFMovie_labelFrame.3,
-	docs/man/SWFMovie_namedAnchor.3, docs/man/SWFMovie_nextFrame.3,
-	docs/man/SWFMovie_output.3, docs/man/SWFMovie_output_to_stream.3,
-	docs/man/SWFMovie_protect.3, docs/man/SWFMovie_remove.3,
-	docs/man/SWFMovie_replace_internal.3, docs/man/SWFMovie_save.3,
-	docs/man/SWFMovie_setBackground.3,
-	docs/man/SWFMovie_setDimension.3,
-	docs/man/SWFMovie_setNetworkAccess.3,
-	docs/man/SWFMovie_setNumberOfFrames.3, docs/man/SWFMovie_setRate.3,
-	docs/man/SWFMovie_setScriptLimits.3,
-	docs/man/SWFMovie_setSoundStream.3,
-	docs/man/SWFMovie_setSoundStreamAt.3,
-	docs/man/SWFMovie_setTabIndex.3, docs/man/SWFMovie_startSound.3,
-	docs/man/SWFMovie_stopSound.3, docs/man/SWFMovie_writeExports.3,
-	docs/man/SWFOutput_checkSize.3, docs/man/SWFOutput_writeFloat16.3,
-	docs/man/SWFPlaceObject2Block_addFilter.3,
-	docs/man/SWFPlaceObject2Block_setBlendMode.3,
-	docs/man/SWFPlaceObject2Block_setCacheFlag.3,
-	docs/man/SWFRect_includePoint.3, docs/man/SWFShape_drawArc.3,
-	docs/man/SWFShape_drawCubic.3,
-	docs/man/SWFShape_drawScaledLineTo.3,
-	docs/man/SWFShape_getVersion.3, docs/man/SWFShape_movePenTo.3,
-	docs/man/SWFShape_moveScaledPenTo.3, docs/man/SWFShape_setLine.3,
-	docs/man/SWFShape_setLine2.3, docs/man/SWFShape_setLine2Filled.3,
-	docs/man/SWFShape_setLineStyle2_internal.3,
-	docs/man/SWFShape_setLineStyle2filled_internal.3,
-	docs/man/SWFShape_setLineStyle_internal.3,
-	docs/man/SWFShape_setRenderHintingFlags.3,
-	docs/man/SWFShape_useVersion.3,
-	docs/man/SWFSoundInstance_addEnvelope.3,
-	docs/man/SWFSoundInstance_setLoopCount.3,
-	docs/man/SWFSoundInstance_setLoopInPoint.3,
-	docs/man/SWFSoundInstance_setLoopOutPoint.3,
-	docs/man/SWFSoundInstance_setNoMultiple.3,
-	docs/man/SWFSoundStream_getDuration.3,
-	docs/man/SWFSoundStream_getFrames.3,
-	docs/man/SWFSoundStream_rewind.3, docs/man/SWFTextField_setFont.3,
-	docs/man/SWFTextField_setFontCharacter.3,
-	docs/man/SWFText_addWideString.3, docs/man/SWFText_resolveCodes.3,
-	docs/man/SWFVideoStream_getNumFrames.3,
-	docs/man/SWFVideoStream_getVideoFrame.3,
-	docs/man/SWFVideoStream_hasAudio.3,
-	docs/man/SWFVideoStream_nextFrame.3,
-	docs/man/SWFVideoStream_seek.3,
-	docs/man/SWFVideoStream_setDimension.3,
-	docs/man/SWFVideoStream_setFrameMode.3,
-	docs/man/destroySWFAction.3, docs/man/destroySWFBinaryData.3,
-	docs/man/destroySWFBitmap.3, docs/man/destroySWFBrowserFont.3,
-	docs/man/destroySWFCXform.3, docs/man/destroySWFMovie.3,
-	docs/man/destroySWFMovieClip.3, docs/man/destroySWFPrebuiltClip.3,
-	docs/man/destroySWFSoundInstance.3, docs/man/dumpJpegBlock.3,
-	docs/man/getMP3Duration.3, docs/man/getMP3Flags.3,
-	docs/man/newBevelFilter.3, docs/man/newBlurFilter.3,
-	docs/man/newColorMatrixFilter.3, docs/man/newConvolutionFilter.3,
-	docs/man/newDropShadowFilter.3, docs/man/newGlowFilter.3,
-	docs/man/newGradientBevelFilter.3,
-	docs/man/newGradientGlowFilter.3, docs/man/newSWFAction.3,
-	docs/man/newSWFAction_fromFile.3, docs/man/newSWFAddCXform.3,
-	docs/man/newSWFBinaryData.3, docs/man/newSWFBlur.3,
-	docs/man/newSWFBrowserFont.3, docs/man/newSWFCXform.3,
-	docs/man/newSWFFilterMatrix.3,
-	docs/man/newSWFFontCollection_fromFile.3,
-	docs/man/newSWFFont_fromFile.3, docs/man/newSWFInitAction.3,
-	docs/man/newSWFInitAction_withId.3,
-	docs/man/newSWFInput_allocedBuffer.3,
-	docs/man/newSWFInput_bufferCopy.3,
-	docs/man/newSWFJpegWithAlpha_fromInput.3,
-	docs/man/newSWFLineStyle.3, docs/man/newSWFLineStyle2.3,
-	docs/man/newSWFLineStyle2_filled.3, docs/man/newSWFMatrix.3,
-	docs/man/newSWFMovie.3, docs/man/newSWFMovieClip.3,
-	docs/man/newSWFMovieWithVersion.3, docs/man/newSWFMultCXform.3,
-	docs/man/newSWFPlaceObjectBlock.3, docs/man/newSWFPosition.3,
-	docs/man/newSWFPrebuiltClip_fromFile.3,
-	docs/man/newSWFPrebuiltClip_fromInput.3, docs/man/newSWFShadow.3,
-	docs/man/newSWFShapeFromBitmap.3, docs/man/newSWFSound.3,
-	docs/man/newSWFSoundFromFileno.3, docs/man/newSWFSoundInstance.3,
-	docs/man/newSWFSound_fromSoundStream.3, docs/man/newSWFText2.3,
-	docs/man/newSWFVideoStream.3,
-	docs/man/newSWFVideoStream_fromFile.3,
-	docs/man/newSWFVideoStream_fromInput.3,
-	docs/man/newSizedSWFOutput.3, docs/man/readMP3Header.3,
-	docs/man/writeSWFButtonSoundToMethod.3: update
-
-2008-10-05  krechert <krechert>
-
-	* src/blocks/gradient.c: update documentation
-
-2008-10-05  krechert <krechert>
-
-	* NEWS: update NEWS file
-
-2008-09-29  krechert <krechert>
-
-	* src/blocks/sound.c: cleanup sound structure
-
-2008-09-29  krechert <krechert>
-
-	* src/blocks/sound.c, src/blocks/sound.h: remove dead code
-
-2008-09-28  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/browserfont.c,
-	src/blocks/filter.c, src/blocks/font.c, src/blocks/fromswf.c,
-	src/blocks/imports.c, src/blocks/input.c, src/blocks/matrix.c,
-	src/blocks/output.c, src/blocks/outputblock.c,
-	src/blocks/placeobject.c, src/blocks/pngdbl.c,
-	src/blocks/protect.c, src/blocks/scenedata.c,
-	src/blocks/symbolclass.c, src/blocks/text.c,
-	src/blocks/textfield.c, src/blocks/utf8.c, src/font_util.c,
-	src/gc.c, src/movie.c, src/shape_cubic.c: close
-	http://bugs.libming.net/show_bug.cgi?id=39 do not include system
-	header into c2man. c2man can not handle some __XXX declarations.
-
-2008-09-28  krechert <krechert>
-
-	* src/blocks/filter.c: add missing LGPL header
-
-2008-09-28  krechert <krechert>
-
-	* util/outputscript.c: closes bug
-	http://bugs.libming.net/show_bug.cgi?id=68
-
-2008-09-25  strk <strk>
-
-	* configure.in: Bump release and lib versioning. Seems safe to do
-	this always right after a release, so people runnign the CVS version
-	will always be able to distinguish it from the actual latest
-	release. The bump is by default only a minor (and lib revision) one,
-	so we can have more chances to catch ABI breakers while developing.
-	I left a comment about what numbers were associated with actual
-	latest release, so when it is time to release again we can decide
-	how to change it based on whether or not we broke the ABI the API or
-	whatever.
-
-2008-09-25  krechert <krechert>
-
-	* : removed this WAV file because of noise artefacts. makes
-	debugging and testing of mings sounds functionality difficult.
-
-2008-09-23  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: bugfix #2118651 "fix typo in
-	swf5compiler.y" found by Furumoto-san
-
-2008-09-23  krechert <krechert>
-
-	* src/blocks/button.c, src/blocks/matrix.c, src/blocks/text.c,
-	src/displaylist.c: don't omit scale if values are 0.0
-
-2008-09-23  krechert <krechert>
-
-	* src/blocks/button.c, src/ming.h.in: added
-	SWFButtonRecord_setMatrix
-
-2008-09-23  krechert <krechert>
-
-	* src/blocks/matrix.c, src/blocks/matrix.h: move matrix struct
-	definition to matrix.h. Allows the usage inside the lib.
-
-2008-09-20  anderson <anderson>
-
-	* NEWS: Close out the rc2 section
-
-2008-09-18  anderson <anderson>
-
-	* ChangeLog: Update changelog for 0.4 RC2
-
-2008-09-18  anderson <anderson>
-
-	* configure.in: Update to 0.4.2 for the RC2 release
-
-2008-09-17  strk <strk>
-
-	* util/Makefile.am, util/img2swf.c, util/png2swf.c: Renamed png2swf
-	to img2swf. Drop check for .png extension as the core lib looks at
-	magic numbers
-
-2008-09-13  krechert <krechert>
-
-	* mingpp.h: add missing methods
-
-2008-09-13  krechert <krechert>
-
-	* mingpp.h: C++ create SWFFill instance from SWFFillStyle
-
-2008-09-13  krechert <krechert>
-
-	* test/Gradient/.cvsignore, test/Gradient/Makefile.am,
-	test/Gradient/TestList, test/Gradient/test09-cxx.C,
-	test/Gradient/test09.c, test/Gradient/test09.ref: move gradient
-	fills
-
-2008-09-13  krechert <krechert>
-
-	* src/blocks/gradient.c: fix SWFFill_move() on gradients
-
-2008-09-13  krechert <krechert>
-
-	* test/Gradient/.cvsignore, test/Gradient/Makefile.am,
-	test/Gradient/TestList, test/Gradient/test01.ref,
-	test/Gradient/test02.ref, test/Gradient/test03.ref,
-	test/Gradient/test04.ref, test/Gradient/test05.ref,
-	test/Gradient/test06.ref, test/Gradient/test07.ref,
-	test/Gradient/test08-cxx.C, test/Gradient/test08.c,
-	test/Gradient/test08.ref: add testcase with displaced gradient shape
-	update refs
-
-2008-09-13  krechert <krechert>
-
-	* src/blocks/gradient.c: fix gradient matrix closes
-	http://bugs.libming.net/show_bug.cgi?id=66
-
-2008-09-12  krechert <krechert>
-
-	* php_ext/Makefile.am: don't use $prefix, as php-config
-	--extension-dir already provides the full path
-
-2008-09-12  krechert <krechert>
-
-	* perl_ext/.cvsignore: SWF.pm is generated
-
-2008-09-12  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: SWFShape_dumpOutline()
-	SWFFont_getShape()
-
-2008-09-12  krechert <krechert>
-
-	* src/blocks/shape.c, src/compat.c, src/ming.h.in: 
-	SWFShape_dumpOutline() readd (deprecated) SWFFont_getShape()
-
-2008-09-08  krechert <krechert>
-
-	* src/blocks/sound.c, src/blocks/soundstream.c,
-	src/blocks/soundstream.h: fix bug #64 cleanup
-
-2008-09-08  krechert <krechert>
-
-	* test/Button/test02.pl: Constants should work this way
-
-2008-09-08  krechert <krechert>
-
-	* test/SoundStream/test01.ref, test/SoundStream/test02.ref: update
-	output
-
-2008-09-08  krechert <krechert>
-
-	* test/Sound/test01.ref, test/Sound/test02.ref,
-	test/Sound/test03.ref: more verbose DEFINESOUND / STARTSOUND output
-
-2008-09-08  krechert <krechert>
-
-	* test/Movie/setSoundStream/test01.ref,
-	test/Movie/setSoundStream/test02.ref,
-	test/Movie/setSoundStream/test03.ref,
-	test/Movie/setSoundStream/test04.ref: update testcase ooutput
-	(simple output txt string change)
-
-2008-09-08  krechert <krechert>
-
-	* test/Button/test02.pl: add static module prefix to SWF constants
-
-2008-09-06  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: verbose
-	SOUNDINFO output DEFINESOUND mp3 details
-
-2008-09-05  krechert <krechert>
-
-	* test/PrebuiltClip/test01.php: php testcase
-
-2008-09-04  krechert <krechert>
-
-	* src/blocks/shape.c: change memory management for SWFFillSyle
-	objects. Fixes bug #65 Now the user needs to destroy all SWFFillInstances, no matter how
-	they have been created. This is not the best solution, but it does
-	not crash if a pointer was freed twice.  A long term solution needs refcounting, which also makes Fills
-	reuseable.
-
-2008-09-04  krechert <krechert>
-
-	* php_ext/ming.c: fix compile error
-
-2008-08-13  fmk_ca <fmk_ca>
-
-	* php_ext/ming.c: Sync with the PHP source tree 1) Fix ZTS builds 2) Use int's instead of long's
-
-2008-08-06  krechert <krechert>
-
-	* mingpp.h: usefull default fill values
-
-2008-07-24  krechert <krechert>
-
-	* test/dotests.pl: unused variable
-
-2008-07-24  krechert <krechert>
-
-	* perl_ext/Shape.xs: fix bogus function call
-
-2008-07-24  krechert <krechert>
-
-	* php_ext/ming.c: fix warnings
-
-2008-07-24  krechert <krechert>
-
-	* php_ext/ming.c: skip is an optional parameter
-
-2008-07-24  krechert <krechert>
-
-	* test/Shape/test02.c: return 0: otherwise test fails
-
-2008-07-24  krechert <krechert>
-
-	* php_ext/ming.c: fix parameter type
-
-2008-07-24  fmk_ca <fmk_ca>
-
-	* php_ext/ming.c: Remove deprecated zend_get_parameters_ex() and use
-	the zend_parse_parameters() function.
-
-2008-07-22  krechert <krechert>
-
-	* php_ext/config.m4, src/Makefile.am: remove non-portable hack
-
-2008-07-22  krechert <krechert>
-
-	* test/Media/Makefile.am: mpeg1.mp3
-
-2008-07-22  krechert <krechert>
-
-	* : mpeg1 file
-
-2008-07-22  krechert <krechert>
-
-	* test/Movie/setSoundStream/.cvsignore,
-	test/Movie/setSoundStream/Makefile.am,
-	test/Movie/setSoundStream/TestList,
-	test/Movie/setSoundStream/test04-cxx.C,
-	test/Movie/setSoundStream/test04.c,
-	test/Movie/setSoundStream/test04.ref: mpeg1 testcase
-
-2008-07-22  krechert <krechert>
-
-	* src/blocks/mp3.c: bugfix: fix frame length calculation (by Aleksey
-	Scherbakov)
-
-2008-07-22  krechert <krechert>
-
-	* test/Shape/.cvsignore, test/Shape/Makefile.am,
-	test/Shape/TestList, test/Shape/test02-cxx.C, test/Shape/test02.c,
-	test/Shape/test02.ref: draw cubic testcase
-
-2008-07-21  krechert <krechert>
-
-	* test/Video/test06.ref: update
-
-2008-07-21  krechert <krechert>
-
-	* src/blocks/videostream.c: fix frame labeling in manual mode don't
-	duplicate frames
-
-2008-07-20  strk <strk>
-
-	* configure.in: Set release version to 0.4.1 so to avoid
-	MING_VERSION_CODE decreasing.  Update interface revision, since -rc1
-	was gone public.  This versioning should be fine for final release.
-
-2008-07-20  strk <strk>
-
-	* test/dotests.pl: Fix PERL5LIB now that SWF.pm is in buildtree
-
-2008-07-20  strk <strk>
-
-	* test/actionscript/TryCatch.as, test/actionscript/TryCatch.ref: Add
-	another test with a conditional throw
-
-2008-07-20  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y, test/actionscript/TryCatch.as,
-	test/actionscript/TryCatch.ref: Fix try/catch/finally (bug #57)
-
-2008-07-15  krechert <krechert>
-
-	* ming.i, mingpp.h, perl_ext/VideoStream.xs, php_ext/ming.c,
-	php_ext/php_ming.h, py_ext/ming.py, py_ext/ming_wrap.c,
-	py_ext/mingc.py: SWFVideoStream_seek()
-
-2008-07-15  krechert <krechert>
-
-	* NEWS: update
-
-2008-07-15  krechert <krechert>
-
-	* test/Video/.cvsignore, test/Video/Makefile.am,
-	test/Video/TestList, test/Video/test06-cxx.C, test/Video/test06.c,
-	test/Video/test06.ref: video stream seek test
-
-2008-07-15  krechert <krechert>
-
-	* src/blocks/videostream.c, src/ming.h.in: seek in embedided video
-	streams
-
-2008-07-14  krechert <krechert>
-
-	* test/Video/.cvsignore, test/Video/Makefile.am,
-	test/Video/TestList, test/Video/test05-cxx.C, test/Video/test05.c,
-	test/Video/test05.ref: embedded video in movie clips
-
-2008-07-14  krechert <krechert>
-
-	* NEWS, src/blocks/sprite.c: embedded video in movieclip
-
-2008-07-14  krechert <krechert>
-
-	* py_ext/ming.py: fix syntax error
-
-2008-07-14  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix crash in empty for-loops
-
-2008-07-14  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/for.as,
-	test/actionscript/for.ref: empty for loop
-
-2008-07-13  krechert <krechert>
-
-	* NEWS: update
-
-2008-07-13  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: setFrameMode / nextFrame
-
-2008-07-13  krechert <krechert>
-
-	* ming.i, perl_ext/Constants.xs, perl_ext/VideoStream.xs,
-	py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: setFrameMode /
-	nextFrame
-
-2008-07-13  krechert <krechert>
-
-	* test/Video/.cvsignore, test/Video/Makefile.am,
-	test/Video/TestList, test/Video/test04-cxx.C, test/Video/test04.c,
-	test/Video/test04.ref: manual frame control testcase
-
-2008-07-13  krechert <krechert>
-
-	* mingpp.h, src/blocks/videostream.c, src/ming.h.in: add manual
-	frame control
-
-2008-07-13  krechert <krechert>
-
-	* perl_ext/Makefile.PL: Fix Makefile.PL (SWF.pm is in BUIDLDIR now)
-	Patch by Patrice Dumas
-
-2008-07-13  krechert <krechert>
-
-	* src/test.c: test.c is obsolete now. we have a testsuite
-
-2008-07-13  krechert <krechert>
-
-	* util/outputtxt.c: rename iprintf to _iprintf.  iprintf is defined
-	in some stdio.h implementions (e.g. newlib)
-
-2008-07-13  krechert <krechert>
-
-	* configure.in: prevent multiple inclusion of ming_config.h
-
-2008-07-13  krechert <krechert>
-
-	* php_ext/Makefile.am: The php extension doesn't honor DESTDIR.
-	Patch by Patrice Dumas
-
-2008-07-13  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: read_int still makes trouble
-	on some systems. using int as return type now.
-
-2008-07-13  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: enable YY prototypes by
-	default
-
-2008-07-13  krechert <krechert>
-
-	* mingpp.h: MSVC fix (by Wolfgang Glunz)
-
-2008-07-13  krechert <krechert>
-
-	* configure.in, perl_ext/Makefile.am, perl_ext/SWF.pm,
-	perl_ext/SWF.pm.in: autoconf SWF.pm
-
-2008-07-13  krechert <krechert>
-
-	* configure.in: have a clean version number (only numbers)
-
-2008-07-10  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: MSVC fix (by Wolfgang Glunz)
-
-2008-07-10  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: MSVC fix (by Wolfgang Glunz)
-
-2008-07-10  krechert <krechert>
-
-	* src/blocks/font.h: add missing prototype
-
-2008-07-10  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: MSVC compile fix (by
-	Wolfgang Glunz)
-
-2008-07-10  krechert <krechert>
-
-	* src/blocks/error.h: MSVC compile fix by Wolfgang Glunz
-
-2008-07-10  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: MSVC compile fix (by Wolfgang
-	Glunz)
-
-2008-07-07  anderson <anderson>
-
-	* NEWS: Set the date for the rc1 release
-
-2008-07-06  krechert <krechert>
-
-	* mingpp.h: bugfix: add missing return statement discoverd by Jay
-	Koutavas.
-
-2008-07-05  anderson <anderson>
-
-	* ChangeLog, configure.in: Set the version to 0.4.0.rc1
-
-2008-07-05  anderson <anderson>
-
-	* ChangeLog: Set the version to 0.4.0.rc1
-
-2008-07-05  krechert <krechert>
-
-	* test/SoundStream/test01.php: php testcase
-
-2008-07-02  krechert <krechert>
-
-	* mingpp.h: c++: wrap newSWFBitmap_fromRawImg
-
-2008-06-30  peterdd <peterdd>
-
-	* perl_ext/SWF.pm: no commas here
-
-2008-06-30  krechert <krechert>
-
-	* py_ext/ming.py: wrap returned c-objects in python objects
-
-2008-06-30  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/Character.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/Makefile.am, perl_ext/SWF.pm,
-	perl_ext/SWF/Character.pm: SWFCharacter
-
-2008-06-30  krechert <krechert>
-
-	* php_ext/ming.c: SWFCharacter functions
-
-2008-06-30  krechert <krechert>
-
-	* php_ext/make_module.sh: cp modules modules from host machine to
-	build-dir make check fails on ubuntu (missing pdo.so) otherwise
-
-2008-06-30  krechert <krechert>
-
-	* py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: SWFCharacter
-	and friends added missing prototype
-
-2008-06-30  krechert <krechert>
-
-	* mingpp.h: fix access rights. SWFCharacter has no public
-	constructor
-
-2008-06-30  krechert <krechert>
-
-	* test/actionscript/ActionScriptTest.c: compile fix: add 3rd
-	argument (debug = 0)
-
-2008-06-28  krechert <krechert>
-
-	* src/blocks/mp3.c: bugfix: mp3 files with id3 tags didn't play.
-
-2008-06-26  krechert <krechert>
-
-	* util/parser.c: fix darwin compile error
-
-2008-06-26  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex, src/blocks/action.c,
-	src/ming.h.in, util/makeswf.c, util/makeswf.h, util/makeswf_utils.c: 
-	fix linker error and make enabling SWFAction's debug mode generic
-
-2008-06-26  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/FontCollection.xs,
-	perl_ext/MANIFEST, perl_ext/Makefile.PL, perl_ext/Makefile.am,
-	perl_ext/SWF.pm, perl_ext/SWF/FontCollection.pm,
-	perl_ext/perl_swf.h, perl_ext/typemap: FontCollection
-
-2008-06-26  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: SWFFontCollection
-
-2008-06-26  krechert <krechert>
-
-	* mingpp.h: SWFFontCollection support
-
-2008-06-26  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: 
-	FontCollection support
-
-2008-06-26  krechert <krechert>
-
-	* src/ming.h.in: add missing prototype
-
-2008-06-25  krechert <krechert>
-
-	* src/blocks/font.c, src/ming.h.in: improve fontcollection
-	interface. make it easier to wrap
-
-2008-06-25  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: SWFFill update
-
-2008-06-25  krechert <krechert>
-
-	* perl_ext/Fill.xs: Fill updates
-
-2008-06-25  krechert <krechert>
-
-	* py_ext/ming.py: SWFFill updates
-
-2008-06-25  krechert <krechert>
-
-	* ming.i, py_ext/ming_wrap.c, py_ext/mingc.py: remove SWFFont()
-
-2008-06-25  krechert <krechert>
-
-	* mingpp.h: SWFFill updates no public constructor for SWFFill
-
-2008-06-25  krechert <krechert>
-
-	* ChangeLog, NEWS: update
-
-2008-06-25  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: cleanup dead code SWFFont
-	update
-
-2008-06-25  krechert <krechert>
-
-	* ming.i, mingpp.h, perl_ext/Font.xs, py_ext/ming.py,
-	py_ext/ming_wrap.c, py_ext/mingc.py: SWFFont updates
-
-2008-06-25  krechert <krechert>
-
-	* src/ming.h.in: removed newSWFFont() as public function (causes
-	various crashes)
-
-2008-06-25  krechert <krechert>
-
-	* src/blocks/block.c, src/blocks/blocktypes.h, src/blocks/font.c,
-	src/blocks/textfield.c: make SWFTextField_setFont() more secure
-
-2008-06-25  krechert <krechert>
-
-	* ming.i, perl_ext/Movie.xs, py_ext/ming.py, py_ext/ming_wrap.c,
-	py_ext/mingc.py: SWFMovie::getRate
-
-2008-06-24  krechert <krechert>
-
-	* test/SoundStream/Makefile.am, test/SoundStream/TestList,
-	test/SoundStream/test02-cxx.C, test/SoundStream/test02.c,
-	test/SoundStream/test02.php, test/SoundStream/test02.ref: movieclip
-	soundstream
-
-2008-06-24  krechert <krechert>
-
-	* mingpp.h, php_ext/ming.c, php_ext/php_ming.h: SWFMovie::getRate
-
-2008-06-24  krechert <krechert>
-
-	* test/Movie/setSoundStream/test01.c,
-	test/Movie/setSoundStream/test01.php,
-	test/Movie/setSoundStream/test03.php: modified testcase to test more
-	php interfaces added test03.php
-
-2008-06-24  krechert <krechert>
-
-	* test/Movie/setSoundStream/test02.php: php testcase
-
-2008-06-24  krechert <krechert>
-
-	* test/Movie/setSoundStream/test01.php: php soundstream test
-
-2008-06-24  krechert <krechert>
-
-	* test/BrowserFont/test01.php: use browserfont
-
-2008-06-24  krechert <krechert>
-
-	* php_ext/ming.c: fix warning
-
-2008-06-24  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added browserfont
-
-2008-06-24  krechert <krechert>
-
-	* src/blocks/text.c: remove browserfont code from swftext.
-	browserfonts can't be used with static textfields.
-
-2008-06-24  krechert <krechert>
-
-	* perl_ext/Font.xs: let ming do the file check. caused failure with
-	make check
-
-2008-06-23  krechert <krechert>
-
-	* NEWS: update
-
-2008-06-23  krechert <krechert>
-
-	* test/BrowserFont/test01.php: php testcase
-
-2008-06-22  krechert <krechert>
-
-	* test/Filter/test05.php: php filtermatrix / filter testcase
-
-2008-06-22  krechert <krechert>
-
-	* test/Filter/test05-cxx.C, test/Filter/test05.c,
-	test/Filter/test05.ref: make testcase simpler
-
-2008-06-22  krechert <krechert>
-
-	* src/blocks/input.c, src/ming.h.in: let ming allocate, copy and
-	destroy memory
-
-2008-06-22  krechert <krechert>
-
-	* php_ext/ming.c: Fix functions which take external data (e.g.
-	bitmaps, sound, video ...) All these functions are more typesafe
-	now. They take either a filename, a file ressource (php equivalent
-	of FILE *) or a SWFInput object wrapping raw memory.
-
-2008-06-20  krechert <krechert>
-
-	* src/blocks/filter.c: bugfix: allocate enough memory
-
-2008-06-19  krechert <krechert>
-
-	* php_ext/ming.c, src/blocks/input.c: fix typo
-
-2008-06-19  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: 
-	SWFFilter, SWFShadow, SWFBlur, SWFFilterMatrix
-
-2008-06-19  krechert <krechert>
-
-	* py_ext/ming.py: compile fixes SWFText update
-
-2008-06-19  krechert <krechert>
-
-	* php_ext/ming.c: bugfix: dont compare pointer and int
-
-2008-06-19  krechert <krechert>
-
-	* mingpp.h: SWFText update
-
-2008-06-19  krechert <krechert>
-
-	* perl_ext/Text.xs: SWFText update
-
-2008-06-19  krechert <krechert>
-
-	* php_ext/ming.c: SWFText updates
-
-2008-06-19  krechert <krechert>
-
-	* php_ext/ming.c: SWFMatrix and friends
-
-2008-06-19  krechert <krechert>
-
-	* perl_ext/Constants.xs, perl_ext/Shape.xs: remove private constants
-
-2008-06-19  krechert <krechert>
-
-	* perl_ext/TextField.xs: textfield updates
-
-2008-06-19  krechert <krechert>
-
-	* php_ext/ming.c: removed private constant
-
-2008-06-19  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: textfield updates
-
-2008-06-19  krechert <krechert>
-
-	* py_ext/ming.py: textfield updates
-
-2008-06-19  krechert <krechert>
-
-	* mingpp.h: textfield updates
-
-2008-06-17  krechert <krechert>
-
-	* py_ext/ming.py: added new method and bugfix
-
-2008-06-17  krechert <krechert>
-
-	* php_ext/ming.c: fix some warnings
-
-2008-06-16  krechert <krechert>
-
-	* src/ming.h.in: make SWFMovie_getRate() public
-
-2008-06-16  krechert <krechert>
-
-	* php_ext/ming.c: added swfaction::compile
-
-2008-06-16  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added CXform
-
-2008-06-16  krechert <krechert>
-
-	* test/Filter/test01.php, test/Filter/test02.php,
-	test/Filter/test03.php, test/Filter/test04.php: testing filter in
-	php
-
-2008-06-16  krechert <krechert>
-
-	* php_ext/ming.c: set 0xff as default alpha value update docs
-
-2008-06-16  krechert <krechert>
-
-	* php_ext/ming.c: several bugfixes
-
-2008-06-16  krechert <krechert>
-
-	* perl_ext/.cvsignore: add BrowserFont.c
-
-2008-06-16  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: add
-	setLine2Filled
-
-2008-06-14  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: update shape functions
-
-2008-06-14  krechert <krechert>
-
-	* src/fill.h, src/ming.h.in: make SWFFill_getFillStyle() public make
-	filter types public
-
-2008-06-14  krechert <krechert>
-
-	* src/blocks/filter.c: better naming scheme
-
-2008-06-14  krechert <krechert>
-
-	* src/blocks/browserfont.c: add docs
-
-2008-06-13  krechert <krechert>
-
-	* php_ext/php_ming.h: update
-
-2008-06-12  krechert <krechert>
-
-	* php_ext/php_ming.h: missing prototype
-
-2008-06-12  krechert <krechert>
-
-	* php_ext/php_ming.h: add SWFBlur SWFShadow SWFFilterMatrix
-	SWFFilter SWFButtonRecord_addFilter SWFDisplayItem_addFilter
-
-2008-06-12  krechert <krechert>
-
-	* php_ext/ming.c: add SWFBlur SWFShadow SWFFilterMatrix SWFFilter
-	SWFButtonRecord_addFilter SWFDisplayItem_addFilter
-
-2008-06-12  krechert <krechert>
-
-	* util/parser.c: warn louder and with more details
-
-2008-06-09  krechert <krechert>
-
-	* src/blocks/blocktypes.h, src/blocks/browserfont.c,
-	src/blocks/character.c, src/blocks/textfield.c: bugfix: if a
-	browserfont is added to a textfield, the font is marked as a
-	dependency of the textfield. the hack marking a font as a textfield
-	causes an error.
-
-2008-06-09  krechert <krechert>
-
-	* php_ext/config.m4, php_ext/ming.c: zlib is checked by the ming
-	library
-
-2008-06-08  krechert <krechert>
-
-	* py_ext/setup.py.in: build out-of tree
-
-2008-06-08  krechert <krechert>
-
-	* perl_ext/Makefile.am: removed unnecssary path determination
-
-2008-06-08  krechert <krechert>
-
-	* php_ext/Makefile.am: need to compile before installing
-
-2008-06-08  krechert <krechert>
-
-	* perl_ext/Makefile.PL: link Makefile.PL to BUILDDIR
-
-2008-06-01  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/shape.c, src/blocks/ttffont.c: 
-	bugfix: SF #1960226: SWFFont memory leak
-
-2008-06-01  krechert <krechert>
-
-	* php_ext/ming.c: remove useless FLOAT_Z_DVAL_PP macro float->double
-	transition updated docs
-
-2008-06-01  krechert <krechert>
-
-	* ming.i, py_ext/ming_wrap.c, py_ext/mingc.py: resync: float->double
-
-2008-06-01  krechert <krechert>
-
-	* src/ming.h.in: removed dup-prototype
-
-2008-06-01  krechert <krechert>
-
-	* perl_ext/ButtonRecord.xs, perl_ext/DisplayItem.xs,
-	perl_ext/Matrix.xs, perl_ext/Shape.xs: resync with c-lib:
-	float->double
-
-2008-06-01  krechert <krechert>
-
-	* src/blocks/button.c, src/ming.h.in: float -> double
-
-2008-06-01  krechert <krechert>
-
-	* src/blocks/matrix.c: remove printf
-
-2008-05-31  krechert <krechert>
-
-	* mingpp.h: resync
-
-2008-05-31  krechert <krechert>
-
-	* NEWS, configure.in, src/blocks/matrix.c, src/blocks/matrix.h,
-	src/displaylist.c, src/ming.h.in, src/position.c, src/position.h,
-	src/shape_cubic.c, src/shape_util.c: use double instead of float to
-	avoid problems with large numbers
-
-2008-05-27  akleine <akleine>
-
-	* util/outputscript.c: added addChars() call where needed
-
-2008-05-25  krechert <krechert>
-
-	* perl_ext/Makefile.PL: out-of-tree build without touching SRCDIR
-
-2008-05-25  krechert <krechert>
-
-	* perl_ext/BrowserFont.xs, perl_ext/Font.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/Makefile.am, perl_ext/SWF.pm,
-	perl_ext/SWF/BrowserFont.pm, perl_ext/perl_swf.h, perl_ext/typemap: 
-	added browserfont
-
-2008-05-23  krechert <krechert>
-
-	* src/blocks/matrix.c: fix overflow when writing matrix
-
-2008-05-23  krechert <krechert>
-
-	* NEWS: update
-
-2008-05-22  krechert <krechert>
-
-	* perl_ext/Makefile.PL: hacked Makefile.PL to install man-pages
-	correctly if out-of-tree build
-
-2008-05-22  krechert <krechert>
-
-	* perl_ext/SWF.pm: Sprite is deprecated but still supported
-
-2008-05-22  krechert <krechert>
-
-	* perl_ext/Makefile.PL: install Sprite.pm for compat reasons
-
-2008-05-22  strk <strk>
-
-	* perl_ext/SWF.pm: Stop exporting Sprite (obsoleted, right ?)
-
-2008-05-21  krechert <krechert>
-
-	* perl_ext/Makefile.PL: make install out-of-tree
-
-2008-05-21  krechert <krechert>
-
-	* perl_ext/Makefile.am: revert "install fix"
-
-2008-05-21  krechert <krechert>
-
-	* perl_ext/Makefile.am: fix make install
-
-2008-05-20  fmk_ca <fmk_ca>
-
-	* src/movie.c: Adding missing getRate() function
-
-2008-05-20  strk <strk>
-
-	* test/dotests.pl: SWF.so is also needed in @INC, and found under
-	build dir...
-
-2008-05-20  strk <strk>
-
-	* test/dotests.pl: set PERL5LIB to just top_srcdir/perl_ext, as all
-	we need is SWF.pm
-
-2008-05-20  strk <strk>
-
-	* test/Makefile.inc: provide a top_srcdir env variable to dotests.pl
-	invocation
-
-2008-05-20  krechert <krechert>
-
-	* perl_ext/Makefile.PL: make perl_ext build out-of-tree
-
-2008-05-20  strk <strk>
-
-	* perl_ext/Makefile.PL: Add Ming top builddir/src to inc dirs (where
-	ming.h is found)
-
-2008-05-19  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: 
-	SoundStream updates
-
-2008-05-19  anderson <anderson>
-
-	* perl_ext/Makefile.am, php_ext/Makefile.am: Need to pass a possibly
-	overridden  into the perl & php build systems during install
-
-2008-05-19  anderson <anderson>
-
-	* docs/man/Makefile.am, perl_ext/Makefile.am, src/Makefile.am,
-	tcl_ext/Makefile.am, test/BrowserFont/Makefile.am,
-	test/Media/Makefile.am, test/Movie/importCharacter/Makefile.am,
-	test/Video/Makefile.am: Add several file that are missing in the
-	distribution to EXTRA_DIST
-
-2008-05-18  krechert <krechert>
-
-	* test/Makefile.inc: fix typo
-
-2008-05-18  krechert <krechert>
-
-	* configure.in: fix freetype detection
-
-2008-05-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: bugfix:
-	http://bugs.libming.net/show_bug.cgi?id=52 this bug is not related to the as-grammar. your example triggered an
-	other issue. calling swf5error() in the action part of a bison file
-	does not set the parser in an error state. Therefore swf5parse()
-	returns success. This issues occurs only when fiddling with mings
-	error reporting methods (like makeswf).
-
-2008-05-17  strk <strk>
-
-	* test/dotests.pl: Fail if test builder return non-success. Should
-	fix bug #54 from bugzilla.
-
-2008-05-17  strk <strk>
-
-	* test/Shape/test01.c: add return from main
-
-2008-05-17  strk <strk>
-
-	* src/blocks/character.c, src/blocks/sound.c, test/Sound/test01.c,
-	test/Sound/test02.c, test/Sound/test03.c: Apply patch in bug 53
-	(bugzilla) by Johan Euphrosine <proppy at aminche.com>
-
-2008-05-17  strk <strk>
-
-	* test/Font/test01.pl, test/Font/test02.pl, test/Font/test03.pl: Use
-	first argument to find Media dir. Fixes make check in a separate
-	build tree.
-
-2008-05-17  strk <strk>
-
-	* test/dotests.pl: Pass source dir as argument to test builders
-
-2008-05-12  krechert <krechert>
-
-	* ming.i: added SoundStream
-
-2008-05-12  krechert <krechert>
-
-	* src/ming.h.in: declare output method to make perl_ext compile
-
-2008-05-12  krechert <krechert>
-
-	* perl_ext/Text.xs, perl_ext/typemap: fixes warning
-
-2008-05-12  krechert <krechert>
-
-	* perl_ext/Makefile.PL: don't use internal libming.h
-
-2008-05-12  krechert <krechert>
-
-	* perl_ext/SoundStream.xs: added getDuration to SoundStream.xs
-
-2008-05-12  krechert <krechert>
-
-	* php_ext/ming.c: removed used of deprecated method added
-	SWFSoundStream_getDuration()
-
-2008-05-12  company <company>
-
-	* src/actioncompiler/swf5compiler.flex: Put double values into
-	doubleVal We can't return an int here anyway, because 1e100 just doesn't fit
-
-2008-05-09  krechert <krechert>
-
-	* mingpp.h, src/blocks/flv.c, src/blocks/flv.h, src/blocks/mp3.c,
-	src/blocks/mp3.h, src/blocks/sound.h, src/blocks/soundstream.c,
-	src/ming.h.in: SWFSoundStream_getDuration SWFSoundStream cleanup
-
-2008-05-08  krechert <krechert>
-
-	* py_ext/setup.py.in: added missing @
-
-2008-05-08  krechert <krechert>
-
-	* src/blocks/soundstream.c, src/ming.h.in: deprecate
-	SWFSoundStreams_getFrames
-
-2008-05-08  krechert <krechert>
-
-	* src/blocks/sound.c, src/blocks/soundstream.c: cleanup
-
-2008-05-08  krechert <krechert>
-
-	* test/Sound/.cvsignore: update
-
-2008-05-08  krechert <krechert>
-
-	* src/blocks/mp3.c: always return less then requested samples
-
-2008-05-07  krechert <krechert>
-
-	* src/blocks/mp3.c, src/blocks/mp3.h, src/blocks/sound.c: count mp3
-	samples
-
-2008-05-07  krechert <krechert>
-
-	* test/Sound/Makefile.am, test/Sound/TestList,
-	test/Sound/test01.ref, test/Sound/test03-cxx.C,
-	test/Sound/test03.c, test/Sound/test03.ref: mp3 event sound
-
-2008-05-07  krechert <krechert>
-
-	* configure.in, test/Makefile.am: soundstream test case
-
-2008-05-07  krechert <krechert>
-
-	* test/SoundStream/.cvsignore, test/SoundStream/Makefile.am,
-	test/SoundStream/TestList, test/SoundStream/test01-cxx.C,
-	test/SoundStream/test01.c, test/SoundStream/test01.ref: mp3
-	soundstream testcase
-
-2008-05-07  krechert <krechert>
-
-	* test/Media/Makefile.am: add sound1.mp3 to extradist
-
-2008-05-07  krechert <krechert>
-
-	* : add another mp3 file
-
-2008-05-07  krechert <krechert>
-
-	* src/blocks/soundstream.c: fix warning fix sample count for small
-	files
-
-2008-05-07  krechert <krechert>
-
-	* src/blocks/mp3.c, src/blocks/mp3.h, src/blocks/sound.c,
-	src/blocks/soundstream.c, src/blocks/soundstream.h: added generic
-	getMP3Flags() function unify mp3 handling determine flags for mp3
-	event sound
-
-2008-05-07  krechert <krechert>
-
-	* src/blocks/mp3.h, src/blocks/sound.c, src/blocks/sound.h,
-	src/blocks/soundstream.c: Make mp3's initial delay configurable
-
-2008-05-07  krechert <krechert>
-
-	* util/decompile.c: only print push-types in DEBUG-mode
-
-2008-05-07  krechert <krechert>
-
-	* configure.in: changed AC_PROG_CC_C_O to AM_PROG_CC_C_O to make
-	automake happy
-
-2008-05-07  krechert <krechert>
-
-	* perl_ext/Makefile.am: automake -Wall does not like $(shell ...)
-	since it is not portable
-
-2008-05-02  krechert <krechert>
-
-	* php_ext/ming.c: SWFMovie_setSoundStream
-
-2008-04-30  krechert <krechert>
-
-	* php_ext/ming.c: added SoundStream class extended Sound class
-
-2008-04-30  krechert <krechert>
-
-	* test/Video/test01.php: do not forget to add the videostream to the
-	movie
-
-2008-04-30  krechert <krechert>
-
-	* php_ext/.cvsignore: update
-
-2008-04-30  krechert <krechert>
-
-	* php_ext/ming.c: fixed regression (segmentation fault)
-
-2008-04-30  krechert <krechert>
-
-	* perl_ext/Sound.xs: add newSWFSound_fromSoundStream()
-
-2008-04-30  krechert <krechert>
-
-	* src/blocks/sound.c: add documentation
-
-2008-04-30  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: fixe
-	build and remove warnings
-
-2008-04-30  krechert <krechert>
-
-	* py_ext/setup.py.in: link with gif, png, z only if available
-
-2008-04-29  krechert <krechert>
-
-	* py_ext/ming.py: newSWFSound() takes two arguments
-
-2008-04-29  krechert <krechert>
-
-	* py_ext/ming.py: added SWFCXform update SWFSound
-
-2008-04-29  krechert <krechert>
-
-	* src/compat.c: add ming-0.3.x ABI compat symbols
-
-2008-04-28  krechert <krechert>
-
-	* perl_ext/MANIFEST, perl_ext/Makefile.PL, perl_ext/Makefile.am,
-	perl_ext/SWF.pm, perl_ext/SWF/Sprite.pm: readded Sprite object. The
-	usage of SWF::Sprite is deprecated but we don't want to break the
-	API now.
-
-2008-04-21  krechert <krechert>
-
-	* test/actionscript/getURL2.ref,
-	test/actionscript/legacy_functions.ref: update ref: load*Num uses
-	unique _level composition
-
-2008-04-21  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: expect some shift/reduce
-	conflicts... removes the useless warnings
-
-2008-04-21  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix reduce/reduce conflict:
-	loadVariablesNum and loadMovieNum need a level argument. this can
-	either be an expression or an integer. Internally it is converted to
-	a string value starting with "_level".  Because INTEGER is a subset
-	of expression this causes a reduce/reduce conflict.
-
-2008-04-21  krechert <krechert>
-
-	* util/decompile.c: cleanup / added OpCode function
-
-2008-04-20  krechert <krechert>
-
-	* test/dotests.pl: added prototype to get rid of a *stupid* perl
-	warning
-
-2008-04-20  krechert <krechert>
-
-	* util/decompile.c: use symbolic names for PUSH-types
-
-2008-04-20  krechert <krechert>
-
-	* test/Sound/test01.ref, test/Sound/test02.ref: update: verbose
-	output of SWF_SOUND tags
-
-2008-04-20  krechert <krechert>
-
-	* util/decompile.c: remove static attribute from decompileAction5
-
-2008-04-20  krechert <krechert>
-
-	* util/decompile.c: fixed more memory bugs use a *single*
-	codingstyle!
-
-2008-04-18  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: output
-	SWF_DEBUGID
-
-2008-04-18  krechert <krechert>
-
-	* src/blocks/blocktypes.h: add TAG 63
-
-2008-04-18  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: deal with unknown
-	blocktypes
-
-2008-04-16  krechert <krechert>
-
-	* util/outputtxt.c: verbose SWF_DEFINESOUND output
-
-2008-04-15  strk <strk>
-
-	* src/blocks/text.c: minor indent thing
-
-2008-04-13  krechert <krechert>
-
-	* util/decompile.c: fixed several memory bugs
-
-2008-04-13  krechert <krechert>
-
-	* util/main.c: fix build without zlib
-
-2008-04-11  krechert <krechert>
-
-	* util/decompile.c: allocate memory for struct _stack instead for a
-	pointer
-
-2008-04-11  krechert <krechert>
-
-	* util/main.c: switch to tempfile if swf is compressed
-
-2008-04-11  krechert <krechert>
-
-	* src/blocks/text.c: close bug 51 When SWFText_addString() is called
-	with an 'advance' parameter, the function takes ownerhip of it,
-	assuming it is a pointer to allocated memory.  Might be intended
-	behaviour, but is confusing..
-
-2008-04-11  krechert <krechert>
-
-	* src/blocks/mp3.c, src/blocks/soundstream.c: improve file checking
-	use SWF_warn instead of printf
-
-2008-04-10  krechert <krechert>
-
-	* test/actionscript/switch.ref: update after break-stmt fi
-
-2008-04-10  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.y: 
-	fix break-stmt in switch blocks
-
-2008-04-10  krechert <krechert>
-
-	* util/main.c: spilt main()
-
-2008-04-09  krechert <krechert>
-
-	* src/blocks/error.c, src/blocks/error.h: make SWF_warn/error a
-	macro.
-
-2008-04-09  krechert <krechert>
-
-	* src/actioncompiler/Makefile.am: disable "test" for now
-
-2008-04-09  krechert <krechert>
-
-	* util/decompile.c, util/main.c, util/parser.c, util/read.c,
-	util/read.h: do not duplicate error/warn methods
-
-2008-04-09  krechert <krechert>
-
-	* src/blocks/pngdbl.c: include error.h do only warn and return NULL
-	#ifdef -> #if
-
-2008-04-09  krechert <krechert>
-
-	* test/Action/test01.ref, test/Button/test03.ref,
-	test/Movie/add/test02.ref, test/MovieClip/test01.ref,
-	test/MovieClip/test02.ref, test/MovieClip/test03.ref,
-	test/PrebuiltClip/test01.ref: SpriteID -> CharacterID
-
-2008-04-09  krechert <krechert>
-
-	* test/TextField/TestList: added freetype as a precondition
-
-2008-04-09  krechert <krechert>
-
-	* test/Bitmap/TestList: added png as precondition
-
-2008-04-09  krechert <krechert>
-
-	* util/outputtxt.c: output CharacterID instead of SpriteID
-
-2008-04-09  krechert <krechert>
-
-	* test/Text/TestList: add freetype as a precondition
-
-2008-04-09  krechert <krechert>
-
-	* test/README: target is called "make refs"
-
-2008-04-09  krechert <krechert>
-
-	* util/main.c: always check file length first before reading
-
-2008-04-09  krechert <krechert>
-
-	* util/main.c, util/read.c, util/read.h: cleanup fix compile error
-	from previous commit
-
-2008-04-09  krechert <krechert>
-
-	* util/main.c: unify codingstyle cleanup add sanity check before
-	reading a block
-
-2008-04-06  krechert <krechert>
-
-	* php_ext/config.m4, php_ext/ming.c: remove non-working m4 test for
-	SWFPrebuiltClip php-wrapper was always built without SWFPrebuiltClip
-	support
-
-2008-04-06  krechert <krechert>
-
-	* test/Gradient/.cvsignore, test/Media/.cvsignore: .cvsignore update
-
-2008-04-06  krechert <krechert>
-
-	* test/FillStyle/TestList, test/Font/TestList, test/Makefile.inc,
-	test/Movie/assignSymbol/TestList: add freetype flag to buildoptions
-	update Testlist conditions
-
-2008-04-06  krechert <krechert>
-
-	* src/blocks/font.c: fdb fonts work well without freetype
-
-2008-04-06  krechert <krechert>
-
-	* configure.in: give hints to install flex / bison make freetype
-	usage optional
-
-2008-04-04  krechert <krechert>
-
-	* util/action.c: verbose GETURL output
-
-2008-04-03  krechert <krechert>
-
-	* Makefile.am, configure.in: move ACLOCAL_AMFLAGS to Makefile.am
-	Patch by Patrice Dumas
-
-2008-04-03  krechert <krechert>
-
-	* perl_ext/Makefile.PL: do not install libming.a and ming.h with
-	perl wrapper Patch by Patrice Dumas
-
-2008-04-02  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.y: 
-	revert for-in fix
-
-2008-04-02  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.y: 
-	support nested for-in loops
-
-2008-04-02  krechert <krechert>
-
-	* src/movie.c: don't destroy blocks which are in the movie's
-	blocklist closes bug libming.net #50
-
-2008-03-26  krechert <krechert>
-
-	* src/blocks/soundstream.c: bugfix: reading mp3Flags from files < 4
-	bytes was broken
-
-2008-03-21  krechert <krechert>
-
-	* util/parser.c, util/parserdecl.h: quick fix to parse (malformed)
-	placeobject's clipactions
-
-2008-03-20  krechert <krechert>
-
-	* src/blocks/sprite.c: fix movieclip soundstream regression
-
-2008-03-20  company <company>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.y: fix continue in for loops
-
-2008-03-20  company <company>
-
-	* src/actioncompiler/swf5compiler.y: simplify compiling for loops Tis should now also be more in line with what the official player
-	does
-
-2008-03-16  company <company>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: add asm codes for NewObject and
-	NewMethod bytecodes
-
-2008-03-07  strk <strk>
-
-	* util/outputtxt.c: Don't escape newlines in decompiled actionscript
-
-2008-03-03  krechert <krechert>
-
-	* ChangeLog, src/blocks/Makefile.am, test/Action/test01-cxx.C,
-	test/Action/test02-cxx.C, test/Bitmap/test01-cxx.C,
-	test/BrowserFont/test01-cxx.C, test/Button/Makefile.am,
-	test/Button/test01-cxx.C, test/Button/test02-cxx.C,
-	test/Button/test03-cxx.C, test/FillStyle/test01-cxx.C,
-	test/FillStyle/test02-cxx.C, test/FillStyle/test03-cxx.C,
-	test/FillStyle/test04-cxx.C, test/FillStyle/test05-cxx.C,
-	test/FillStyle/test06-cxx.C, test/Filter/test01-cxx.C,
-	test/Filter/test02-cxx.C, test/Filter/test03-cxx.C,
-	test/Filter/test04-cxx.C, test/Filter/test05-cxx.C,
-	test/Font/test01-cxx.C, test/Font/test02-cxx.C,
-	test/Font/test03-cxx.C, test/Gradient/test01-cxx.C,
-	test/Gradient/test02-cxx.C, test/Gradient/test03-cxx.C,
-	test/Gradient/test04-cxx.C, test/Gradient/test05-cxx.C,
-	test/Gradient/test06-cxx.C, test/Gradient/test07-cxx.C,
-	test/LineStyle/test01-cxx.C, test/LineStyle/test02-cxx.C,
-	test/Media/Makefile.am, test/Morph/test01-cxx.C,
-	test/Morph/test02-cxx.C, test/Movie/Background/test01-cxx.C,
-	test/Movie/Background/test02-cxx.C,
-	test/Movie/Background/test03-cxx.C,
-	test/Movie/Dimension/test01-cxx.C,
-	test/Movie/FrameLabel/test01-cxx.C,
-	test/Movie/FrameLabel/test02-cxx.C,
-	test/Movie/NumFrames/test01-cxx.C, test/Movie/Protect/test01-cxx.C,
-	test/Movie/Protect/test02-cxx.C, test/Movie/Rate/test01-cxx.C,
-	test/Movie/add/test01-cxx.C, test/Movie/add/test02-cxx.C,
-	test/Movie/addMetadata/test01-cxx.C,
-	test/Movie/assignSymbol/test01-cxx.C,
-	test/Movie/defineScene/test01-cxx.C,
-	test/Movie/importCharacter/test01-cxx.C,
-	test/Movie/importCharacter/test02-cxx.C,
-	test/Movie/new/test01-cxx.C, test/Movie/new/test02-cxx.C,
-	test/Movie/new/test03-cxx.C, test/Movie/new/test04-cxx.C,
-	test/Movie/new/test05-cxx.C, test/Movie/new/test06-cxx.C,
-	test/Movie/new/test07-cxx.C, test/Movie/nextFrame/test01-cxx.C,
-	test/Movie/nextFrame/test02-cxx.C, test/Movie/replace/test01-cxx.C,
-	test/Movie/replace/test02-cxx.C,
-	test/Movie/setNetworkAccess/test01-cxx.C,
-	test/Movie/setScriptLimits/test01-cxx.C,
-	test/Movie/setSoundStream/test01-cxx.C,
-	test/Movie/setSoundStream/test02-cxx.C,
-	test/Movie/setSoundStream/test03-cxx.C,
-	test/Movie/setTabIndex/test01-cxx.C, test/MovieClip/test01-cxx.C,
-	test/MovieClip/test02-cxx.C, test/MovieClip/test03-cxx.C,
-	test/PrebuiltClip/test01-cxx.C, test/Shape/test01-cxx.C,
-	test/Sound/Makefile.am, test/Sound/test01-cxx.C,
-	test/Sound/test02-cxx.C, test/Text/test01-cxx.C,
-	test/Text/test02-cxx.C, test/TextField/test01-cxx.C,
-	test/TextField/test02-cxx.C, test/Video/test01-cxx.C,
-	test/Video/test02-cxx.C, test/Video/test03-cxx.C: patch for make
-	distcheck and gcc 4.3 by Patrice Dumas
-
-2008-02-28  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: add
-	ButtonRecord class
-
-2008-02-28  krechert <krechert>
-
-	* py_ext/ming.py: add reference
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/Shape.xs: add missing function
-
-2008-02-28  krechert <krechert>
-
-	* py_ext/ming.py: remove wrapper to non existant functions
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/Constants.xs, perl_ext/Shape.xs: SWFShape updates
-
-2008-02-28  krechert <krechert>
-
-	* mingpp.h: added missing SWFShape methods
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/DisplayItem.xs: add CXform method
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/CXform.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/SWF.pm, perl_ext/SWF/CXform.pm,
-	perl_ext/perl_swf.h, perl_ext/typemap: added CXform class
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/ButtonRecord.xs, perl_ext/DisplayItem.xs: added
-	_addFilter() methods
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/Constants.xs: added Filter constants
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/Filter.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/SWF.pm, perl_ext/SWF/Filter.pm,
-	perl_ext/perl_swf.h, perl_ext/typemap: added Filter
-
-2008-02-28  krechert <krechert>
-
-	* perl_ext/Constants.xs, perl_ext/Gradient.xs: update Gradient class
-
-2008-02-27  krechert <krechert>
-
-	* perl_ext/Blur.xs: fix PREFIX
-
-2008-02-27  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/FilterMatrix.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/SWF.pm,
-	perl_ext/SWF/FilterMatrix.pm, perl_ext/perl_swf.h, perl_ext/typemap: 
-	added FilterMatrix class
-
-2008-02-27  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/Blur.xs, perl_ext/DisplayItem.xs,
-	perl_ext/MANIFEST, perl_ext/Makefile.PL, perl_ext/Matrix.xs,
-	perl_ext/SWF.pm, perl_ext/SWF/Blur.pm, perl_ext/SWF/Matrix.pm,
-	perl_ext/SWF/Shadow.pm, perl_ext/Shadow.xs, perl_ext/perl_swf.h,
-	perl_ext/typemap: add Matrix, Shadow, Blur class update DisplayItem
-
-2008-02-26  krechert <krechert>
-
-	* src/displaylist.h: remove duplicate prototypes
-
-2008-02-26  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: add
-	SWFMatrix and SWFDisplayItem methods
-
-2008-02-26  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: add
-	cpointers to ming.i add missing SWFDisplayItem methods
-
-2008-02-26  krechert <krechert>
-
-	* php_ext/ming.c: add missing SWFDisplayItem methods
-
-2008-02-26  krechert <krechert>
-
-	* php_ext/ming.c, src/displaylist.c, src/displaylist.h,
-	src/ming.h.in: removed duplicated functions
-
-2008-02-26  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: set non-interactive flex
-	option to make ming compile with MSVC Thanks to Wolfgang Glunz
-
-2008-02-26  krechert <krechert>
-
-	* perl_ext/DisplayItem.xs: added missing SWFDisplayItem functions
-
-2008-02-26  krechert <krechert>
-
-	* mingpp.h: add missing SWFDisplayItem methods add SWFCXform class
-
-2008-02-26  krechert <krechert>
-
-	* src/blocks/cxform.c, src/ming.h.in: move docs to .c file
-
-2008-02-26  krechert <krechert>
-
-	* util/outputtxt.c: output sprite id in init action blocks also if
-	decompile is enabled
-
-2008-02-26  krechert <krechert>
-
-	* mingpp.h: add SWFMatrix class
-
-2008-02-26  krechert <krechert>
-
-	* perl_ext/Bitmap.xs: fix warnings
-
-2008-02-26  krechert <krechert>
-
-	* perl_ext/Button.xs: remove deprecated function calls
-
-2008-02-26  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/InitAction.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/SWF.pm, perl_ext/SWF/InitAction.pm,
-	perl_ext/perl_swf.h, perl_ext/typemap: add initaction class
-
-2008-02-26  krechert <krechert>
-
-	* php_ext/ming.c: remove deprecated function calls
-
-2008-02-26  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: add SWFInitAction class
-
-2008-02-26  krechert <krechert>
-
-	* py_ext/ming.py: bugfix / typo
-
-2008-02-26  krechert <krechert>
-
-	* src/blocks/action.c: added docs
-
-2008-02-26  krechert <krechert>
-
-	* perl_ext/Action.xs, php_ext/ming.c, py_ext/ming.py, src/ming.h.in: 
-	PHP: added VideoStream and SWFAction methods PERL: added SWFAction
-	methods Python: added SWFAction methods ming.h.in: added destructor
-	prototype for InitAction
-
-2008-02-26  krechert <krechert>
-
-	* src/blocks/action.c: allow length pointer to be NULL.  makes life
-	easier with bindings.
-
-2008-02-26  krechert <krechert>
-
-	* mingpp.h: add SWFAction methods
-
-2008-02-25  krechert <krechert>
-
-	* perl_ext/VideoStream.xs: add missing videostream method
-
-2008-02-25  krechert <krechert>
-
-	* mingpp.h: add missing video stream method
-
-2008-02-25  krechert <krechert>
-
-	* ChangeLog: update
-
-2008-02-25  krechert <krechert>
-
-	* src/blocks/font.c: added docs
-
-2008-02-25  krechert <krechert>
-
-	* perl_ext/FontCharacter.xs, php_ext/ming.c: FontCharacter updates
-
-2008-02-25  krechert <krechert>
-
-	* src/blocks/soundinstance.c: added docs
-
-2008-02-25  krechert <krechert>
-
-	* py_ext/ming.py: fix SWFPrebuiltClip add SWFBinaryData
-
-2008-02-25  krechert <krechert>
-
-	* src/blocks/binary.c: add documentation
-
-2008-02-25  krechert <krechert>
-
-	* mingpp.h: add SWFBinaryData class
-
-2008-02-25  krechert <krechert>
-
-	* src/ming.h.in: add destroySWFBinaryData as public interface
-
-2008-02-25  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: add SWFBinaryData class to PHP
-
-2008-02-25  krechert <krechert>
-
-	* perl_ext/BinaryData.xs, perl_ext/MANIFEST, perl_ext/Makefile.PL,
-	perl_ext/SWF.pm, perl_ext/SWF/BinaryData.pm, perl_ext/perl_swf.h,
-	perl_ext/typemap: BinaryData support in perl
-
-2008-02-24  krechert <krechert>
-
-	* test/FillStyle/TestList: test06 needs gif support
-
-2008-02-24  krechert <krechert>
-
-	* test/Makefile.inc, test/dotests.pl: improve testsuite to handle
-	test preconditions example: FillStyle/test06.X must only be executed
-	if GIF condtiontion is set in the TestList file.  The correstponding
-	line looks like this test06:swf,gif:Description
-
-2008-02-24  krechert <krechert>
-
-	* src/blocks/fromswf.c: add docs
-
-2008-02-24  krechert <krechert>
-
-	* mingpp.h, perl_ext/MovieClip.xs, php_ext/ming.c: fix types
-
-2008-02-24  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: 
-	swfmovieclip updates
-
-2008-02-24  krechert <krechert>
-
-	* ming.i: resync
-
-2008-02-24  krechert <krechert>
-
-	* mingpp.h: add setSoundStream to SWFMovieClip class
-
-2008-02-24  krechert <krechert>
-
-	* mingpp.h: added SWFSoundInstance class fixed SWFMovie_startSound
-	added SWFMovieClip start/stop Sound
-
-2008-02-24  krechert <krechert>
-
-	* mingpp.h: mark SWFSprite as depreacted remove duplicate code
-
-2008-02-24  krechert <krechert>
-
-	* perl_ext/MovieClip.xs: added missing movieclip method
-
-2008-02-24  krechert <krechert>
-
-	* php_ext/ming.c: add missing SWFMovieClip methods
-
-2008-02-24  krechert <krechert>
-
-	* src/ming.h.in, src/movie.c, src/movieclip.c: documenation update
-	added SWFMovieClips_setSoundStreamAt
-
-2008-02-24  krechert <krechert>
-
-	* py_ext/ming.py: added SWFSoundInstance and SWFFontCharacter class
-	added missing SWFMovie methods
-
-2008-02-20  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: remove static flag for
-	swf5debug
-
-2008-02-20  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: don't parse urlmethod case
-	sensitive default to GETURL_METHOD_NOSEND if nothing matches
-
-2008-02-20  krechert <krechert>
-
-	* util/parser.c: specs are wrong on getURL2. changed parser to real
-	world files
-
-2008-02-20  krechert <krechert>
-
-	* test/actionscript/ASM_V4.ref, test/actionscript/Makefile.am,
-	test/actionscript/getURL2.as, test/actionscript/getURL2.ref,
-	test/actionscript/legacy_functions.ref: fixing listswf and compiler
-	changed testref added new getURL2 testcases
-
-2008-02-20  krechert <krechert>
-
-	* src/blocks/shape.c: fix drawing glyphs at a relative position fix
-	shape bounds closes SF bug #1892682
-
-2008-02-19  krechert <krechert>
-
-	* py_ext/ming.py: added missing :
-
-2008-02-19  krechert <krechert>
-
-	* py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: added
-	SWFMovie methods
-
-2008-02-19  krechert <krechert>
-
-	* php_ext/ming.c: added missing SWFMovie methods
-
-2008-02-19  krechert <krechert>
-
-	* perl_ext/Movie.xs: add missing SWF::Movie methods
-
-2008-02-19  krechert <krechert>
-
-	* mingpp.h: added addFont() and writeExports()
-
-2008-02-19  krechert <krechert>
-
-	* src/ming.h.in, src/movie.c: put all SWFMovie functions to a common
-	place.  add docs to addFont() function
-
-2008-02-19  krechert <krechert>
-
-	* src/ming.h.in, src/movie.c: move docs to .c file
-
-2008-02-19  krechert <krechert>
-
-	* mingpp.h: added setSoundStreamAt
-
-2008-02-19  krechert <krechert>
-
-	* src/movie.c: added missing doc entries
-
-2008-02-19  krechert <krechert>
-
-	* test/Button/test03.c, test/Movie/Rate/test01.c,
-	test/Movie/add/test01.c: fix warnings
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/videostream.c: use signed value to signal error
-	condition
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/font.c: allocate enough memory for structure
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/flv.h: make members unsigned to signal possible error
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/font.c: double decleared variable c
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/flv.c: return signed value to signal error condition
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/fdbfont.c: remove unnecessary variables
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/filter.h: removed redundant break-stmt
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/binary.c: removed unused include
-
-2008-02-18  krechert <krechert>
-
-	* src/blocks/action.c, src/ming.h.in: change length pointer to
-	signed type. if an error happens -1 is set
-
-2008-02-18  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h: make
-	string arg const. no more complains about things like this
-	bufferWriteString(out, "ASSetPropFlags", strlen("ASSetPropFlags") +
-	1);
-
-2008-02-18  krechert <krechert>
-
-	* src/actioncompiler/compile.c: control flow might fall through
-
-2008-02-18  krechert <krechert>
-
-	* src/actioncompiler/compile.c: NULL check after malloc
-
-2008-02-18  krechert <krechert>
-
-	* src/actioncompiler/assembler.c: C++: arg label hides global symbol
-	label
-
-2008-02-18  krechert <krechert>
-
-	* src/actioncompiler/main.c, src/blocks/binary.c,
-	src/blocks/fdbfont.c, src/blocks/filter.c, src/blocks/scenedata.c,
-	src/blocks/symbolclass.c: second patch with missing casts after
-	malloc by Wolfgang Glunz
-
-2008-02-15  krechert <krechert>
-
-	* src/movie.c: :)
-
-2008-02-14  krechert <krechert>
-
-	* NEWS: update
-
-2008-02-14  krechert <krechert>
-
-	* src/blocks/linestyle.c: use enumeration type
-
-2008-02-14  krechert <krechert>
-
-	* src/blocks/videostream.c: remove useless return
-
-2008-02-14  krechert <krechert>
-
-	* src/blocks/tabindex.h: fix prototype
-
-2008-02-14  krechert <krechert>
-
-	* src/actioncompiler/listaction.c: do not confuse c++ compilers.
-	change try/catch to upper-case Patch by Wolfgang Glunz
-
-2008-02-14  krechert <krechert>
-
-	* src/blocks/fromswf.c: fix prototypes Patch by Wolfgang Glunz
-
-2008-02-14  krechert <krechert>
-
-	* src/actiontypes.h, src/ming.h.in: cleanup enumerations patch by
-	Wolfgang Glunz
-
-2008-02-14  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/blocks/bitmap.c,
-	src/blocks/font.c, src/blocks/soundinstance.c: add casts patch by
-	Wolfgang Glunz
-
-2008-02-14  krechert <krechert>
-
-	* src/blocks/font.c: bugfix: empty statement after if-clause
-	reported by Wolfgang Glunz
-
-2008-02-13  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/switch.as,
-	test/actionscript/switch.ref: add switch testcase
-
-2008-02-13  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: add typeof to ASM state
-
-2008-02-13  krechert <krechert>
-
-	* NEWS: update
-
-2008-02-13  krechert <krechert>
-
-	* mingpp.h: close bug: http://bugs.libming.net/show_bug.cgi?id=48
-
-2008-02-13  krechert <krechert>
-
-	* src/blocks/gifdbl.c: include error.h to define SWF_error prototype
-
-2008-02-13  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/ttffont.c: include config_file for
-	USE_* defines
-
-2008-02-13  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/ttffont.c: make ming compile if
-	freetype support is disabled.
-
-2008-02-13  krechert <krechert>
-
-	* test/TextField/test01-cxx.C, test/TextField/test02-cxx.C,
-	test/Video/test01-cxx.C, test/Video/test01.c,
-	test/Video/test02-cxx.C, test/Video/test03-cxx.C: error handling
-
-2008-02-13  krechert <krechert>
-
-	* test/Movie/setTabIndex/test01-cxx.C, test/MovieClip/test01-cxx.C,
-	test/MovieClip/test02-cxx.C, test/MovieClip/test03-cxx.C,
-	test/PrebuiltClip/test01-cxx.C, test/Shape/test01-cxx.C,
-	test/Sound/test01-cxx.C, test/Sound/test01.c,
-	test/Sound/test02-cxx.C, test/Sound/test02.c,
-	test/Text/test01-cxx.C, test/Text/test02-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* src/actioncompiler/compile.c: #elif -> else
-
-2008-02-12  krechert <krechert>
-
-	* src/blocks/error.h: MSVC dow not linke var args in macros reported
-	by Wolfgang Glunz
-
-2008-02-12  krechert <krechert>
-
-	* src/blocks/gifdbl.c: use #if !(USE_GIF) instead of #ifndef to
-	catch USE-GIF == 0 reported by Wolfgang Glunz
-
-2008-02-12  krechert <krechert>
-
-	* mingpp.h: MSVC does not like the union-cast. Anyway we do not need
-	this trick in C++.  reported by Wolfgang Glunz
-
-2008-02-12  krechert <krechert>
-
-	* src/ming.h.in: fix MSVC workaround: replace takes 3 arguments
-	reported by Wolfgang Glunz.
-
-2008-02-12  krechert <krechert>
-
-	* mingpp.h: http://bugs.libming.net/show_bug.cgi?id=48
-
-2008-02-12  krechert <krechert>
-
-	* test/Movie/setSoundStream/test01-cxx.C,
-	test/Movie/setSoundStream/test02-cxx.C,
-	test/Movie/setSoundStream/test03-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* test/Movie/NumFrames/test01-cxx.C,
-	test/Movie/Protect/test01-cxx.C, test/Movie/Protect/test02-cxx.C,
-	test/Movie/Rate/test01-cxx.C, test/Movie/new/test01-cxx.C,
-	test/Movie/new/test02-cxx.C, test/Movie/new/test03-cxx.C,
-	test/Movie/new/test04-cxx.C, test/Movie/new/test05-cxx.C,
-	test/Movie/new/test06-cxx.C, test/Movie/new/test07-cxx.C,
-	test/Movie/nextFrame/test01-cxx.C,
-	test/Movie/nextFrame/test02-cxx.C, test/Movie/replace/test01-cxx.C,
-	test/Movie/replace/test02-cxx.C,
-	test/Movie/setNetworkAccess/test01-cxx.C,
-	test/Movie/setScriptLimits/test01-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* test/Movie/Background/test01-cxx.C,
-	test/Movie/Background/test02-cxx.C,
-	test/Movie/Background/test03-cxx.C,
-	test/Movie/Dimension/test01-cxx.C,
-	test/Movie/FrameLabel/test01-cxx.C,
-	test/Movie/FrameLabel/test02-cxx.C,
-	test/Movie/importCharacter/test01-cxx.C,
-	test/Movie/importCharacter/test02-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* test/Gradient/test01-cxx.C, test/Gradient/test02-cxx.C,
-	test/Gradient/test03-cxx.C, test/Gradient/test04-cxx.C,
-	test/Gradient/test05-cxx.C, test/Gradient/test06-cxx.C,
-	test/Gradient/test07-cxx.C, test/LineStyle/test01-cxx.C,
-	test/LineStyle/test02-cxx.C, test/Morph/test01-cxx.C,
-	test/Morph/test02-cxx.C, test/Movie/add/test01-cxx.C,
-	test/Movie/add/test01.c, test/Movie/add/test02-cxx.C,
-	test/Movie/addMetadata/test01-cxx.C,
-	test/Movie/assignSymbol/test01-cxx.C,
-	test/Movie/assignSymbol/test01.c,
-	test/Movie/defineScene/test01-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* test/Filter/test01-cxx.C, test/Filter/test01.c,
-	test/Filter/test02.c, test/Filter/test03-cxx.C,
-	test/Filter/test03.c, test/Filter/test04-cxx.C,
-	test/Filter/test04.c, test/Filter/test05-cxx.C,
-	test/Font/test01-cxx.C, test/Font/test01.c, test/Font/test02-cxx.C,
-	test/Font/test03-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* test/FillStyle/test01-cxx.C, test/FillStyle/test02-cxx.C,
-	test/FillStyle/test03-cxx.C, test/FillStyle/test04-cxx.C,
-	test/FillStyle/test05-cxx.C, test/FillStyle/test06-cxx.C: error
-	handling
-
-2008-02-12  krechert <krechert>
-
-	* test/Button/test01-cxx.C, test/Button/test02-cxx.C,
-	test/Button/test03-cxx.C: error handling
-
-2008-02-12  krechert <krechert>
-
-	* test/BrowserFont/test01-cxx.C, test/BrowserFont/test01.c: error
-	handling fix warning
-
-2008-02-12  krechert <krechert>
-
-	* test/Bitmap/test01-cxx.C, test/Bitmap/test01.c: added error
-	handling
-
-2008-02-12  krechert <krechert>
-
-	* test/Action/test01-cxx.C, test/Action/test02-cxx.C: catch
-	SWFException
-
-2008-02-12  krechert <krechert>
-
-	* mingpp.h: introduce SWFException to C++ wrappers
-
-2008-02-12  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/blocks/mp3.c,
-	src/blocks/soundstream.c: bugfix: 	check mp3 header result 	return 1 on success
-
-2008-02-12  strk <strk>
-
-	* test/FillStyle/test05.c, test/FillStyle/test06.c: handle
-	null-returns from bitmap creation functions
-
-2008-02-10  krechert <krechert>
-
-	* test/Gradient/Makefile.am, test/Gradient/TestList,
-	test/Gradient/test01.ref, test/Gradient/test02.ref,
-	test/Gradient/test03.ref, test/Gradient/test04.ref,
-	test/Gradient/test05.ref, test/Gradient/test06.ref,
-	test/Gradient/test07-cxx.C, test/Gradient/test07.c,
-	test/Gradient/test07.ref: gradients are centred at (0,0) added new
-	RADIAL_GRADIENT testcase by Pawel Karwowski.
-
-2008-02-10  krechert <krechert>
-
-	* src/blocks/gradient.c: gradients are centred at (0,0) fixes:
-	http://bugs.libming.org/show_bug.cgi?id=47 Thanks to Pawel
-	Karwowski!
-
-2008-02-10  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix "this as reserved word"
-	regression
-
-2008-02-10  krechert <krechert>
-
-	* test/actionscript/Function.as, test/actionscript/Function.ref: 
-	testcase for "this as reserved word" regression
-
-2008-02-09  krechert <krechert>
-
-	* src/blocks/mp3.c: removed unused vars
-
-2008-02-09  krechert <krechert>
-
-	* test/actionscript/ASM_all.as, test/actionscript/ASM_all.ref: 
-	update asm ops: added new
-
-2008-02-09  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: addd NEW as ASM op
-
-2008-02-08  krechert <krechert>
-
-	* src/blocks/input.c, src/blocks/mp3.c, src/blocks/mp3.h,
-	src/blocks/soundstream.c: cleanup mp3 code
-
-2008-02-08  company <company>
-
-	* src/actioncompiler/swf5compiler.flex: strtoul returns a long, not
-	an int.  Breaks on 64bit platforms.
-
-2008-02-08  krechert <krechert>
-
-	* test/Movie/setSoundStream/.cvsignore,
-	test/Movie/setSoundStream/Makefile.am,
-	test/Movie/setSoundStream/TestList,
-	test/Movie/setSoundStream/test03-cxx.C,
-	test/Movie/setSoundStream/test03.c,
-	test/Movie/setSoundStream/test03.ref: nellymoser testcase
-
-2008-02-08  krechert <krechert>
-
-	* test/Movie/setSoundStream/test01-cxx.C,
-	test/Movie/setSoundStream/test01.c,
-	test/Movie/setSoundStream/test02-cxx.C,
-	test/Movie/setSoundStream/test02.c: exit with failure
-
-2008-02-08  krechert <krechert>
-
-	* test/Movie/setSoundStream/test01.ref,
-	test/Movie/setSoundStream/test02.ref: use soundstreamhead2 as
-	default
-
-2008-02-08  krechert <krechert>
-
-	* src/blocks/flv.h, src/blocks/soundstream.c: allow embedded
-	nellymoser sound from flv
-
-2008-02-08  krechert <krechert>
-
-	* : added nellymoser flv for testcases
-
-2008-02-08  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/font.h: function returns a plain
-	pointer
-
-2008-02-08  strk <strk>
-
-	* test/Filter/Makefile.am, test/Filter/test05-cxx.C,
-	test/Filter/test05.c: Use MEDIADIR to find media (supporting
-	off-sourcetree buils)
-
-2008-02-08  strk <strk>
-
-	* test/Filter/test05.c: print an error, and exit with a failure code
-	if things go wrong
-
-2008-02-08  strk <strk>
-
-	* docs/man/makeswf.1: Add info about the new -n switch (reviews
-	welcome)
-
-2008-02-08  strk <strk>
-
-	* util/makeswf.c: Add -n switch to force NetworkAccess flag in a
-	file attribute tag.  See http://bugs.libming.org/show_bug.cgi?id=37
-
-2008-01-30  akleine <akleine>
-
-	* util/outputscript.c: extended my new font stuff to
-	outputSWF_DEFINEFONTINFO() and outputSWF_DEFINEFONTINFO2()
-
-2008-01-30  krechert <krechert>
-
-	* util/outputtxt.c: fixed typo/stupid bug
-
-2008-01-30  vapour <vapour>
-
-	* src/ming.h.in: Typo fix for a comment.
-
-2008-01-29  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/font.h, src/blocks/shape.c: make
-	drawGlyph work again
-
-2008-01-28  akleine <akleine>
-
-	* util/outputscript.c: enhanced outputSWF_DEFINEFONT2(),
-	outputSWF_DEFINETEXT(), outputSWF_DEFINETEXT2()
-
-2008-01-28  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: introduce this as reserved
-	keyword
-
-2008-01-28  krechert <krechert>
-
-	* test/Bitmap/test01.ref, test/FillStyle/test04.ref,
-	test/FillStyle/test05.ref, test/FillStyle/test06.ref,
-	test/Filter/test05.ref, test/Morph/test01.ref,
-	test/Morph/test02.ref: resync ref after renaming of character id
-	field
-
-2008-01-28  krechert <krechert>
-
-	* test/actionscript/ASM_targetPath.as: asm op is lowercase
-
-2008-01-28  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/With.as,
-	test/actionscript/With.ref: testcase to verify bug #47: legacy
-	functions hide ACTIONCALLMETHOD in with block
-
-2008-01-28  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: split flex into clean
-	context states (ASM, PURE, LEGACY) fixes bugzilla bug #43
-
-2008-01-25  strk <strk>
-
-	* test/Bitmap/test01.ref, test/BrowserFont/test01.ref,
-	test/Button/test01.ref, test/Button/test02.ref,
-	test/Button/test03.ref, test/FillStyle/test01.ref,
-	test/FillStyle/test02.ref, test/FillStyle/test03.ref,
-	test/FillStyle/test04.ref, test/FillStyle/test05.ref,
-	test/FillStyle/test06.ref, test/Filter/test01.ref,
-	test/Filter/test02.ref, test/Filter/test03.ref,
-	test/Filter/test04.ref, test/Filter/test05.ref,
-	test/Font/test01.ref, test/Font/test02.ref, test/Font/test03.ref,
-	test/Gradient/test01.ref, test/Gradient/test02.ref,
-	test/Gradient/test03.ref, test/Gradient/test04.ref,
-	test/Gradient/test05.ref, test/Gradient/test06.ref,
-	test/LineStyle/test01.ref, test/LineStyle/test02.ref,
-	test/Morph/test01.ref, test/Morph/test02.ref,
-	test/Movie/add/test02.ref, test/Movie/assignSymbol/test01.ref,
-	test/Movie/importCharacter/test01.ref,
-	test/Movie/importCharacter/test02.ref,
-	test/Movie/replace/test01.ref, test/Movie/replace/test02.ref,
-	test/MovieClip/test01.ref, test/MovieClip/test03.ref,
-	test/PrebuiltClip/test01.ref, test/Shape/test01.ref,
-	test/Sound/test01.ref, test/Sound/test02.ref, test/Text/test01.ref,
-	test/Text/test02.ref, test/TextField/test01.ref,
-	test/TextField/test02.ref, test/Video/test01.ref,
-	test/Video/test02.ref, test/Video/test03.ref: CharacterId: =>
-	CharacterID:
-
-2008-01-25  krechert <krechert>
-
-	* src/actioncompiler/compile.c: improved debug output for stack
-	failures
-
-2008-01-25  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: bugfix: delctx for functions
-	was never called
-
-2008-01-25  strk <strk>
-
-	* util/outputtxt.c: CharacterId => CharacterID
-
-2008-01-24  akleine <akleine>
-
-	* util/outputscript.c: Started work on outputSWF_DEFINETEXT() and
-	outputSWF_DEFINETEXT2(), both needs some extending of
-	outputSWF_DEFINEFONT2().
-
-2008-01-20  akleine <akleine>
-
-	* util/outputscript.c: 1. added note for decompiling script blocks of v4 files 2. added specials for movies with xMin or xMax values !=0
-
-2008-01-18  akleine <akleine>
-
-	* util/outputscript.c: bugfix: possible negative scaling factor in
-	outputSWF_MATRIX()
-
-2008-01-18  vapour <vapour>
-
-	* src/blocks/videostream.c: Updated SWFVideoStream_getVideoFrame()
-	to check for malloc failure.
-
-2008-01-18  vapour <vapour>
-
-	* src/blocks/textfield.c: Updated newSWFTextField() to check for
-	malloc failure.
-
-2008-01-18  vapour <vapour>
-
-	* src/blocks/text.c: Adjusted destroySWFTextRecord() to check if
-	it's been given a NULL pointer before trying to free it.
-
-2008-01-18  vapour <vapour>
-
-	* src/blocks/text.c: Added checks for malloc() and other failures to
-	many functions.
-
-2008-01-18  vapour <vapour>
-
-	* src/blocks/output.c: Added check for malloc() failure to
-	newSWFOutput() and newSizedSWFOutput().
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/jpeg.c: Updated newSWFJpegWithAlpha_fromInput() to
-	check for failure of scanJpegFile() and newSWFRect().  Also put in a
-	quick fix for a compile failure.
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/jpeg.c: Updated newSWFJpegBitmap_fromInput() to check
-	for newSWFRect() failure.
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/rect.c: Updated newSWFRect() to check for malloc()
-	failure.
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/fillstyle.c: Updated newSWFBitmapFillStyle() and
-	newSWFGradientFillStyle() to check for newSWFMatrix() failure.
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/bitmap.c: Updated newSWFBitmap_fromRawImg() to check
-	for failure of newSWFDBLBitmapData_fromData().
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/dbl.c: Added checks for malloc() failure to
-	newSWFDBLBitmap(), newSWFDBLBitmap_fromInput(), and
-	newSWFDBLBitmapData_fromData().
-
-2008-01-17  vapour <vapour>
-
-	* src/displaylist.c: Added checks for malloc() failure to
-	newSWFDisplayList(), newSWFSpriteDisplayList(), and
-	SWFDisplayList_add().
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/placeobject.c: Added checks for malloc() failure to
-	newSWFPlaceObject2Block().
-
-2008-01-17  vapour <vapour>
-
-	* src/position.c: Added checks for malloc() failure to
-	newSWFPosition().
-
-2008-01-17  vapour <vapour>
-
-	* src/blocks/matrix.c: Added checks for malloc() failure to
-	newSWFMatrix() and SWFMatrix_dup().
-
-2008-01-17  strk <strk>
-
-	* test/Bitmap/test01.ref, test/Button/test01.ref,
-	test/Button/test02.ref, test/Button/test03.ref,
-	test/FillStyle/test01.ref, test/FillStyle/test02.ref,
-	test/FillStyle/test03.ref, test/FillStyle/test04.ref,
-	test/FillStyle/test05.ref, test/FillStyle/test06.ref,
-	test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref,
-	test/Filter/test05.ref, test/Gradient/test01.ref,
-	test/Gradient/test02.ref, test/Gradient/test03.ref,
-	test/Gradient/test04.ref, test/Gradient/test05.ref,
-	test/Gradient/test06.ref, test/LineStyle/test01.ref,
-	test/LineStyle/test02.ref, test/Movie/replace/test01.ref,
-	test/Movie/replace/test02.ref, test/Shape/test01.ref,
-	util/outputtxt.c: Make listswf output consistent in giving ID of
-	character definitions: always use "CharacterID: #" format
-
-2008-01-17  strk <strk>
-
-	* util/outputtxt.c: typo: CharcterID => CharacterID (for morph
-	shapes)
-
-2008-01-16  vapour <vapour>
-
-	* src/blocks/input.c: Updated newSWFInput_file(),
-	newSWFInput_buffer(), newSWFInput_stream(), and newSWFInput_input()
-	to check for malloc() failure.
-
-2008-01-16  vapour <vapour>
-
-	* src/blocks/jpeg.c: Removed embedded carriage return in definition
-	of writeSWFJpegBitmapToMethod() and writeSWFJpegWithAlphaToMethod().  Added checks for malloc() failure to scanJpegFile(),
-	newSWFJpegBitmap_fromInput(), newSWFJpegBitmap(), and
-	newSWFJpegWithAlpha_fromInput().  Added check for failure to newSWFJpegWithAlpha().
-
-2008-01-16  vapour <vapour>
-
-	* src/blocks/bitmap.c: Updated newSWFBitmap_fromRawImg() to return
-	NULL on malloc() failure.
-
-2008-01-15  akleine <akleine>
-
-	* util/outputscript.c: added XY coordinate value translation of
-	gradient fill style matrix
-
-2008-01-15  vapour <vapour>
-
-	* src/blocks/shape.c: Fixed stupid typos I introduced.  Thanks
-	Sandro. ;->
-
-2008-01-15  vapour <vapour>
-
-	* src/blocks/fillstyle.c: Fixed a stupid typo I introduced.  Thanks
-	Sandro. ;-> Added further malloc failure checks.
-
-2008-01-15  vapour <vapour>
-
-	* src/blocks/shape.c: newSWFShape() now returns NULL if an error
-	occurs when trying to allocate memory.
-
-2008-01-15  vapour <vapour>
-
-	* src/blocks/fillstyle.c: newSWFSolidFillStyle() now returns NULL if
-	an error occurs when trying to allocate memory.
-
-2008-01-15  krechert <krechert>
-
-	* test/Gradient/test01.ref, test/Gradient/test02.ref,
-	test/Gradient/test03.ref, test/Gradient/test04.ref,
-	test/Gradient/test05.ref, test/Gradient/test06.ref: update ref after
-	typo fix in gradient.c
-
-2008-01-15  company <company>
-
-	* test/actionscript/logor.ref: update testcase again
-
-2008-01-15  company <company>
-
-	* src/actioncompiler/swf5compiler.y: fix various problems with the
-	|| and && fixes: - I confused || and && (oops) - disable push action merging. This could lead to jumps pointing
-	into the middle of a Push action
-
-2008-01-15  company <company>
-
-	* test/actionscript/logor.ref: update reference output
-
-2008-01-15  strk <strk>
-
-	* util/makeswf.c: Fix bitmap embedding code to respect size of image
-	(rather then swap dimensions)
-
-2008-01-14  company <company>
-
-	* src/actioncompiler/swf5compiler.y: Enumerate finished the stack
-	with an undefined value, not with null
-
-2008-01-14  company <company>
-
-	* src/actioncompiler/swf5compiler.y: use lazy evaluation for && and
-	|| constructs.  This mirrors the behavior used by Adobe compilers.
-
-2008-01-14  company <company>
-
-	* configure.in: make auto-rerunning aclocal have the right arguments
-
-2008-01-13  vapour <vapour>
-
-	* src/movie.c: Added check for malloc failure in
-	newSWFMovieWithVersion.  Returns NULL on failure.
-
-2008-01-13  vapour <vapour>
-
-	* INSTALL: Updated web site URL and with todays date.
-
-2008-01-13  vapour <vapour>
-
-	* README: Now refers to the INSTALL text file, as we don't have an
-	INSTALL.txt.
-
-2008-01-13  vapour <vapour>
-
-	* README: Updated website, flash version supported, and with todays
-	date.
-
-2008-01-13  akleine <akleine>
-
-	* util/outputscript.c: initial draft on gradient fillstyle scaling
-	factor using current shape bounds
-
-2008-01-13  krechert <krechert>
-
-	* src/shape_util.c: fix comment about witdh value units
-
-2008-01-13  akleine <akleine>
-
-	* util/outputscript.c: added some info about shape rectangle size
-
-2008-01-12  akleine <akleine>
-
-	* src/blocks/gradient.c: typo fix
-
-2008-01-10  strk <strk>
-
-	* util/outputtxt.c: typos: erreor => error
-
-2008-01-08  akleine <akleine>
-
-	* util/outputscript.c: Added setMaskLevel() call inside
-	outputSWF_PLACEOBJECT2() function if the 'PlaceFlagHasClipDepth'
-	flag is set.
-
-2008-01-08  krechert <krechert>
-
-	* test/Filter/.cvsignore, test/Filter/Makefile.am,
-	test/Filter/TestList, test/Filter/test05-cxx.C,
-	test/Filter/test05.c, test/Filter/test05.ref: add ColorMatrixFilter
-	testcase
-
-2008-01-08  krechert <krechert>
-
-	* mingpp.h: use SWFBitmap_getHeight/Width() from C-lib.
-
-2008-01-08  krechert <krechert>
-
-	* util/main.c: cleanup deugging leftover
-
-2008-01-08  krechert <krechert>
-
-	* util/blocktypes.c: add missing header
-
-2008-01-08  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: fix dirty buffer
-
-2008-01-07  krechert <krechert>
-
-	* util/blocktypes.c: skip bytes for unknown blocks
-
-2008-01-07  krechert <krechert>
-
-	* util/main.c, util/read.c, util/read.h: skip bytes for unknown
-	blocks
-
-2008-01-07  krechert <krechert>
-
-	* util/main.c: set fileoffset after seek
-
-2008-01-07  krechert <krechert>
-
-	* util/parser.c: add endline after warning
-
-2008-01-07  krechert <krechert>
-
-	* src/blocks/action.c: autocompile code as SWF7 and warn user to use
-	SWFAction_compile first
-
-2008-01-07  krechert <krechert>
-
-	* util/parser.c: glyphcount of 0 is not an error
-
-2008-01-07  krechert <krechert>
-
-	* util/outputtxt.c: check if blockp is NULL
-
-2008-01-06  krechert <krechert>
-
-	* src/blocks/output.c: fix writeFloat/Double. closes SF bug
-	#1865070: SWFFilterMatrix does not work
-
-2008-01-06  krechert <krechert>
-
-	* src/actioncompiler/compile.c,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: remove runtime check for
-	byteorder
-
-2008-01-06  krechert <krechert>
-
-	* configure.in: compiletime check for byteorder
-
-2008-01-06  krechert <krechert>
-
-	* util/parser.c: matrix elements are float types
-
-2008-01-06  akleine <akleine>
-
-	* util/outputscript.c: Continued work on fillstyles and linstyles
-
-2008-01-05  akleine <akleine>
-
-	* util/outputscript.c: Shape fill stuff: replaced 'experimental
-	code' from CVS 1.53 with better one
-
-2008-01-04  krechert <krechert>
-
-	* test/Sound/.cvsignore: missing .cvsignore
-
-2008-01-04  krechert <krechert>
-
-	* test/Font/Makefile.am, test/Font/test03.pl: added perl testcase
-	for string width
-
-2008-01-04  krechert <krechert>
-
-	* test/Font/.cvsignore, test/Font/test03.ref: added missing ref file
-
-2008-01-04  krechert <krechert>
-
-	* perl_ext/Font.xs, perl_ext/Text.xs: fix wrong argument types
-
-2008-01-04  krechert <krechert>
-
-	* src/font_util.h: removed duplicated declaration
-
-2008-01-04  krechert <krechert>
-
-	* test/Font/Makefile.am, test/Font/TestList, test/Font/test01.py,
-	test/Font/test02.py, test/Font/test03-cxx.C, test/Font/test03.c,
-	test/Font/test03.py: more testcases
-
-2008-01-04  krechert <krechert>
-
-	* ming.i, py_ext/ming_wrap.c, py_ext/mingc.py: fix SF bug 1862172:
-	TypeError in method 'SWFFont_getStringWidth'
-
-2008-01-04  krechert <krechert>
-
-	* mingpp.h: remove unnecessary casts
-
-2008-01-04  krechert <krechert>
-
-	* src/blocks/block.h, src/blocks/metadata.c, src/blocks/metadata.h,
-	src/blocks/protect.c: use const char * as parameter to avoid
-	difficulties with new swig version
-
-2008-01-04  krechert <krechert>
-
-	* ming.i, src/ming.h.in, src/movie.c: use const char * as parameter
-	to avoid difficulties with new swig version
-
-2008-01-04  krechert <krechert>
-
-	* ming.i: SF bug #1845919: Add newSWFSound_fromSoundStream to ming.i
-	Thanks to sakamoto
-
-2008-01-04  krechert <krechert>
-
-	* test/FillStyle/Makefile.am: add pyhon test to DIST
-
-2008-01-04  krechert <krechert>
-
-	* src/ming.h.in, src/text_util.c: "strings" should be (char *)
-
-2008-01-04  krechert <krechert>
-
-	* py_ext/ming.py: allow SWFText version 1 objects
-
-2008-01-03  krechert <krechert>
-
-	* py_ext/ming.py: added missing SWFDisplayItem method. Patch by
-	Gerrit Riessen.
-
-2008-01-03  krechert <krechert>
-
-	* test/FillStyle/test04.py: python fillstyle testcase
-
-2008-01-03  krechert <krechert>
-
-	* py_ext/ming.py: proper type checking. patch by Gerrit Riessen
-
-2008-01-03  krechert <krechert>
-
-	* mingpp.h: remove some useless warnings
-
-2008-01-03  krechert <krechert>
-
-	* src/ming.h.in: remove deprecated tag from SWFFill functions. Work
-	on all fill-types now.
-
-2008-01-03  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/blocks/gradient.c: allow
-	transformation on gradient fills
-
-2008-01-03  strk <strk>
-
-	* util/parser.c: Don't abort parsing if an unexpected number of
-	gradients is found
-
-2007-12-29  akleine <akleine>
-
-	* util/decompile.c: rewrote gotoFrame/gotoLabel functions
-
-2007-12-26  akleine <akleine>
-
-	* util/decompile.c: Fixed a bug in decompileCALLMETHOD(). Thanks to
-	'strk' for reporting.
-
-2007-12-17  strk <strk>
-
-	* util/makeswf_utils.c: Check existance of input file before
-	attempting to preprocess it
-
-2007-12-15  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix typo: caused a regression
-	when using _droptarget as a member variable.
-
-2007-12-14  akleine <akleine>
-
-	* util/parser.c: continue with empty block in case of branch problem
-
-2007-12-14  akleine <akleine>
-
-	* util/decompile.c: bugfix in decompileSETTARGET()
-
-2007-12-13  akleine <akleine>
-
-	* util/outputscript.c, util/parser.c, util/swftypes.h: 1. changed ColorAddTerms and ColorMultTerms to signed integer    in structures SWF_CXFORM, SWF_CXFORMWITHALPHA (swftypes.h) 2. ditto changed some readBits() to readSBits() in parser.c 3. added ColorTransform processing to outputscript.c
-
-2007-12-12  akleine <akleine>
-
-	* util/decompile.c: fixed old typo bug: changed '_this' to 'this'
-
-2007-12-12  akleine <akleine>
-
-	* util/decompile.c: 1. rewrote function decompileGETURL2() 2. bugfix in decompileSTOREREGISTER()
-
-2007-12-11  akleine <akleine>
-
-	* util/outputscript.c: typo fix
-
-2007-12-11  akleine <akleine>
-
-	* util/decompile.c: enhanced recognition of inline (side effect)
-	increment/decrement operations .. else run into fallback code
-
-2007-12-11  akleine <akleine>
-
-	* util/outputscript.c: experimental add of setRightFill() call in
-	outputSWF_FILLSTYLE (tnx Peter!)
-
-2007-12-10  akleine <akleine>
-
-	* util/decompile.c: in decompileCALLMETHOD(): added a special case
-	for constructors etc.
-
-2007-12-10  akleine <akleine>
-
-	* util/outputscript.c: added initial draft for
-	outputSWF_EXPORTASSETS()
-
-2007-12-09  akleine <akleine>
-
-	* util/decompile.c: keep action index always inside limit
-
-2007-12-08  akleine <akleine>
-
-	* util/decompile.c: Solved property value problem.  Thanks to Peter
-	for bug report!
-
-2007-12-06  akleine <akleine>
-
-	* NEWS, util/decompile.c: implemented eval() calls where they are
-	appropriate
-
-2007-12-05  akleine <akleine>
-
-	* util/decompile.c: 2 bugfixes: decompileRETURN result value and
-	operator precedence
-
-2007-12-05  peterdd <peterdd>
-
-	* util/outputscript.c: fix a typo
-
-2007-12-05  peterdd <peterdd>
-
-	* util/outputscript.c: add stub for fontinfo2 script generation
-
-2007-12-04  company <company>
-
-	* test/actionscript/TryCatch.ref: update test
-
-2007-12-04  company <company>
-
-	* src/actioncompiler/swf5compiler.y: make Try action work correctly
-	(patch by Pekka Lampila)
-
-2007-12-01  akleine <akleine>
-
-	* util/decompile.c: two bugfixes related to operator precedence
-
-2007-12-01  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/condition.as,
-	test/actionscript/condition.ref: testcase for conditional expression
-
-2007-12-01  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.y: do combine PUSH ops in condition
-	stmts.
-
-2007-12-01  peterdd <peterdd>
-
-	* util/outputscript.c: fix naming pattern for ButtonRecord variables
-
-2007-12-01  krechert <krechert>
-
-	* ChangeLog, NEWS: update
-
-2007-12-01  peterdd <peterdd>
-
-	* perl_ext/MANIFEST: add SWF/ButtonRecord.pm, remove autoappended
-	META.yml from cvs sources
-
-2007-12-01  peterdd <peterdd>
-
-	* perl_ext/SWF.pm: help CPAN analyzing the module
-
-2007-12-01  peterdd <peterdd>
-
-	* perl_ext/Changes, perl_ext/README: rewrite of the installation
-	procedure, comment in Changes
-
-2007-12-01  peterdd <peterdd>
-
-	* perl_ext/Makefile.am: pass configure prefix to Makefile.PL PREFIX,
-	fix EXTRA_DIST
-
-2007-11-30  peterdd <peterdd>
-
-	* : a 44.1kHz stereo uncompressed PCM sample for sound, loops,
-	envelope tests
-
-2007-11-30  krechert <krechert>
-
-	* mingpp.h: don't leak file pointer
-
-2007-11-30  krechert <krechert>
-
-	* configure.in, test/Makefile.am, test/Sound/Makefile.am,
-	test/Sound/TestList, test/Sound/test01-cxx.C, test/Sound/test01.c,
-	test/Sound/test01.ref, test/Sound/test02-cxx.C,
-	test/Sound/test02.c, test/Sound/test02.ref: testcases for SWFSound
-	with SoundStream.  submitted by sakamotosplhack at sf.net
-
-	http://sourceforge.net/tracker/index.php?func=detail&aid=1824403&group_id=18365&atid=118365
-
-2007-11-30  krechert <krechert>
-
-	* mingpp.h: SWFSound from SoundStream (C++ wrapper)
-
-2007-11-30  krechert <krechert>
-
-	* src/blocks/sound.c, src/blocks/soundstream.c, src/ming.h.in: 
-	newSWFSound_fromSoundStream(SWFSoundStream stream); submitted by
-	sakamotosplhack at sf.net
-
-	http://sourceforge.net/tracker/index.php?func=detail&aid=1824403&group_id=18365&atid=118365
-
-2007-11-30  krechert <krechert>
-
-	* php_ext/ming.c: SWFVideoStream constructor confuses most users:
-	possible inputs were php file resource (fopen()) or a "binary
-	string" of the file produced by get_file_contents(). Using the
-	filename failed! This patch adds a simple and weak check for a
-	proper file extension.
-
-2007-11-30  krechert <krechert>
-
-	* test/Video/test01.php: php video testcase: init class with
-	filename
-
-2007-11-30  krechert <krechert>
-
-	* src/blocks/input.c: typo :(
-
-2007-11-30  krechert <krechert>
-
-	* src/blocks/input.c, src/ming.h.in: create input from filename
-
-2007-11-30  krechert <krechert>
-
-	* mingpp.h: added SWFDisplayItem->flush()
-
-2007-11-30  krechert <krechert>
-
-	* mingpp.h: make DisplayItem contructor and destructor private
-
-2007-11-30  krechert <krechert>
-
-	* mingpp.h: add missing FontCharacter methods make FontCharacter
-	constructor and destructor private
-
-2007-11-30  krechert <krechert>
-
-	* test/Button/.cvsignore, test/Button/Makefile.am,
-	test/Button/test03-cxx.C: added c++ testcase
-
-2007-11-29  peterdd <peterdd>
-
-	* test/Button/.cvsignore, test/Button/Makefile.am,
-	test/Button/TestList, test/Button/test03.c, test/Button/test03.pl,
-	test/Button/test03.ref: added test for animated button states
-
-2007-11-29  krechert <krechert>
-
-	* test/Button/test02.pl: sync to new setLine()
-
-2007-11-29  krechert <krechert>
-
-	* perl_ext/SWF/Shape.pm, perl_ext/Shape.xs: use Shape->setLine()
-	from shape util
-
-2007-11-29  krechert <krechert>
-
-	* test/Button/Makefile.am, test/Button/test02.php: button record php
-	testcase
-
-2007-11-29  krechert <krechert>
-
-	* test/Button/Makefile.am, test/Button/test02-cxx.C: add C++
-	testcase
-
-2007-11-29  peterdd <peterdd>
-
-	* util/outputscript.c: add matrix output for ButtonRecord
-
-2007-11-29  krechert <krechert>
-
-	* test/Button/test02.c: fixed fillstyle
-
-2007-11-29  krechert <krechert>
-
-	* util/Makefile.am, util/main.c: removed main.c from libutil sources
-	in order. allows customizing main.c via define flags.
-
-2007-11-29  peterdd <peterdd>
-
-	* test/Button/test02.c: [no log message]
-
-2007-11-29  peterdd <peterdd>
-
-	* test/Button/.cvsignore, test/Button/Makefile.am,
-	test/Button/TestList, test/Button/test02.c, test/Button/test02.pl,
-	test/Button/test02.ref: add test for ButtonRecord
-
-2007-11-29  krechert <krechert>
-
-	* util/Makefile.am, util/ttftofft.c: this functionality is included
-	in libming now.
-
-2007-11-29  krechert <krechert>
-
-	* util/makefdb.c: this file was replaced by outputfdb.
-
-2007-11-29  krechert <krechert>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added ButtonRecord class to
-	php_ext
-
-2007-11-29  krechert <krechert>
-
-	* perl_ext/.cvsignore, perl_ext/Button.xs,
-	perl_ext/ButtonRecord.xs, perl_ext/Makefile.PL,
-	perl_ext/Makefile.am, perl_ext/SWF.pm,
-	perl_ext/SWF/ButtonRecord.pm, perl_ext/perl_swf.h, perl_ext/typemap: 
-	added ButtonRecord support
-
-2007-11-28  krechert <krechert>
-
-	* util/parser.c: fix bug in definefontinfo[2] calculating glyph
-	count
-
-2007-11-28  krechert <krechert>
-
-	* util/parser.c: fixes DEFINEFONT block bounds and cleanup
-
-2007-11-28  akleine <akleine>
-
-	* util/outputscript.c: 1. Added a setScale(1) call in top of generated file for Perl,    PHP,C++. (still to-do: Python,TCL) and removed hardcoded    division by 20.0 from setDimension() call,  because most    output (like drawLine(), the matrix stuff etc...) uses TWIPS.     (This Problem was first mentioned by    strk at [Ming-dev], Fri, 16 Feb 2007).  2. Added some has..() -checks to outputSWF_MATRIX().  3. Added call of outputSWF_MATRIX() inside outputSWF_PLACEOBJECT2().  4. At all th [...]
-	   PIXEL.)
-
-2007-11-28  krechert <krechert>
-
-	* configure.in: add default values to configure --help
-
-2007-11-28  krechert <krechert>
-
-	* test/Action/Makefile.am, test/Bitmap/Makefile.am,
-	test/BrowserFont/Makefile.am, test/Button/Makefile.am,
-	test/FillStyle/Makefile.am, test/Filter/Makefile.am,
-	test/Font/Makefile.am, test/Gradient/Makefile.am,
-	test/LineStyle/Makefile.am, test/Morph/Makefile.am,
-	test/Movie/Background/Makefile.am,
-	test/Movie/Dimension/Makefile.am,
-	test/Movie/FrameLabel/Makefile.am,
-	test/Movie/NumFrames/Makefile.am, test/Movie/Protect/Makefile.am,
-	test/Movie/Rate/Makefile.am, test/Movie/add/Makefile.am,
-	test/Movie/addMetadata/Makefile.am,
-	test/Movie/assignSymbol/Makefile.am,
-	test/Movie/defineScene/Makefile.am,
-	test/Movie/importCharacter/Makefile.am, test/Movie/new/Makefile.am,
-	test/Movie/nextFrame/Makefile.am, test/Movie/replace/Makefile.am,
-	test/Movie/setNetworkAccess/Makefile.am,
-	test/Movie/setScriptLimits/Makefile.am,
-	test/Movie/setSoundStream/Makefile.am,
-	test/Movie/setTabIndex/Makefile.am, test/MovieClip/Makefile.am,
-	test/PrebuiltClip/Makefile.am, test/Shape/Makefile.am,
-	test/Text/Makefile.am, test/TextField/Makefile.am,
-	test/Video/Makefile.am: added USE_CXX conditional to c++ test where
-	necessary.  removed stdc++ (global) dependecy
-
-2007-11-28  krechert <krechert>
-
-	* Makefile.am: install c++-header only if c++ headers are enabled
-
-2007-11-28  krechert <krechert>
-
-	* configure.in: added --enable-cpp=[yes|no] to configure
-	(default=yes)
-
-2007-11-27  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, src/actiontypes.h,
-	test/actionscript/ASM_all.as, test/actionscript/ASM_all.ref,
-	util/action.c: Add support for fscommand2 asm
-
-2007-11-27  krechert <krechert>
-
-	* mingpp.h: added ButtonRecord class
-
-2007-11-27  peterdd <peterdd>
-
-	* util/outputscript.c: first step to output Buttonrecord info
-
-2007-11-27  company <company>
-
-	* src/blocks/button.c, src/ming.h.in: implement
-	SWFButtonRecord_setDepth
-
-2007-11-26  krechert <krechert>
-
-	* perl_ext/Text.xs: optional version flag for SWF::Text
-
-2007-11-26  krechert <krechert>
-
-	* test/Font/Makefile.am, test/Font/test01.pl, test/Font/test02.pl: 
-	perl Font/Text testcases
-
-2007-11-26  krechert <krechert>
-
-	* mingpp.h: Init character member in all classes inherited from
-	SWFCharacter.  Cleanup some code.  Fixes SF bug #1490709
-
-2007-11-26  krechert <krechert>
-
-	* src/shape_util.c: handle characters with no bounds gracefully.
-	fixes SF bug #1490709
-
-2007-11-25  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c: parseSWF_DEFINEBUTTONCXFORM
-	removed unused name parameter in outputSWF_CXFROM
-	outputSWF_DEFINEBUTTONCXFORM forward declaration of
-	outputSWF_SOUNDINFO
-
-2007-11-25  krechert <krechert>
-
-	* util/outputtxt.c: outputSWF_DEFINEBUTTONSOUND
-
-2007-11-25  krechert <krechert>
-
-	* util/parser.c: removed duplicated code (parseSWF_SOUNDINFO())
-
-2007-11-25  krechert <krechert>
-
-	* test/Button/test01.ref: remove warning from ref file
-
-2007-11-25  krechert <krechert>
-
-	* util/parser.c: warn on possible malformed SWFs
-
-2007-11-25  akleine <akleine>
-
-	* util/outputscript.c, util/parser.c: continued work on buttons:
-	added output of sound
-
-2007-11-23  akleine <akleine>
-
-	* util/decompile.c: added code for SWFACTION_TOGGLEQUALITY and a
-	minor bugfix
-
-2007-11-23  strk <strk>
-
-	* mingpp.h, src/ming.h.in: Don't base the exported interface on
-	USE_{GIF,PNG}, don't rely on ming_config.h
-
-2007-11-23  strk <strk>
-
-	* src/blocks/Makefile.am: include pngdbl.c and gifdbl.c in lib no
-	matter what value USE_{PNG,GIF} have
-
-2007-11-23  strk <strk>
-
-	* src/blocks/pngdbl.c: provide an implementation for the PNG
-	interfaces even if USE_PNG is undefined, just warn and return NULL
-
-2007-11-23  strk <strk>
-
-	* src/blocks/gifdbl.c: provide an implementation for the GIF
-	interfaces even if USE_GIF is undefined, just warn and return NULL
-
-2007-11-23  krechert <krechert>
-
-	* : add gif image for testcases
-
-2007-11-23  krechert <krechert>
-
-	* test/FillStyle/.cvsignore, test/FillStyle/Makefile.am,
-	test/FillStyle/TestList, test/FillStyle/test06-cxx.C,
-	test/FillStyle/test06.c, test/FillStyle/test06.ref: add gif testcase
-
-2007-11-23  strk <strk>
-
-	* src/libming.h: include <math.h> befor echecking for availability
-	of functions defined therein
-
-2007-11-23  krechert <krechert>
-
-	* src/Makefile.am: do not distribute ming_config.h
-
-2007-11-22  akleine <akleine>
-
-	* util/outputscript.c, util/parser.c: swftoXXX: added initial code
-	for handling buttons and showing button action script code
-
-2007-11-22  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix shift/reduce conflicts
-
-2007-11-22  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix reduce/reduce conflicts do
-	not translate reserved words to identifiers
-
-2007-11-22  krechert <krechert>
-
-	* test/actionscript/class_member.ref: unused membervariables were
-	ignored
-
-2007-11-22  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.y: improved variable handling
-
-2007-11-22  strk <strk>
-
-	* ChangeLog: sync
-
-2007-11-22  krechert <krechert>
-
-	* NEWS, src/displaylist.c: news update and some function docs
-
-2007-11-22  krechert <krechert>
-
-	* src/displaylist.c, src/displaylist.h, src/ming.h.in, src/movie.c,
-	src/movieclip.c: added SWFDisplayItem_flush() writes a displayitem
-	to the blocklist immediately instead of waiting for nextFrame().
-
-2007-11-22  krechert <krechert>
-
-	* test/actionscript/ASM_V4.as: added missing as file. removed swf
-	instead
-
-2007-11-22  krechert <krechert>
-
-	* test/actionscript/ASM_V4.ref, test/actionscript/Makefile.am: add
-	asm v4 testcases
-
-2007-11-22  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y: complete ASM support for SWF4
-	action ops
-
-2007-11-22  krechert <krechert>
-
-	* test/actionscript/ActionScriptTest.c,
-	test/actionscript/Makefile.am: allow different SWF version targets
-	for AS testcases
-
-2007-11-21  akleine <akleine>
-
-	* util/outputscript.c: Continued work on outputSWF_PLACEOBJECT2() by
-	adding output code for actions of clip events. Also added several
-	output strings depending on SWF_CLIPEVENTFLAGS values.
-
-2007-11-21  akleine <akleine>
-
-	* util/outputscript.c: Started work on a TODO in
-	outputSWF_PLACEOBJECT2() : assign the return of an add()-method to a
-	displayItem for using in setName() etc. and later using for matrix
-	output
-
-2007-11-18  krechert <krechert>
-
-	* test/actionscript/class_member.ref: update ref
-
-2007-11-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: bugfix: push register
-
-2007-11-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: add ASM CastOp
-
-2007-11-15  akleine <akleine>
-
-	* util/outputscript.c: in outputSWF_PLACEOBJECT2():  added bugfix on
-	object which does add another object.
-
-2007-11-15  krechert <krechert>
-
-	* test/actionscript/Function.as, test/actionscript/Function.ref,
-	test/actionscript/class_member.as: add testcases for typed
-	functions, variables
-
-2007-11-15  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: add (syntatic) type support
-
-2007-11-15  krechert <krechert>
-
-	* test/actionscript/class_member.as,
-	test/actionscript/class_member.ref,
-	test/actionscript/class_method.as,
-	test/actionscript/class_method.ref: added testcases with access
-	attributes
-
-2007-11-15  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: added class access attribute
-	support
-
-2007-11-14  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/class_member.as,
-	test/actionscript/class_member.ref: simple class member test
-
-2007-11-14  krechert <krechert>
-
-	* NEWS: update
-
-2007-11-14  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: keep class statements in order
-	introduced class context
-
-2007-11-14  krechert <krechert>
-
-	* test/Action/test01.ref, test/MovieClip/test01.ref,
-	test/MovieClip/test02.ref, test/MovieClip/test03.ref,
-	test/PrebuiltClip/test01.ref: update sprite blocks' offset
-
-2007-11-14  krechert <krechert>
-
-	* util/swftypes.h: add missing SWF_DEFINEMORPHSHAPE2 structure to
-	union
-
-2007-11-14  krechert <krechert>
-
-	* test/Movie/add/test02.ref: update sprite blocks' offset
-
-2007-11-14  krechert <krechert>
-
-	* util/parser.c: fix blockoffset: set offset to include tag header
-
-2007-11-14  krechert <krechert>
-
-	* util/main.c, util/outputdecl.h, util/outputfdb.c,
-	util/outputscript.c, util/outputswf.c, util/outputtxt.c,
-	util/ttftofft.c: use length and offset from Parserstruct
-
-2007-11-14  krechert <krechert>
-
-	* test/actionscript/legacy_functions.as,
-	test/actionscript/legacy_functions.ref: added set/getProperty to
-	legacy function
-
-2007-11-14  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: fix get/setProperty
-
-2007-11-12  akleine <akleine>
-
-	* util/decompile.c: 1. Added some code to decompile if{} and else{} blocks    always at exactly the same stack base.  2. Added some debug helper for try{}-catch{}-finally{}.
-
-2007-11-12  krechert <krechert>
-
-	* util/parser.c, util/read.c, util/read.h: readFloat
-
-2007-11-11  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.y: property index is should be
-	pushed as FLOAT
-
-2007-11-11  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.y: 
-	add get/setProperty methods
-
-2007-11-11  krechert <krechert>
-
-	* src/actiontypes.h: fix property values
-
-2007-11-11  akleine <akleine>
-
-	* util/decompile.c: added code for SWFACTION_TARGETPATH
-
-2007-11-11  akleine <akleine>
-
-	* util/decompile.c: Added new code for  "try/catch/finally" .  BTW
-	this also avoids a segmentation fault in listswf_d.
-
-2007-11-10  krechert <krechert>
-
-	* perl_ext/Font.xs: use strncase(), removed unused FILE *
-
-2007-11-10  krechert <krechert>
-
-	* perl_ext/SWF/VideoStream.pm: fix c&p error
-
-2007-11-10  krechert <krechert>
-
-	* perl_ext/SWF/FontCharacter.pm: add FontCharacter.pm
-
-2007-11-10  krechert <krechert>
-
-	* test/BrowserFont/test01.py: python testcase
-
-2007-11-10  krechert <krechert>
-
-	* perl_ext/.cvsignore: added FontcCharacter.c
-
-2007-11-10  krechert <krechert>
-
-	* perl_ext/FontCharacter.xs, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/Makefile.am, perl_ext/Movie.xs,
-	perl_ext/SWF.pm, perl_ext/perl_swf.h, perl_ext/typemap: added
-	FontCharacter Object, SWFMovie_addFont() and SWFMovie_importFont()
-
-2007-11-09  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.y: set class members
-
-2007-11-09  krechert <krechert>
-
-	* NEWS: update
-
-2007-11-09  krechert <krechert>
-
-	* perl_ext/Font.xs: use generic SWFFont interface for filebased
-	fonts
-
-2007-11-09  krechert <krechert>
-
-	* py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py: updates,
-	resync with main lib
-
-2007-11-09  krechert <krechert>
-
-	* ming.i: update, added new functions
-
-2007-11-08  strk <strk>
-
-	* test/actionscript/legacy_functions.ref, util/action.c: Print
-	target name for ACTION_SETTARGET, update .ref accordingly
-
-2007-11-08  akleine <akleine>
-
-	* util/decompile.c: implemented code for SWFACTION_THROW
-
-2007-11-08  krechert <krechert>
-
-	* configure.in: chmod config/install-sh (hack)
-
-2007-11-08  krechert <krechert>
-
-	* py_ext/setup.py.in: added ungif lib
-
-2007-11-08  strk <strk>
-
-	* ChangeLog: updated
-
-2007-11-07  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.y: 
-	fixes regression (determine if return is inside a function) remove
-	anon_function_decl
-
-2007-11-07  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: always terminate string
-	buffer
-
-2007-11-07  krechert <krechert>
-
-	* test/actionscript/legacy_functions.ref: GetUrl2 offset was bogus
-
-2007-11-07  krechert <krechert>
-
-	* util/swftypes.h: added missing Offset field to SWFACTION_GETURL2
-	structure
-
-2007-11-06  krechert <krechert>
-
-	* php_ext/ming.c: do not destroy SWFFontCharacter objects. These
-	objects are created by the ming library, like SWFDisplayItem
-	objects.
-
-2007-11-06  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/class_empty.as,
-	test/actionscript/class_empty.ref,
-	test/actionscript/class_method.as,
-	test/actionscript/class_method.ref: class testcases
-
-2007-11-06  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: AS2 class support: constructor
-	and methods
-
-2007-11-05  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: improve error reporting: put
-	column cursor _before_ the token which produces the syntax error.
-	also removed unused strcpy in newline rule.
-
-2007-11-04  akleine <akleine>
-
-	* util/decompile.c: Fixed return value of decompile_SWITCH()
-	function for some switch{} statements where "default:" is NOT the
-	last clause
-
-2007-11-02  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.y: ASFunction abstraction and
-	cleanup
-
-2007-11-02  krechert <krechert>
-
-	* util/makeswf_utils.c: fix warnings
-
-2007-11-02  krechert <krechert>
-
-	* src/blocks/action.h, src/ming.h.in: expose SWFAction_compile()
-
-2007-11-02  krechert <krechert>
-
-	* src/movie.c: fix warning
-
-2007-10-31  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: verbose error output
-
-2007-10-31  krechert <krechert>
-
-	* util/makeswf_utils.c: x
-
-2007-10-30  akleine <akleine>
-
-	* util/png2dbl.c: Use compress2() result value again (for correct
-	size of *.dbl files)
-
-2007-10-30  krechert <krechert>
-
-	* mingpp.h: add mask wrapper to displayitem
-
-2007-10-30  krechert <krechert>
-
-	* NEWS: update
-
-2007-10-30  krechert <krechert>
-
-	* src/blocks/fromswf.c: support for SWF9 tags
-
-2007-10-30  krechert <krechert>
-
-	* util/makeswf.c: set framerate as float
-
-2007-10-30  krechert <krechert>
-
-	* test/actionscript/ASM_all.as, test/actionscript/ASM_all.ref: 
-	simple implements/extends ASM testcase
-
-2007-10-30  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: support "implements" as ASM op
-
-2007-10-27  krechert <krechert>
-
-	* util/makeswf_utils.c: pass through real swf version
-
-2007-10-27  krechert <krechert>
-
-	* util/makeswf_utils.c: handle compile errors. do not output empty
-	swf files
-
-2007-10-27  krechert <krechert>
-
-	* src/blocks/action.c: bugfix: if AS code is already compiled return
-	success and set length pointer.
-
-2007-10-27  krechert <krechert>
-
-	* NEWS: update
-
-2007-10-27  krechert <krechert>
-
-	* src/blocks/fromswf.c: SWF8 support for fromswf submitted by
-	sakamotosplhack at users.sourceforge.net
-
-2007-10-27  krechert <krechert>
-
-	* src/blocks/fileattrs.c: bugfix: [ 1821118 ] Uninitialized variable
-	in SWFFileAttributes.  submitted by sakamotosplhack at uses.sf.net
-
-2007-10-27  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/importCharacter/.cvsignore,
-	test/Movie/importCharacter/Makefile.am,
-	test/Movie/importCharacter/TestList,
-	test/Movie/importCharacter/test01-cxx.C,
-	test/Movie/importCharacter/test01.c,
-	test/Movie/importCharacter/test01.php,
-	test/Movie/importCharacter/test01.ref,
-	test/Movie/importCharacter/test02-cxx.C,
-	test/Movie/importCharacter/test02.c,
-	test/Movie/importCharacter/test02.php,
-	test/Movie/importCharacter/test02.ref: SWF_IMPORT assets testcases
-
-2007-10-26  krechert <krechert>
-
-	* php_ext/Makefile.am: add simple install rule in php_ext
-
-2007-10-26  strk <strk>
-
-	* ChangeLog, Makefile.am: Sync ChangeLog, fix Changelog rule to work
-	when run from a separate build tree
-
-2007-10-26  krechert <krechert>
-
-	* php_ext/ming.c: Add SWFCharacter dummy class in PHP. Fixes
-	http://bugs.libming.net/show_bug.cgi?id=38.
-
-2007-10-25  krechert <krechert>
-
-	* src/Makefile.am: added new files
-
-2007-10-25  krechert <krechert>
-
-	* util/makeswf.c: use new InitAction api
-
-2007-10-25  krechert <krechert>
-
-	* configure.in, test/Action/.cvsignore, test/Action/Makefile.am,
-	test/Action/TestList, test/Action/test01-cxx.C,
-	test/Action/test01.c, test/Action/test01.ref,
-	test/Action/test02-cxx.C, test/Action/test02.c,
-	test/Action/test02.ref, test/Makefile.am: InitAction testcases
-
-2007-10-25  krechert <krechert>
-
-	* mingpp.h: add InitAction support
-
-2007-10-25  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/action.h, src/ming.h.in,
-	src/movie.c, src/movieclip.c: extend and expose InitAction interface
-
-2007-10-24  krechert <krechert>
-
-	* php_ext/php_ming.h: sync header. not sure if needed
-
-2007-10-24  krechert <krechert>
-
-	* php_ext/ming.c: added addUTF8String() textfield method
-
-2007-10-24  strk <strk>
-
-	* util/makeswf.c: Use a separate character definition for each init
-	action block
-
-2007-10-24  strk <strk>
-
-	* util/makeswf.c: Add support for multiple init actions in same
-	and/or different frames.  Still unsupported adding init actions for
-	frames for which we specify no content.
-
-2007-10-24  strk <strk>
-
-	* util/makeswf.c: Exit with an error if multiple init actions are
-	attempted to be added (still unsupported)
-
-2007-10-24  strk <strk>
-
-	* NEWS: add init action support new
-
-2007-10-24  strk <strk>
-
-	* docs/man/makeswf.1, util/makeswf.c: Change -C flag to -a
-	(--init-action) and support specifying a target frame number.  Only
-	frame0 is currently supported.
-
-2007-10-23  strk <strk>
-
-	* NEWS, configure.in: Bump version to 0.4.0.beta6
-
-2007-10-21  krechert <krechert>
-
-	* util/action.c: output more information for
-	SDFACTION_DEFINEFUNCTION2
-
-2007-10-21  krechert <krechert>
-
-	* mingpp.h, src/blocks/text.c, src/ming.h.in: text cleanup
-
-2007-10-19  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: built-in function call should
-	be translated as "call"
-
-2007-10-19  krechert <krechert>
-
-	* test/actionscript/forin.as, test/actionscript/forin.ref: add
-	ENUMERATE2 testcase
-
-2007-10-19  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: use ENUMERATE2 when looping on
-	object members like: for(x in obj.members) 	;
-
-2007-10-19  krechert <krechert>
-
-	* NEWS: update
-
-2007-10-19  krechert <krechert>
-
-	* src/movie.c: update security policy doc
-
-2007-10-19  krechert <krechert>
-
-	* test/Movie/addMetadata/test01.ref: update testcase because of ne
-	security policy
-
-2007-10-19  krechert <krechert>
-
-	* test/Bitmap/test01.ref, test/FillStyle/test01.ref,
-	test/FillStyle/test02.ref, test/FillStyle/test03.ref,
-	test/FillStyle/test04.ref, test/FillStyle/test05.ref,
-	test/Gradient/test01.ref, test/Gradient/test02.ref,
-	test/Gradient/test03.ref, test/Gradient/test04.ref,
-	test/Gradient/test05.ref, test/Gradient/test06.ref,
-	test/LineStyle/test01.ref, test/LineStyle/test02.ref,
-	test/Morph/test01.ref, test/Morph/test02.ref,
-	test/Movie/assignSymbol/test01.ref,
-	test/Movie/defineScene/test01.ref, test/Movie/new/test06.ref,
-	test/Movie/new/test07.ref, test/Movie/replace/test01.ref,
-	test/Movie/replace/test02.ref,
-	test/Movie/setScriptLimits/test01.ref, test/Shape/test01.ref: update
-	testcase because of ne security policy
-
-2007-10-19  krechert <krechert>
-
-	* src/blocks/fileattrs.c: change security policy default to
-	"local-with-filesystem" sandbox.  see
-	http://www.adobe.com/devnet/flash/articles/fplayer8_security.html
-	for more informations
-
-2007-10-19  krechert <krechert>
-
-	* test/actionscript/delete.ref: resync delete.ref
-
-2007-10-19  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: only POP stack in the void case
-
-2007-10-19  krechert <krechert>
-
-	* test/actionscript/delete.as, test/actionscript/delete.ref: update
-	new delete testcases
-
-2007-10-19  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: catch more delete cases
-
-2007-10-18  krechert <krechert>
-
-	* test/Movie/new/.cvsignore, test/Movie/new/Makefile.am,
-	test/Movie/new/TestList, test/Movie/new/test07-cxx.C,
-	test/Movie/new/test07.c, test/Movie/new/test07.php,
-	test/Movie/new/test07.pl, test/Movie/new/test07.py,
-	test/Movie/new/test07.ref: tag order testcase
-
-2007-10-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: removed redundant definitions
-	-> reduces parser conflicts
-
-2007-10-18  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/drag.as,
-	test/actionscript/drag.ref, test/actionscript/legacy_functions.ref: 
-	drag testcase (MC API and built-in)
-
-2007-10-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: add start/stopDrag built-in
-	function support
-
-2007-10-18  krechert <krechert>
-
-	* test/actionscript/Makefile.am,
-	test/actionscript/legacy_functions.as,
-	test/actionscript/legacy_functions.ref: built-in functions
-
-2007-10-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: built-in function "call"
-	should trigger SWFACTION_CALLFRAME while "callFrame" is not a built
-	in function and should trigger SWFACTION_CALLFUNCTION
-
-2007-10-18  krechert <krechert>
-
-	* test/actionscript/delete.as, test/actionscript/delete.ref: use
-	delete's return value
-
-2007-10-18  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: treat DELETE as a non-void
-	function
-
-2007-10-18  krechert <krechert>
-
-	* src/movie.c: make FileAttributs first block
-
-2007-10-18  krechert <krechert>
-
-	* util/makeswf.c: add class definition support.  Class definitions
-	are initialized by InitAction tags. These tags need a dummy
-	movieclip they depend on.
-
-2007-10-17  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h: allow
-	pushing STRINGs also for SWF>=5
-
-2007-10-17  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h: adding
-	push FLOAT
-
-2007-10-17  krechert <krechert>
-
-	* src/actioncompiler/compile.c: update properties values
-
-2007-10-17  krechert <krechert>
-
-	* test/actionscript/ASM_all.ref,
-	test/actionscript/FunctionInLoop.ref, test/actionscript/forin.ref: 
-	update testcases
-
-2007-10-17  krechert <krechert>
-
-	* util/action.c: output TargetOffsets for IF / JUMP OP-codes
-
-2007-10-16  strk <strk>
-
-	* config/install-sh: re-added with x bit set
-
-2007-10-16  strk <strk>
-
-	* config/install-sh: removed again, I'll try from my box the x bit
-
-2007-10-16  krechert <krechert>
-
-	* config/install-sh: set exec flag
-
-2007-10-16  krechert <krechert>
-
-	* config/install-sh: remove to be added again with exec flag
-
-2007-10-16  krechert <krechert>
-
-	* config/install-sh: dummy change to set executable flag
-
-2007-10-16  krechert <krechert>
-
-	* test/actionscript/delete.as, test/actionscript/delete.ref: added
-	more DELETE cases
-
-2007-10-16  krechert <krechert>
-
-	* src/actioncompiler/Makefile.am, src/actioncompiler/compile.c,
-	src/actioncompiler/compile.h, src/actioncompiler/swf5compiler.y: 
-	bugfix: compile 	delete s.length; 	delete _root.map.ways[wayselected].path[x][4]; clean BUILT_FILES (e.g. *.tab*) with make clean simplify DELETE
-	(less shift/reduce conflicts) DELETE is a void function
-
-2007-10-15  krechert <krechert>
-
-	* util/makeswf.c: add bison debugging support in makeswf
-
-2007-10-14  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: bugfix: trace(loadMovieNum)
-	fails closes bug #27 in libming.net bugzilla
-
-2007-10-12  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/font.h, src/blocks/ttffont.c,
-	src/blocks/ttffont.h, src/ming.h.in: experimental TTC (TrueType
-	Collection) font support.  will upload a testcase if i find a ttc
-	file with suitable license. Simple testcase looks like: int main() {         int count, i;         SWFFont *fonts;         SWFFontCollection collection;         collection = newSWFFontCollection_fromFile("test.ttc");         fonts = SWFFontCollection_getFonts(collection, &count);         for(i = 0; i < count; i++)         {                 SWFFont font = fonts[i];                 printf("name: %s, glyphs %i\n",                         SWFFont_getName(font),
-	        SWFFont_getGlyphCount(font)); }         return 0; }
-
-2007-10-12  krechert <krechert>
-
-	* util/action.c: fix warning
-
-2007-10-10  krechert <krechert>
-
-	* test/Button/test01.ref: update AS testcases
-
-2007-10-10  krechert <krechert>
-
-	* test/Bitmap/test01.ref: testcase was broken
-
-2007-10-10  krechert <krechert>
-
-	* test/Text/test02.ref, test/TextField/test01.ref,
-	test/TextField/test02.ref: use wide offset for some fonts
-
-2007-10-10  krechert <krechert>
-
-	* test/FillStyle/test02.ref, test/FillStyle/test03.ref,
-	test/FillStyle/test04.ref, test/FillStyle/test05.ref,
-	test/Font/test02.ref, test/MovieClip/test01.ref,
-	test/MovieClip/test02.ref, test/MovieClip/test03.ref,
-	test/Video/test03.ref, test/actionscript/ASM0.ref,
-	test/actionscript/ASM1.ref, test/actionscript/ASM_all.ref,
-	test/actionscript/ASM_extend.ref, test/actionscript/ASM_push.ref,
-	test/actionscript/ASM_targetPath.ref,
-	test/actionscript/Function.ref,
-	test/actionscript/FunctionInLoop.ref,
-	test/actionscript/GotoFrame.ref, test/actionscript/TryCatch.ref,
-	test/actionscript/delete.ref, test/actionscript/forin.ref,
-	test/actionscript/logor.ref, test/actionscript/newline_comment.ref,
-	test/actionscript/newline_crlf.ref,
-	test/actionscript/targetPath.ref: update AS testcases
-
-2007-10-10  krechert <krechert>
-
-	* test/Movie/add/test01.ref, test/Movie/nextFrame/test01.ref,
-	test/Movie/nextFrame/test02.ref: update AS testcases
-
-2007-10-10  strk <strk>
-
-	* util/action.c: Include global offset near each action name. Good
-	enough for branch offset computation, not good for matching with
-	gnash -va output (which sues local offsets). refs containing actions
-	will need to be updated.
-
-2007-10-09  krechert <krechert>
-
-	* NEWS: update
-
-2007-10-09  krechert <krechert>
-
-	* src/blocks/fillstyle.c: fixed regression
-
-2007-10-09  krechert <krechert>
-
-	* src/blocks/font.c: bugfix: abort font processing if a character
-	can not be resolved. Until now the code produced an integer overflow
-
-2007-10-09  krechert <krechert>
-
-	* src/blocks/ttffont.c: SWF_FONT_WIDEOFFSETS flag was never set.
-	necessary for big fonts.  for now a very simple estimation is done.
-
-2007-10-08  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/forin.as,
-	test/actionscript/forin.ref: add for(i in o) continue testcase
-
-2007-10-08  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.y: fix infinite loop with for(x in
-	o) continue; closes bugzilla bug #13
-
-2007-10-08  krechert <krechert>
-
-	* src/blocks/ttffont.c: fix infinite loop in readGlyphs error
-	handler
-
-2007-10-08  krechert <krechert>
-
-	* src/ming.h.in: fix MSVC compile second try
-
-2007-10-08  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y: GetURL Method must be a string or
-	empty
-
-2007-10-08  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.y: fix loadVariables: set bit for
-	target string
-
-2007-10-05  peterdd <peterdd>
-
-	* perl_ext/t/movieclip.t, perl_ext/t/sprite.t: another roundtrip of
-	removing the sprite terminology
-
-2007-10-05  krechert <krechert>
-
-	* test/BrowserFont/test01.ref, test/Button/test01.ref,
-	test/FillStyle/test01.ref, test/FillStyle/test02.ref,
-	test/FillStyle/test03.ref, test/FillStyle/test04.ref,
-	test/FillStyle/test05.ref, test/Font/test01.ref,
-	test/Font/test02.ref, test/Gradient/test01.ref,
-	test/Gradient/test02.ref, test/Gradient/test03.ref,
-	test/Gradient/test04.ref, test/Gradient/test05.ref,
-	test/Gradient/test06.ref, test/LineStyle/test01.ref,
-	test/LineStyle/test02.ref, test/MovieClip/test01.ref,
-	test/MovieClip/test03.ref, test/PrebuiltClip/test01.ref,
-	test/Shape/test01.ref, test/Text/test01.ref, test/Text/test02.ref,
-	test/TextField/test01.ref, test/TextField/test02.ref,
-	test/Video/test01.ref, test/Video/test02.ref, test/Video/test03.ref: 
-	update testcase due matrix output changes
-
-2007-10-05  krechert <krechert>
-
-	* test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref,
-	test/Morph/test01.ref, test/Morph/test02.ref,
-	test/Movie/add/test02.ref, test/Movie/assignSymbol/test01.ref,
-	test/Movie/replace/test01.ref, test/Movie/replace/test02.ref: update
-	testcase due matrix output changes
-
-2007-10-05  krechert <krechert>
-
-	* mingpp.h: update button methods
-
-2007-10-05  krechert <krechert>
-
-	* util/outputfdb.c, util/parser.c, util/swftypes.h: make
-	SWFParserstruct a real struxt add offset and length to
-	SWF_Parserstruct
-
-2007-10-05  peterdd <peterdd>
-
-	* util/outputtxt.c: added matrix and cxform output of buttonrecords,
-	added definesound output
-
-2007-10-05  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: do not handle unterminated
-	strings as emty strings. throw a syntax error instead!
-
-2007-10-02  krechert <krechert>
-
-	* configure.in, test/Button/.cvsignore, test/Button/Makefile.am,
-	test/Button/TestList, test/Button/test01-cxx.C,
-	test/Button/test01.c, test/Button/test01.ref, test/Makefile.am: test
-	SWFBUTTON_MOUSE[UP|DOWN]
-
-2007-10-02  krechert <krechert>
-
-	* src/ming.h.in: workaround for MSVC
-
-2007-09-30  peterdd <peterdd>
-
-	* perl_ext/SWF/Constants.pm: add new constants for SWF::FILL
-
-2007-09-30  peterdd <peterdd>
-
-	* src/blocks/shape.c, src/ming.h.in: fix typo for constant
-	SWF_SHAPE_USENONSCALINGSTROKES
-
-2007-09-30  peterdd <peterdd>
-
-	* perl_ext/Constants.xs: sync with ming.h
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/CREDITS, perl_ext/TODO: write something current to the
-	TODO
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/CREDITS, perl_ext/Changes: wrote something to the
-	unmaintained Changes and CREDITS so cpan.org users can get a clue
-	where the these infos are stored
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/.cvsignore: .cvsignore update META.yml
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/.cvsignore: .cvsignore update
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/SWF/MovieClip.pm, perl_ext/SWF/Sprite.pm: removed
-	Sprite.pm, now only MovieClip exists in terminology for users
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/MANIFEST, perl_ext/Makefile.am, perl_ext/SWF.pm,
-	perl_ext/SWF/Constants.pm, perl_ext/SWF/DisplayItem.pm,
-	perl_ext/SWF/Morph.pm, perl_ext/SWF/Movie.pm,
-	perl_ext/SWF/Shape.pm, perl_ext/SWF/TextField.pm,
-	perl_ext/SWF/VideoStream.pm: finally want get rid of
-	MovieClip-Sprite confusion
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/SWF/PrebuiltClip.pm: stub for the PrebuiltClip module
-
-2007-09-29  peterdd <peterdd>
-
-	* perl_ext/SWF.pm: update of SWF.pm
-
-2007-09-28  peterdd <peterdd>
-
-	* perl_ext/Makefile.PL: fix path to libming.a, brought a variable
-	test back to life
-
-2007-09-28  peterdd <peterdd>
-
-	* perl_ext/MANIFEST: added SWF/VideoStream.pm
-
-2007-09-28  peterdd <peterdd>
-
-	* perl_ext/MANIFEST: updated MANIFEST, added SWF/PrebuiltClip.pm
-
-2007-09-28  strk <strk>
-
-	* perl_ext/Makefile.PL: Include SWF and swf_util in LDFROM
-
-2007-09-28  strk <strk>
-
-	* perl_ext/Makefile.PL: Have SWF.xs linked to the build tree (like
-	is done for Makefile.PL) and build from there. This is a workaround
-	to the fact I dunno how to make INCLUDE in an .xs know where to go
-	find the file to be included: it seems it's always searched in the
-	same dir the source code is. Any cleanup of this is highly welcome.
-
-2007-09-28  anderson <anderson>
-
-	* docs/libming/SWFButtonRecord_addFilter.html,
-	docs/libming/SWFButtonRecord_setBlendMode.html,
-	docs/libming/SWFButton_addAction.html,
-	docs/libming/SWFButton_addCharacter.html,
-	docs/libming/SWFButton_addShape.html,
-	docs/libming/SWFButton_removeScalingGrid.html,
-	docs/libming/SWFButton_setScalingGrid.html,
-	docs/libming/SWFMovieClip_removeScalingGrid.html,
-	docs/libming/SWFMovieClip_setScalingGrid.html,
-	docs/libming/SWFMovie_addMetadata.html,
-	docs/libming/SWFMovie_add_internal.html,
-	docs/libming/SWFMovie_assignSymbol.html,
-	docs/libming/SWFMovie_defineScene.html,
-	docs/libming/SWFMovie_replace_internal.html,
-	docs/libming/SWFMovie_setNetworkAccess.html,
-	docs/libming/SWFMovie_setScriptLimits.html,
-	docs/libming/SWFMovie_setTabIndex.html,
-	docs/libming/SWFShape_getVersion.html,
-	docs/libming/SWFShape_setLine.html,
-	docs/libming/SWFShape_setLine2.html,
-	docs/libming/SWFShape_setLine2Filled.html,
-	docs/libming/SWFShape_setLineStyle2_internal.html,
-	docs/libming/SWFShape_setLineStyle2filled_internal.html,
-	docs/libming/SWFShape_setLineStyle_internal.html,
-	docs/libming/SWFShape_setRenderHintingFlags.html,
-	docs/libming/index.html,
-	docs/libming/writeSWFButtonSoundToMethod.html: Add more
-	documentation
-
-2007-09-28  strk <strk>
-
-	* perl_ext/Makefile.PL: We're almost there (I think). Next problem
-	is having SWF.xs find Boot.xsh (which is in the build tree).
-
-2007-09-28  anderson <anderson>
-
-	* src/Makefile.am: Remove problematic files from the list to scan
-	for docs
-
-2007-09-28  strk <strk>
-
-	* perl_ext/Makefile.PL: Add SWF and swf_util as extension names.
-	Seems to fix 'make check' too..
-
-2007-09-28  krechert <krechert>
-
-	* src/blocks/error.c: output warnings and error messages to stderr
-	not stdout. this should make life easier for CGI devs.
-
-2007-09-28  strk <strk>
-
-	* perl_ext/Makefile.PL: Fix build of othe perl extension in a
-	separate dir
-
-2007-09-28  strk <strk>
-
-	* perl_ext/Makefile.am: Correctly set the 'builddir' environment
-	variable when creating Makefile.perl
-
-2007-09-28  strk <strk>
-
-	* docs/man/makeswf.1: Document how to disable compression (-c -1)
-
-2007-09-27  krechert <krechert>
-
-	* test/TextField/test01.ref, test/TextField/test02.ref: update
-	testcase: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Bitmap/test01.ref, test/BrowserFont/test01.ref,
-	test/PrebuiltClip/test01.ref: update testcases: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/FillStyle/test01.ref, test/FillStyle/test02.ref,
-	test/FillStyle/test03.ref, test/FillStyle/test04.ref,
-	test/FillStyle/test05.ref, test/Font/test01.ref,
-	test/Font/test02.ref, test/Gradient/test01.ref,
-	test/Gradient/test02.ref, test/Gradient/test03.ref,
-	test/Gradient/test04.ref, test/Gradient/test05.ref,
-	test/Gradient/test06.ref, test/LineStyle/test01.ref,
-	test/LineStyle/test02.ref, test/MovieClip/test01.ref,
-	test/MovieClip/test02.ref, test/MovieClip/test03.ref,
-	test/Shape/test01.ref, test/Text/test01.ref, test/Text/test02.ref,
-	test/Video/test01.ref, test/Video/test02.ref, test/Video/test03.ref: 
-	update testcases: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref,
-	test/Morph/test01.ref, test/Morph/test02.ref,
-	test/actionscript/ASM0.ref, test/actionscript/ASM1.ref,
-	test/actionscript/ASM_all.ref, test/actionscript/ASM_extend.ref,
-	test/actionscript/ASM_push.ref,
-	test/actionscript/ASM_targetPath.ref,
-	test/actionscript/Function.ref,
-	test/actionscript/FunctionInLoop.ref,
-	test/actionscript/GotoFrame.ref, test/actionscript/TryCatch.ref,
-	test/actionscript/delete.ref, test/actionscript/logor.ref,
-	test/actionscript/newline_comment.ref,
-	test/actionscript/newline_crlf.ref,
-	test/actionscript/targetPath.ref: update testcases: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/addMetadata/test01.ref,
-	test/Movie/assignSymbol/test01.ref,
-	test/Movie/defineScene/test01.ref, test/Movie/nextFrame/test01.c,
-	test/Movie/nextFrame/test02.c, test/Movie/replace/test01.ref,
-	test/Movie/replace/test02.ref,
-	test/Movie/setNetworkAccess/test01.ref,
-	test/Movie/setScriptLimits/test01.ref,
-	test/Movie/setSoundStream/test01.ref,
-	test/Movie/setSoundStream/test02.ref,
-	test/Movie/setTabIndex/test01.ref: update testcases: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/Rate/test01.c: update testcase: set bgcolor
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/Protect/test01.c, test/Movie/Protect/test02.c: update
-	testcase: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/NumFrames/test01.c: set bgColor to c-testcase
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/new/test01.c, test/Movie/new/test02.c,
-	test/Movie/new/test03.c, test/Movie/new/test04.c,
-	test/Movie/new/test05.c, test/Movie/new/test06.ref: update and unify
-	testcases
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/FrameLabel/test01.c: update C-testcase: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/Dimension/test01.c: c-testcase: set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* test/Movie/add/test01.c, test/Movie/add/test02.c: update
-	c-testcases. all other bindings set bgColor
-
-2007-09-27  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/ming.h.in: add missing bitmap
-	fillstyles
-
-2007-09-27  krechert <krechert>
-
-	* src/movie.c: don't force bgColor
-
-2007-09-27  krechert <krechert>
-
-	* py_ext/ming.py: python update: SWFText(2) addUTFStrings.
-	Contributed by y-fujii
-
-2007-09-27  krechert <krechert>
-
-	* py_ext/ming.py: implemented SWFSoundStream object closes SF bug
-	#1793128
-
-2007-09-27  krechert <krechert>
-
-	* configure.in: YACC and LEX was not checked properly closes SF bug
-	#1802828
-
-2007-09-27  krechert <krechert>
-
-	* perl_ext/Makefile.PL: Perl module needs to be linked with
-	-lfreetype
-
-2007-09-26  krechert <krechert>
-
-	* php_ext/ming.c: added workaround to support SWFSprite and
-	SWFMovieclip objects closes SF bug #1799388
-
-2007-09-26  krechert <krechert>
-
-	* perl_ext/Makefile.PL, perl_ext/PrebuiltClip.xs,
-	perl_ext/perl_swf.h, perl_ext/typemap: added PrebuiltClip to
-	perl_ext. Thanks to James Austin.  closes libming.net bug #35
-
-2007-09-26  krechert <krechert>
-
-	* perl_ext/SoundInstance.xs: added addEnvelope to perl_ext closes SF
-	bug #1799410
-
-2007-09-25  krechert <krechert>
-
-	* configure.in, test/Makefile.am, test/PrebuiltClip/.cvsignore,
-	test/PrebuiltClip/Makefile.am, test/PrebuiltClip/TestList,
-	test/PrebuiltClip/test01-cxx.C, test/PrebuiltClip/test01.c,
-	test/PrebuiltClip/test01.ref: testcase for prebuiltclip
-
-2007-09-25  krechert <krechert>
-
-	* src/blocks/fromswf.c: Bugfix: SF #1799389 Importing empty prebuilt
-	clip causes sprite numbering error
-
-2007-09-24  strk <strk>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: Tag
-	NAMECHARACTER (40) parsed based on how swfc (from SWFTools) writes
-	it.
-
-2007-09-24  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: parse
-	SWF_NAMECHARACTER
-
-2007-09-21  krechert <krechert>
-
-	* src/blocks/bitmap.c: added workaround for compressBound (added in
-	zlib 1.2.x)
-
-2007-09-21  krechert <krechert>
-
-	* configure.in: removed compiler flag, since some older compilers do
-	not support this
-
-2007-09-19  anderson <anderson>
-
-	* configure.in: One more place to fix the version
-
-2007-09-18  strk <strk>
-
-	* NEWS, configure.in: Set versions to 0.4.0.beta4, and keep libtool
-	versioning to 4:4:0
-
-2007-09-18  anderson <anderson>
-
-	* ChangeLog, NEWS, configure.in: Final changes for 0.4.0-rc1
-
-2007-09-18  krechert <krechert>
-
-	* NEWS: update
-
-2007-09-18  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/shape_util.c: fill matrix is set
-	within fillstyle
-
-2007-09-18  krechert <krechert>
-
-	* src/ming.h.in: remove deprecated tag for new/destroySWFFill
-
-2007-09-17  strk <strk>
-
-	* test/MovieClip/test01.ref, test/MovieClip/test02.ref,
-	test/MovieClip/test03.ref, util/outputtxt.c: Include character id in
-	print of init actions. Updated refs accordingly.
-
-2007-09-17  anderson <anderson>
-
-	* ChangeLog: Sync in last changes for 0.4.0.rc1
-
-2007-09-17  krechert <krechert>
-
-	* mingpp.h: expose setMatrix method
-
-2007-09-17  strk <strk>
-
-	* test/FillStyle/Makefile.am: Add missing file in the clean list
-
-2007-09-17  strk <strk>
-
-	* test/BrowserFont/Makefile.am, test/Filter/Makefile.am,
-	test/Gradient/Makefile.am, test/LineStyle/Makefile.am,
-	test/Morph/Makefile.am, test/Movie/defineScene/Makefile.am,
-	test/MovieClip/Makefile.am, test/Shape/Makefile.am,
-	test/actionscript/Makefile.am: Distribute required files for 'make
-	check' to work
-
-2007-09-17  strk <strk>
-
-	* test/TextField/test01-cxx.C, test/TextField/test01.c,
-	test/TextField/test02-cxx.C, test/TextField/test02.c: Use MEDIADIR,
-	be nice on errors
-
-2007-09-17  strk <strk>
-
-	* test/Bitmap/test01-cxx.C, test/Bitmap/test01.c: Use MEDIADIR
-	macro, be nice on errors
-
-2007-09-17  strk <strk>
-
-	* test/Bitmap/Makefile.am, test/TextField/Makefile.am: Provide
-	MEDIADIR, distribute refs and TestList
-
-2007-09-17  strk <strk>
-
-	* test/Text/test01-cxx.C, test/Text/test01.c,
-	test/Text/test02-cxx.C, test/Text/test02.c: Use MEDIADIR macro, try
-	to be nicer on error
-
-2007-09-17  strk <strk>
-
-	* test/Text/Makefile.am: Provide MEDIADIR macro, distribute TestList
-	and refs
-
-2007-09-17  strk <strk>
-
-	* test/Font/test01-cxx.C, test/Font/test01.c,
-	test/Font/test02-cxx.C, test/Font/test02.c: Use MEDIADIR macro, try
-	to be more friendly when something goes wrong
-
-2007-09-17  strk <strk>
-
-	* test/Font/Makefile.am: Distribute TestList and refs, provide
-	MEDIADIR macro
-
-2007-09-17  strk <strk>
-
-	* test/FillStyle/test02-cxx.C, test/FillStyle/test02.c,
-	test/FillStyle/test03-cxx.C, test/FillStyle/test03.c,
-	test/FillStyle/test04-cxx.C, test/FillStyle/test04.c,
-	test/FillStyle/test05-cxx.C, test/FillStyle/test05.c: Use MEDIADIR,
-	print errors and return a proper error code on errors.
-
-2007-09-17  strk <strk>
-
-	* test/FillStyle/Makefile.am: Provide a MEDIADIR macro, distribute
-	TestList and refs
-
-2007-09-17  strk <strk>
-
-	* test/Video/test01.c: Print an error message if anything goes wrong
-	(well, almost)
-
-2007-09-17  strk <strk>
-
-	* test/Video/Makefile.am: Oops, wrong MEDIADIR
-
-2007-09-17  strk <strk>
-
-	* test/Movie/assignSymbol/test01.c: print an error message if
-	creation of SWF font from file failed
-
-2007-09-17  strk <strk>
-
-	* test/Video/test01-cxx.C, test/Video/test01.c: Use MEDIADIR macro
-	to find files in media directory
-
-2007-09-17  strk <strk>
-
-	* test/Video/Makefile.am: Provide MEDIADIR macro, distribute
-	TestList and refs
-
-2007-09-17  strk <strk>
-
-	* test/Movie/assignSymbol/test01-cxx.C,
-	test/Movie/assignSymbol/test01.c: Use the MEDIADIR macro
-
-2007-09-17  strk <strk>
-
-	* test/Movie/assignSymbol/Makefile.am: Provide a MEDIADIR macro
-
-2007-09-17  strk <strk>
-
-	* test/Movie/assignSymbol/Makefile.am: Distribute refs and TestList
-
-2007-09-17  strk <strk>
-
-	* test/Movie/setTabIndex/Makefile.am: Distribute TestList and
-	test01.ref
-
-2007-09-17  strk <strk>
-
-	* Makefile.am: Properly link LICENSE from source tree, and don't
-	fail if a COPYING file is already there
-
-2007-09-17  strk <strk>
-
-	* test/Movie/setSoundStream/test01-cxx.C,
-	test/Movie/setSoundStream/test02-cxx.C: Use MEDIADIR macro to find
-	files in the media directory
-
-2007-09-17  strk <strk>
-
-	* test/Movie/setSoundStream/test01.c,
-	test/Movie/setSoundStream/test02.c: Use MEDIADIR macro to find files
-	in the media directory. Exit with an error if anything goes wrong.
-
-2007-09-17  strk <strk>
-
-	* test/Movie/setSoundStream/Makefile.am: Define MEDIADIR to point to
-	the media directory in the source tree (for building in a separate
-	dir)
-
-2007-09-17  strk <strk>
-
-	* configure.in: Create Makefile in test/Media dir
-
-2007-09-17  anderson <anderson>
-
-	* test/Makefile.am, test/Media/Makefile.am: Try to add the Media
-	directory so the test can run from the distribution
-
-2007-09-14  anderson <anderson>
-
-	* src/Makefile.am: include abctypes.h in the distribution
-
-2007-09-14  anderson <anderson>
-
-	* test/Movie/addMetadata/Makefile.am: make dist fix
-
-2007-09-14  anderson <anderson>
-
-	* test/Movie/setSoundStream/Makefile.am: Include the *.ref &
-	TestList files in the distribution
-
-2007-09-14  anderson <anderson>
-
-	* test/Movie/addMetadata/Makefile.am: The php & pl file haven't been
-	created yet
-
-2007-09-14  anderson <anderson>
-
-	* macros/Makefile.am: typo
-
-2007-09-09  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/defineScene/.cvsignore,
-	test/Movie/defineScene/Makefile.am,
-	test/Movie/defineScene/TestList,
-	test/Movie/defineScene/test01-cxx.C,
-	test/Movie/defineScene/test01.c, test/Movie/defineScene/test01.ref: 
-	defineScene testcase
-
-2007-09-09  krechert <krechert>
-
-	* util/outputtxt.c: output SWF_DEFINESCENEANDFRAMEDATA
-
-2007-09-09  krechert <krechert>
-
-	* mingpp.h, src/blocks/scenedata.h, src/ming.h.in, src/movie.c: 
-	integrade defineSceneData
-
-2007-09-09  krechert <krechert>
-
-	* src/blocks/output.c: write encoded UInt32: handle special case '0'
-
-2007-09-09  krechert <krechert>
-
-	* src/blocks/symbolclass.h, src/movie.c: destroy symbolClass object
-	if present
-
-2007-09-07  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/scenedata.c,
-	src/blocks/scenedata.h, src/ming.h.in: added SWF9 scene data support
-
-2007-09-07  krechert <krechert>
-
-	* src/blocks/binary.c: remove unused variable
-
-2007-09-05  anderson <anderson>
-
-	* test/Movie/assignSymbol/Makefile.am: Add a missing makefile
-
-2007-08-27  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/binary.c, src/ming.h.in: SWF9:
-	SWFBinaryData
-
-2007-08-27  krechert <krechert>
-
-	* mingpp.h: added assignSymbol method
-
-2007-08-27  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/assignSymbol/.cvsignore,
-	test/Movie/assignSymbol/TestList,
-	test/Movie/assignSymbol/test01-cxx.C,
-	test/Movie/assignSymbol/test01.c,
-	test/Movie/assignSymbol/test01.ref: assignSymbol testcase
-
-2007-08-27  krechert <krechert>
-
-	* test/BrowserFont/.cvsignore: added .cvsignore
-
-2007-08-27  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/symbolclass.c,
-	src/blocks/symbolclass.h, src/ming.h.in, src/movie.c: SWF9:
-	SWFSymbolClass
-
-2007-08-27  krechert <krechert>
-
-	* src/Makefile.am, src/blocks/font.c, src/blocks/shape.c,
-	src/blocks/shape.h, src/compat.c, src/shape_util.c: added compat
-	file: temporary place to move external functions to internal
-	functions. After 1-2 stable releases the compat functions will be
-	removed.
-
-2007-08-27  krechert <krechert>
-
-	* src/ming.c: allow SWF 9 as movie version
-
-2007-08-27  krechert <krechert>
-
-	* src/blocks/output.c, src/blocks/output.h: write SWF9 variable
-	length encoded int
-
-2007-08-26  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/ttffont.c, src/blocks/ttffont.h,
-	src/font_util.c, src/ming.h.in: font_util:  Ming_loadFont use
-	generic font loader fix some warnings
-
-2007-08-26  krechert <krechert>
-
-	* src/blocks/fdbfont.c, src/blocks/fdbfont.h, src/blocks/font.c: 
-	remove warinig for internal usage
-
-2007-08-26  krechert <krechert>
-
-	* util/outputscript.c: remove warning
-
-2007-08-26  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: define, parse and
-	output DefineFontName
-
-2007-08-26  krechert <krechert>
-
-	* src/blocks/blocktypes.h: add missing SWF9 tag
-
-2007-08-26  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: parse, output,
-	define StartSound2
-
-2007-08-26  krechert <krechert>
-
-	* src/blocks/blocktypes.h: add StartSound2 BlockType
-
-2007-08-26  krechert <krechert>
-
-	* test/BrowserFont/test01.ref, test/TextField/test01.ref,
-	test/TextField/test02.ref: update: SWF9 introduced new fields
-
-2007-08-26  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: parse and update
-	SWF9 updates
-
-2007-08-26  krechert <krechert>
-
-	* test/FillStyle/.cvsignore: update
-
-2007-08-26  krechert <krechert>
-
-	* test/Bitmap/test01.ref, test/FillStyle/test01.ref,
-	test/FillStyle/test02.ref, test/FillStyle/test03.ref,
-	test/FillStyle/test04.ref, test/FillStyle/test05.ref,
-	test/Gradient/test01.ref, test/Gradient/test02.ref,
-	test/Gradient/test03.ref, test/Gradient/test04.ref,
-	test/Gradient/test05.ref, test/Gradient/test06.ref,
-	test/LineStyle/test01.ref, test/LineStyle/test02.ref,
-	test/Morph/test01.ref, test/Morph/test02.ref, test/Shape/test01.ref: 
-	update due FileAttributes changed
-
-2007-08-26  krechert <krechert>
-
-	* test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref: update since
-	PlaceObject3 has more fields now
-
-2007-08-26  krechert <krechert>
-
-	* test/Movie/addMetadata/test01.ref, test/Movie/new/test06.ref,
-	test/Movie/replace/test01.ref, test/Movie/replace/test02.ref,
-	test/Movie/setNetworkAccess/test01.ref,
-	test/Movie/setScriptLimits/test01.ref: update due FileAttributes
-	changed
-
-2007-08-25  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: update
-	PlaceObject3 structure
-
-2007-08-25  krechert <krechert>
-
-	* src/blocks/fileattrs.h: add hasABC flag support
-
-2007-08-25  krechert <krechert>
-
-	* src/blocks/fileattrs.c: add actionscrip3 flag
-
-2007-08-25  krechert <krechert>
-
-	* NEWS: update
-
-2007-08-25  krechert <krechert>
-
-	* src/blocks/soundinstance.c: set envelope flag not loop
-
-2007-08-25  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c: parse and output AS3 flag in
-	FileAttributs structure
-
-2007-08-25  krechert <krechert>
-
-	* util/outputtxt.c: complete abcFile output
-
-2007-08-25  krechert <krechert>
-
-	* util/outputtxt.c: output abcfile, constants and methods
-
-2007-08-25  krechert <krechert>
-
-	* util/parser.c: simplify multiname parser
-
-2007-08-24  krechert <krechert>
-
-	* util/parser.c, util/read.c, util/swftypes.h: refinements and
-	bugfixes
-
-2007-08-23  krechert <krechert>
-
-	* src/blocks/soundinstance.c, src/ming.h.in: added missing
-	addEnvelopeMethod. Noticed by peterdd <flashfee at gmx.net>
-
-2007-08-23  krechert <krechert>
-
-	* src/blocks/button.c, src/ming.h.in: fix typo from peterdd
-	<flashfee at gmx.net>
-
-2007-08-23  krechert <krechert>
-
-	* test/actionscript/ASM1.ref, test/actionscript/Makefile.am,
-	test/actionscript/TryCatch.as, test/actionscript/TryCatch.ref: added
-	TryCatch testcase
-
-2007-08-23  krechert <krechert>
-
-	* util/action.c: output try block
-
-2007-08-22  strk <strk>
-
-	* ChangeLog: updated (make Changelog)
-
-2007-08-20  krechert <krechert>
-
-	* test/MovieClip/.cvsignore, test/MovieClip/Makefile.am,
-	test/MovieClip/TestList, test/MovieClip/test02-cxx.C,
-	test/MovieClip/test02.c, test/MovieClip/test02.ref,
-	test/MovieClip/test03-cxx.C, test/MovieClip/test03.c,
-	test/MovieClip/test03.ref: testcases for movieclip/initaction export
-	problems
-
-2007-08-20  krechert <krechert>
-
-	* src/movie.c: workaround for initAction / scalingGrid blocks added
-	to an exported and not placed  movieclip.
-
-2007-08-20  krechert <krechert>
-
-	* mingpp.h: SWFMovie_addExport for C++
-
-2007-08-19  krechert <krechert>
-
-	* test/Text/.cvsignore, test/Text/Makefile.am, test/Text/TestList,
-	test/Text/test02-cxx.C, test/Text/test02.c, test/Text/test02.ref: 
-	added static text testcase with mixed font style
-
-2007-08-18  krechert <krechert>
-
-	* util/parser.c, util/read.c, util/read.h, util/swftypes.h: AS3
-	parser (initial version)
-
-2007-08-18  krechert <krechert>
-
-	* src/abctypes.h: change some constant names to avoid clashes
-
-2007-08-17  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/action.h, src/blocks/button.c,
-	src/blocks/placeobject.c: change SWFAction_getByteCode semantics: if
-	there was a compiler error the function returns NULL and a length of
-	-1.
-
-2007-08-17  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: ABC format types
-
-2007-08-17  krechert <krechert>
-
-	* src/abctypes.h: opcodes and defines for the ABC format (aka. AS3
-	bytecode)
-
-2007-08-16  krechert <krechert>
-
-	* configure.in: test/actionscript/Makefile.am:46: compiling
-	`ActionScriptTest.c' with per-target flags requires `AM_PROG_CC_C_O'
-	in `configure.in'
-
-2007-08-16  krechert <krechert>
-
-	* py_ext/ming_wrap.c: bugfix: #1370509 SWFFont.getStringWidth fails
-	with type error
-
-2007-08-16  krechert <krechert>
-
-	* src/blocks/text.c: don't segfault if querying an empty
-	text-object.
-
-2007-08-15  krechert <krechert>
-
-	* py_ext/ming_wrap.c, src/ming.h.in: use C99 prototypes (fixes
-	warnings with py_ext compile)
-
-2007-08-15  krechert <krechert>
-
-	* py_ext/ming_wrap.c: remove some compiler warnings
-
-2007-08-15  krechert <krechert>
-
-	* py_ext/ming_wrap.c: remove warning
-
-2007-08-15  krechert <krechert>
-
-	* py_ext/Makefile.am: Python/SWIG wrapper needs -fno-strict-aliasing
-	CFLAG to avoid a lot of warnings.
-
-2007-08-15  krechert <krechert>
-
-	* php_ext/ming.c: readded accidently removed line
-
-2007-08-15  krechert <krechert>
-
-	* ming.i, perl_ext/Font.xs, php_ext/ming.c: remove call to obsolete
-	SWFFont_getShape() method
-
-2007-08-15  krechert <krechert>
-
-	* src/ming.h.in: remove prototype for obsolete methode
-	SWFFont_getShape()
-
-2007-08-15  krechert <krechert>
-
-	* py_ext/ming_wrap.c, py_ext/mingc.py: remove call to obsolete
-	SWFFon_getShape() method
-
-2007-08-15  krechert <krechert>
-
-	* src/ming.h.in: wrong blend mode enumeration
-
-2007-08-15  krechert <krechert>
-
-	* src/ming.h.in: wrong enumeration for blend modes. (patch by
-	Benjamin Otte)
-
-2007-08-15  krechert <krechert>
-
-	* util/outputtxt.c: added missing include
-
-2007-08-15  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: add duplicateMovieClip and
-	removeMovieClip fix case for some identifiers patch by Benjamin
-	Otte.
-
-2007-08-14  krechert <krechert>
-
-	* src/blocks/error.h: Undefined reference to ___STRING (cygwin).
-	submitted by James A. <viper.xz at gmail.com>
-
-2007-08-14  krechert <krechert>
-
-	* util/read.h: add missing declaration
-
-2007-08-14  krechert <krechert>
-
-	* src/blocks/sprite.c: allow PlaceObject3 in sprites. patch by
-	Benjamin Otte
-
-2007-08-14  krechert <krechert>
-
-	* src/blocks/bitmap.c, src/blocks/dbl.c, src/ming.h.in: create
-	bitmaps from raw data introduced SWFRawImgFmt and SWFBitmapFmt
-
-2007-08-13  krechert <krechert>
-
-	* perl_ext/Constants.xs, php_ext/ming.c, src/ming.h.in: added
-	missing blend mode (noticed by Benjamin Otte)
-
-2007-08-13  krechert <krechert>
-
-	* src/blocks/dbl.c, src/blocks/dbl.h: remove unnecessary USE_*
-	condition (patch by Benjamin Otte)
-
-2007-08-13  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: parse SWF9 tags
-	parse SWFSERIALNUMBER
-
-2007-08-13  krechert <krechert>
-
-	* src/blocks/blocktypes.h: Added SWF 9 tags SWF_SERIALNUMBER is
-	actually useb by flex.
-
-2007-08-13  krechert <krechert>
-
-	* util/read.c, util/read.h: Read encoded integer with variable byte
-	count. If hi-bit is set another byte follows. Each byte contributes
-	7 bits to the resulting value. A maximum of 5 bytes is allowed.
-
-2007-08-02  strk <strk>
-
-	* ChangeLog: updated (make Changelog)
-
-2007-07-30  krechert <krechert>
-
-	* src/blocks/action.c, src/ming.h.in: get Action bytecode
-
-2007-07-22  krechert <krechert>
-
-	* src/blocks/shape.c, src/fill.c: bugfix: shapes keep their
-	fill-list unique. improved handling of situations when an equal fill
-	is detected.
-
-2007-07-19  krechert <krechert>
-
-	* configure.in, test/Makefile.am, test/TextField/.cvsignore,
-	test/TextField/Makefile.am, test/TextField/TestList,
-	test/TextField/test01-cxx.C, test/TextField/test01.c,
-	test/TextField/test01.ref, test/TextField/test02-cxx.C,
-	test/TextField/test02.c, test/TextField/test02.ref: textfield tests
-
-2007-07-19  krechert <krechert>
-
-	* test/BrowserFont/test01.ref: update ref. textfield flags have
-	changed
-
-2007-07-19  krechert <krechert>
-
-	* test/Font/test02.ref: update font ref. layout flag is set by
-	default now
-
-2007-07-19  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/textfield.c, src/ming.h.in: 
-	SWFFontCharacter_addAllChars() adds uses all characters available in
-	the embedded font.  textfields use the feature if an embedded font
-	is used and readonly flags isn't set.
-
-2007-07-19  krechert <krechert>
-
-	* src/blocks/ttffont.c: fixed warnings
-
-2007-07-19  krechert <krechert>
-
-	* src/blocks/textfield.c, src/blocks/ttffont.c, src/ming.h.in: 
-	remove fixed textfield flags fixed bugs when handling embedded fonts
-	mark private texfield flags. these should not be set by users.
-
-2007-07-18  krechert <krechert>
-
-	* src/blocks/ttffont.c: freetype selects unicode charmap by default.
-
-2007-07-16  krechert <krechert>
-
-	* src/blocks/ttffont.c: ttf font descender should behave like its
-	fdb font equivalent
-
-2007-07-16  krechert <krechert>
-
-	* test/actionscript/Makefile.am, test/actionscript/newline_crlf.as,
-	test/actionscript/newline_crlf.ref: bug [ 993822 ] SWFAction doesn't
-	like \r\n seems to be invalid or outdated
-
-2007-07-16  krechert <krechert>
-
-	* configure.in: stop with error if YACC or LEX isn't found
-
-2007-07-16  krechert <krechert>
-
-	* configure.in, src/actioncompiler/Makefile.am: Inserted AC_PROG_LEX
-	again but removed $(LEXLIB) from libactioncompiler_la_LIBADD. If
-	AC_PROG_LEX isn't used (like it was the case till now) $(LEXLIB)
-	isn't set.
-
-2007-07-16  krechert <krechert>
-
-	* src/actioncompiler/Makefile.am: fix actioncompiler build: $(YACC)
-	uses bison -y by default. bisons yacc compat mode uses different
-	nameing conventions.
-
-2007-07-16  krechert <krechert>
-
-	* test/dotests.pl: ignore missing testcases for language bindings
-
-2007-07-16  krechert <krechert>
-
-	* src/blocks/protect.c: copy password. otherwise php test fails
-
-2007-07-16  krechert <krechert>
-
-	* php_ext/ming.c: use SWFFont_fromFile()
-
-2007-07-15  krechert <krechert>
-
-	* test/dotests.pl: ls gives error messages if python is not enabled
-
-2007-07-15  krechert <krechert>
-
-	* util/Makefile.am, util/gif2mask.c: alpha masks require zlib
-	compressed data. even with no compression zlib adds a header and crc
-	data.
-
-2007-07-15  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/gifdbl.c, src/blocks/pngdbl.c: 
-	dbl images require zlib compressed data. even with no compression
-	zlib adds a header and crc data.
-
-2007-07-15  krechert <krechert>
-
-	* util/Makefile.am, util/dbl2png.c, util/gif2dbl.c, util/png2dbl.c: 
-	dbl images require zlib compressed data. even with no compression
-	zlib add a header and crc data.
-
-2007-07-15  krechert <krechert>
-
-	* src/blocks/fdbfont.c: bugfix: fdbfont reader should return an
-	empty shape for space characters
-
-2007-07-15  krechert <krechert>
-
-	* test/Font/test01-cxx.C, test/Font/test01.c, test/Font/test01.ref,
-	test/Font/test02-cxx.C, test/Font/test02.c, test/Font/test02.ref: 
-	improved test string
-
-2007-07-15  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/parser.c,
-	util/parserdecl.h, util/swftypes.h: generate output for DEFINEBUTTON
-	and ENABLEDEBUGGER2 skip unknown or unimplemented tags
-
-2007-07-15  krechert <krechert>
-
-	* src/blocks/blocktypes.h: mark unknown, obsolete or undocumented
-	tags
-
-2007-07-14  krechert <krechert>
-
-	* php_ext/ming.c: fix compiler error allow tff fonts
-
-2007-07-13  strk <strk>
-
-	* ChangeLog: updated
-
-2007-07-13  strk <strk>
-
-	* src/actioncompiler/Makefile.am: Use $(YACC), not verbatim 'bison'
-
-2007-07-13  strk <strk>
-
-	* test/dotests.pl: Scan the build tree to find appropriate name of
-	directory for proper setting of PYTHONPATH
-
-2007-07-13  krechert <krechert>
-
-	* src/blocks/fromswf.c: bugfix: type might be uninitialized
-
-2007-07-13  krechert <krechert>
-
-	* configure.in, macros/Makefile.am, macros/python.m4: propper
-	python-dev checks
-
-2007-07-11  krechert <krechert>
-
-	* test/actionscript/Makefile.am,
-	test/actionscript/newline_comment.as,
-	test/actionscript/newline_comment.ref: tried to validate bug: [
-	1515113 ] \n in comments blows AS compiler
-
-2007-07-11  krechert <krechert>
-
-	* src/blocks/font.c: bugfix #1091659 In the function addCharToTable, I guess there's a problem: you do 'p
-	= findCodeValue(c, font->codeTable, 0, font->nGlyphs);' which
-	returns the index p of font->codeTable where the character c is. And
-	if c is not found, then it returns the index where to add it (that
-	is, at the end of font->codeTable).  Then, you make a test to really knows if the character is at the 'p'
-	position: 'if (font->codeTable != NULL && font->codeTable[p] == c)'
-	If it is found, the function returns. But this may be bad because as
-	codeTable has 'p' elements (that is, the last index is 'p-1'), you
-	try to read somewhere in the memory.  And thus, if the test comes
-	true, the function returns without inserting the new character.  I guess you can correct this by adding another test: 'if
-	(font->codeTable != NULL && p != font->nGlyphs && font->codeTable[p]
-	== c)'. Like that, the character is added.  Submitted by: T JuJu
-
-2007-07-10  krechert <krechert>
-
-	* src/blocks/fromswf.c: fileattributes and metadata should be unique
-	in a movie closes: http://bugs.libming.org/show_bug.cgi?id=23
-
-2007-07-10  krechert <krechert>
-
-	* src/blocks/ttffont.c, util/ttftofft.c: fix compiler warning
-
-2007-07-09  strk <strk>
-
-	* src/blocks/blocktypes.h: Add tag ids for SYMBOLCLASS and
-	DOABCDEFINE (SWF9)
-
-2007-07-09  krechert <krechert>
-
-	* configure.in, test/BrowserFont/Makefile.am,
-	test/BrowserFont/TestList, test/BrowserFont/test01-cxx.C,
-	test/BrowserFont/test01.c, test/BrowserFont/test01.ref,
-	test/Makefile.am: simple BrowserFont testcase
-
-2007-07-09  krechert <krechert>
-
-	* test/Font/.cvsignore: update .cvsignore
-
-2007-07-09  krechert <krechert>
-
-	* mingpp.h: make SWFBlock abstract use separate SWFBrowserFont class
-
-2007-07-09  krechert <krechert>
-
-	* php_ext/ming.c: use new internal api
-
-2007-07-06  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: Ming needs to autoconvert
-	big ints to double by Benjamin Otte <otte at gnome.org>
-
-2007-07-06  krechert <krechert>
-
-	* configure.in: warn for declaration after statement
-
-2007-07-06  krechert <krechert>
-
-	* src/blocks/browserfont.c, src/blocks/fdbfont.c, src/blocks/flv.c,
-	src/blocks/shape.c, src/blocks/videostream.c, src/displaylist.c,
-	src/movie.c, util/decompile.c, util/makeswf.c, util/outputtxt.c,
-	util/parser.c: fixed declaration after statement (C90) makes ming
-	compile on MSVC again
-
-2007-07-06  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.h: parse and output SWF8 font
-	extensions
-
-2007-07-05  krechert <krechert>
-
-	* test/Font/Makefile.am, test/Font/TestList,
-	test/Font/test01-cxx.C, test/Font/test01.c, test/Font/test01.ref,
-	test/Font/test02-cxx.C, test/Font/test02.c, test/Font/test02.ref,
-	test/Text/test01-cxx.C, test/Text/test01.c, test/Text/test01.ref: 
-	adapt testcases to new font api and font fixes
-
-2007-07-05  krechert <krechert>
-
-	* mingpp.h: remove wacky decision based on filenames.
-
-2007-07-05  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/ttffont.h, src/ming.h.in: automagic
-	detect font files. simplify public interface
-
-2007-07-05  krechert <krechert>
-
-	* src/blocks/fdbfont.c, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/shape.c, src/blocks/text.c, src/blocks/ttffont.c: use
-	real shape bounds no layout by default fixed shaperecord flags for
-	font glyphs
-
-2007-07-02  krechert <krechert>
-
-	* src/actioncompiler/swf5compiler.flex: fixed small c&p error
-
-2007-07-02  krechert <krechert>
-
-	* src/blocks/ttffont.c: don't use return value of a void function
-
-2007-07-02  krechert <krechert>
-
-	* src/blocks/ttffont.c: no return -> void
-
-2007-07-02  krechert <krechert>
-
-	* src/blocks/fromswf.c, src/blocks/fromswf.h: fiexed possible bug on
-	64bit systems
-
-2007-06-28  krechert <krechert>
-
-	* configure.in, test/Bitmap/.cvsignore, test/Bitmap/Makefile.am,
-	test/Bitmap/TestList, test/Bitmap/test01-cxx.C,
-	test/Bitmap/test01.c, test/Bitmap/test01.ref, test/Makefile.am: 
-	bitmap png test
-
-2007-06-28  krechert <krechert>
-
-	* test/FillStyle/Makefile.am, test/FillStyle/TestList,
-	test/FillStyle/test05-cxx.C, test/FillStyle/test05.c,
-	test/FillStyle/test05.ref: png fill test
-
-2007-06-28  krechert <krechert>
-
-	* ming.i, py_ext/ming.py, py_ext/ming_wrap.c: python bindings: 1) The nice Python (ming.py) binding does not have SWFVideoStream.  2) The low-level Python binding (ming_wrap.c) has a bug in
-	SWFVideoStream which causes an incorrect additional layer of pointer
-	indirection on SWFVideoStream objects.  submitted by: Joris van Rantwijk
-
-2007-06-28  krechert <krechert>
-
-	* NEWS: news update
-
-2007-06-28  krechert <krechert>
-
-	* mingpp.h, src/ming.h.in, src/movie.c: rename hidden functions to
-	_internal use SWFMovieBlockType also for SWFMovie_replace()
-
-2007-06-28  krechert <krechert>
-
-	* src/ming.h.in: introduce ttf font loading
-
-2007-06-28  krechert <krechert>
-
-	* src/blocks/ttffont.c: whitespace fixes
-
-2007-06-28  krechert <krechert>
-
-	* mingpp.h: use standard conform union initialization in c++. c++ is
-	typesafe anyway.
-
-2007-06-27  krechert <krechert>
-
-	* src/ming.h.in, src/movie.c: typesafe SWFMovie_add() for newer GCCs
-
-2007-06-26  krechert <krechert>
-
-	* src/Makefile.am, src/blocks/Makefile.am, src/blocks/font.h,
-	src/blocks/ttffont.c, src/blocks/ttffont.h: ttf font support
-
-2007-06-26  krechert <krechert>
-
-	* : ttf font used for tests
-
-2007-06-24  krechert <krechert>
-
-	* configure.in, src/blocks/fromswf.c, src/blocks/gifdbl.c,
-	src/blocks/pngdbl.c, src/movie.c, util/dbl2png.c, util/gif2dbl.c,
-	util/gif2mask.c, util/main.c, util/png2dbl.c: USE_ZLIB and USE_GIF
-	are only true iff headers and libs are present use USE_*
-	conditionals instead of HAVE_*
-
-2007-06-22  krechert <krechert>
-
-	* util/gif2dbl.c: include ming_config.h
-
-2007-06-21  krechert <krechert>
-
-	* util/gif2dbl.c: bugfix from tamere <mrachdi at free.fr>: HAVE_ZLIB_H
-	is defined not HAVE_LIBZ closes bug
-	http://bugs.libming.net/show_bug.cgi?id=16
-
-2007-06-15  strk <strk>
-
-	* src/blocks/Makefile.am: Don't list read.c as a source file as
-	we're not using it anymore (it's not even in the repository). Fixes
-	bug #24 (bugzilla).
-
-2007-06-10  krechert <krechert>
-
-	* src/blocks/fdbfont.c, src/blocks/font.c, src/blocks/font.h: use
-	shape backend
-
-2007-06-10  krechert <krechert>
-
-	* src/blocks/read.c: remove read.c. use generic SWFInput code
-
-2007-06-10  krechert <krechert>
-
-	* src/blocks/shape.c: use shape code for font shapes (dummy commit
-	to add changelog entry)
-
-2007-06-10  krechert <krechert>
-
-	* src/blocks/shape.c, src/blocks/shape.h: handle font shapes
-
-2007-06-10  krechert <krechert>
-
-	* configure.in, test/Font/.cvsignore, test/Font/Makefile.am,
-	test/Font/TestList, test/Font/test01-cxx.C, test/Font/test01.c,
-	test/Font/test01.ref, test/Makefile.am, test/Text/.cvsignore,
-	test/Text/Makefile.am, test/Text/TestList, test/Text/test01-cxx.C,
-	test/Text/test01.c, test/Text/test01.ref: Font and Text tests
-
-2007-06-10  krechert <krechert>
-
-	* mingpp.h: allow SWFText version 1 with C++
-
-2007-06-10  krechert <krechert>
-
-	* : add test-font
-
-2007-05-28  strk <strk>
-
-	* test/actionscript/FunctionInLoop.as,
-	test/actionscript/FunctionInLoop.ref, test/actionscript/Makefile.am: 
-	Add the test that was failing before fixing bug #18 (current testing
-	framework won't build for SWF>6 though... we should fix this)
-
-2007-05-28  strk <strk>
-
-	* test/actionscript/ActionScriptTest.c: Copyright info, TODO item
-
-2007-05-28  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Properly delete CTX_FUNCTION
-	when SWF target > 6. Fixed bug #18 on bugzilla.
-
-2007-05-24  strk <strk>
-
-	* util/outputtxt.c: Print more info for REMOVEOBJECT and
-	REMOVEOBJECT2
-
-2007-05-23  strk <strk>
-
-	* mingpp.h: Implement SWFMovie::replace
-
-2007-05-23  strk <strk>
-
-	* src/movie.c: Fix typo in SWFMovie_add function signature
-
-2007-05-23  krechert <krechert>
-
-	* src/displaylist.c, src/displaylist.h, src/ming.h.in, src/movie.c: 
-	return int instead of SWFDisplayItem
-
-2007-05-23  krechert <krechert>
-
-	* test/Movie/replace/test02-cxx.C, test/Movie/replace/test02.c,
-	test/Movie/replace/test02.ref: complete replace test commit
-
-2007-05-22  strk <strk>
-
-	* src/displaylist.c: Fix bug in SWFDisplayItem_replace preventing to
-	add event handlers and name to the replace PlaceObject2 tag (btw, it
-	seems those have no effect, if confirmed we should raise a warning
-	when doing so)
-
-2007-05-22  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/replace/.cvsignore, test/Movie/replace/Makefile.am,
-	test/Movie/replace/TestList, test/Movie/replace/test01-cxx.C,
-	test/Movie/replace/test01.c, test/Movie/replace/test01.ref: 
-	testcases for replace feature
-
-2007-05-22  krechert <krechert>
-
-	* src/blocks/placeobject.h, src/displaylist.c, src/displaylist.h,
-	src/ming.h.in, src/movie.c: added experimental feature
-	SWFMovie_replace(); replaces the character for a given DisplayItem with an other
-	character.  no newSWFRemoveObject2Block is written.
-
-2007-05-22  krechert <krechert>
-
-	* mingpp.h: hide unsigned char <--> char casts from user
-
-2007-05-21  krechert <krechert>
-
-	* mingpp.h: fix partly bug [ 924725 ] take 'const char *', rather
-	than 'const unsigned char *' as C++ won't let you convert between
-	these implicitly, quote strings "stirng" as usually 'const char *'
-	as is std::string::c_str() patch by Gene Thomas
-
-2007-05-21  krechert <krechert>
-
-	* src/blocks/text.c: fixes bug: [ 905571 ] endless loop in text.c
-
-2007-05-21  krechert <krechert>
-
-	* src/ming.h.in: fixes bug [ 912003 ] duplicate declaration for
-	SWFSoundInstance_setNoMultiple
-
-2007-05-21  krechert <krechert>
-
-	* py_ext/setup.py.in: fixed Bug: [ 1684101 ] python bindings not
-	linked against libpng submitted by Peter Shannon
-
-2007-05-18  strk <strk>
-
-	* ChangeLog: updated
-
-2007-05-17  krechert <krechert>
-
-	* src/blocks/input.c, src/blocks/input.h: readBits and friends for
-	SWFInput
-
-2007-05-17  krechert <krechert>
-
-	* test/README: improved
-
-2007-05-17  krechert <krechert>
-
-	* test/README, test/actionscript/README: creating and adding tests
-	in 10 steps :)
-
-2007-05-17  krechert <krechert>
-
-	* test/Morph/test01.ref, test/Morph/test02.ref: update test
-	reference
-
-2007-05-17  krechert <krechert>
-
-	* src/displaylist.c: make morph ratio failsafe
-
-2007-05-16  krechert <krechert>
-
-	* test/Morph/test01.ref, test/Morph/test02.ref: updated reference
-	after parser fixes
-
-2007-05-16  krechert <krechert>
-
-	* util/parser.c: use length parameter in parseSWF_SHAPE bufixes
-	generating shape length
-
-2007-05-16  krechert <krechert>
-
-	* test/Gradient/test05-cxx.C, test/Gradient/test05.c,
-	test/Gradient/test06-cxx.C, test/Gradient/test06.c: changed flag
-	names
-
-2007-05-16  krechert <krechert>
-
-	* util/blocktypes.c, util/main.c, util/outputdecl.h,
-	util/outputtxt.c, util/parser.c, util/parser.h, util/parserdecl.h,
-	util/swftypes.h: parse SWF_DEFINEFONTALIGNZONES extended movie
-	structure to store font information
-
-2007-05-16  krechert <krechert>
-
-	* util/parser.c: removed bogus increment
-
-2007-05-16  krechert <krechert>
-
-	* src/blocks/gradient.c, src/ming.h.in: make perl extension compile
-	(redefinition of symbol PAD)
-
-2007-05-16  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/fdbfont.c,
-	src/blocks/fdbfont.h, src/blocks/font.c, src/blocks/font.h: handle
-	fdb font reading in an extra file
-
-2007-05-16  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/font.h: for SWF6 and later
-	DEFINEFONT has a LanguageCode field
-
-2007-05-16  krechert <krechert>
-
-	* src/blocks/font.c, src/blocks/font.h: SWF_DEFINEFONT2/3 has no
-	UNICODE flag. since SWF7 there is SMALLTEXT flag available cleaup
-	duplicated constants
-
-2007-05-14  krechert <krechert>
-
-	* test/FillStyle/test01-cxx.C, test/FillStyle/test01.c,
-	test/FillStyle/test02-cxx.C, test/FillStyle/test02.c,
-	test/FillStyle/test03-cxx.C, test/FillStyle/test03.c,
-	test/FillStyle/test04-cxx.C, test/FillStyle/test04.c: use setLine
-	API
-
-2007-05-14  krechert <krechert>
-
-	* mingpp.h: use setLine2 instead of internal setLineStyle2
-
-2007-05-09  strk <strk>
-
-	* macros/ming.m4: Cleaner fix to avoid the 'missing beta' warning.
-	Patch by Andrew Guertin <bugzilla at dolphinling.net>.
-
-2007-05-09  strk <strk>
-
-	* macros/ming.m4: Suppress printf warning when 'beta' component of
-	the version doesn't exist
-
-2007-05-02  krechert <krechert>
-
-	* util/outputfdb.c: fix by: David Wojtowicz There is a bug in the v0.4x replacement for makefdb.   The block
-	type/len + 32bit long block length aren't accounted for and 6 extra
-	bytes ends up in the .fdb file.   The result is that trying to use
-	the resulting .fdb file results in a segfault.
-
-2007-04-30  krechert <krechert>
-
-	* test/Gradient/test01-cxx.C, test/Gradient/test01.c,
-	test/Gradient/test02-cxx.C, test/Gradient/test02.c,
-	test/Gradient/test03-cxx.C, test/Gradient/test03.c,
-	test/Gradient/test04-cxx.C, test/Gradient/test04.c,
-	test/Gradient/test05-cxx.C, test/Gradient/test05.c,
-	test/Gradient/test06-cxx.C, test/Gradient/test06.c: update setLine
-	API
-
-2007-04-30  krechert <krechert>
-
-	* test/LineStyle/test01.c, test/LineStyle/test02-cxx.C,
-	test/LineStyle/test02.c: updated test cases to new setLine API
-
-2007-04-30  krechert <krechert>
-
-	* test/Morph/test01.c, test/Morph/test02-cxx.C, test/Morph/test02.c: 
-	changed to new setLine API
-
-2007-04-30  krechert <krechert>
-
-	* src/ming.h.in: added setLine2 methods from ming-util
-
-2007-04-30  krechert <krechert>
-
-	* src/ming.h.in: deprecated SWFFill
-
-2007-04-30  krechert <krechert>
-
-	* src/blocks/linestyle.c, src/blocks/shape.c, src/ming.h.in,
-	src/shape_util.c: Deprecate setLineStyle interface. Outside use is
-	deprecated! Use setLine[...]() instead! setLineStyle takes scaled
-	width (TWIPS) default scale ist 20.0 ! 1px -> 20 TWIPS
-
-2007-04-30  strk <strk>
-
-	* configure.in, util/makeswf.c, util/makeswf_utils.c: Don't include
-	getopt.h if it's not found. Patch by Nils Goroll
-	<nils.goroll at mcs.de>.
-
-2007-04-29  krechert <krechert>
-
-	* test/FillStyle/test04.ref: fix broken dbl
-
-2007-04-29  krechert <krechert>
-
-	* util/png2dbl.c: bugfix: zlib was never used include ming_config
-
-2007-04-29  krechert <krechert>
-
-	* test/FillStyle/test04.ref: added test04.ref
-
-2007-04-29  krechert <krechert>
-
-	* test/FillStyle/.cvsignore, test/FillStyle/Makefile.am,
-	test/FillStyle/TestList, test/FillStyle/test04-cxx.C,
-	test/FillStyle/test04.c: DBL fill
-
-2007-04-29  krechert <krechert>
-
-	* configure.in, test/FillStyle/.cvsignore,
-	test/FillStyle/Makefile.am, test/FillStyle/TestList,
-	test/FillStyle/test01-cxx.C, test/FillStyle/test01.c,
-	test/FillStyle/test01.ref, test/FillStyle/test02-cxx.C,
-	test/FillStyle/test02.c, test/FillStyle/test02.ref,
-	test/FillStyle/test03-cxx.C, test/FillStyle/test03.c,
-	test/FillStyle/test03.ref, test/Makefile.am: fillstyle tests
-
-2007-04-29  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/blocks/fillstyle.h,
-	src/blocks/shape.c: add character dependency if necessary
-
-2007-04-29  krechert <krechert>
-
-	* mingpp.h: improved bitmap file format recognition
-
-2007-04-29  krechert <krechert>
-
-	* : added images for test cases
-
-2007-04-29  krechert <krechert>
-
-	* mingpp.h: rearanged file such that dependencies work again
-
-2007-04-29  krechert <krechert>
-
-	* test/Video/.cvsignore, test/Video/Makefile.am,
-	test/Video/TestList, test/Video/test02-cxx.C, test/Video/test02.c,
-	test/Video/test02.ref, test/Video/test03-cxx.C,
-	test/Video/test03.c, test/Video/test03.ref: more video testcases
-
-2007-04-29  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/setNetworkAccess/.cvsignore,
-	test/Movie/setNetworkAccess/Makefile.am,
-	test/Movie/setNetworkAccess/TestList,
-	test/Movie/setNetworkAccess/test01-cxx.C,
-	test/Movie/setNetworkAccess/test01.c,
-	test/Movie/setNetworkAccess/test01.ref: networkaccess testcase
-
-2007-04-29  krechert <krechert>
-
-	* test/Movie/setScriptLimits/test01-cxx.C,
-	test/Movie/setScriptLimits/test01.ref: testcase update
-
-2007-04-29  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/setScriptLimits/.cvsignore,
-	test/Movie/setScriptLimits/Makefile.am,
-	test/Movie/setScriptLimits/TestList,
-	test/Movie/setScriptLimits/test01-cxx.C,
-	test/Movie/setScriptLimits/test01.c,
-	test/Movie/setScriptLimits/test01.ref: script limit test case
-
-2007-04-29  krechert <krechert>
-
-	* test/Gradient/.cvsignore, test/LineStyle/.cvsignore,
-	test/Morph/.cvsignore, test/Movie/addMetadata/.cvsignore,
-	test/Movie/setSoundStream/.cvsignore,
-	test/Movie/setTabIndex/.cvsignore, test/MovieClip/.cvsignore,
-	test/Shape/.cvsignore, test/Video/.cvsignore: added .cvsignore files
-
-2007-04-29  krechert <krechert>
-
-	* configure.in, test/Gradient/Makefile.am, test/Gradient/TestList,
-	test/Gradient/test01-cxx.C, test/Gradient/test01.c,
-	test/Gradient/test01.ref, test/Gradient/test02-cxx.C,
-	test/Gradient/test02.c, test/Gradient/test02.ref,
-	test/Gradient/test03-cxx.C, test/Gradient/test03.c,
-	test/Gradient/test03.ref, test/Gradient/test04-cxx.C,
-	test/Gradient/test04.c, test/Gradient/test04.ref,
-	test/Gradient/test05-cxx.C, test/Gradient/test05.c,
-	test/Gradient/test05.ref, test/Gradient/test06-cxx.C,
-	test/Gradient/test06.c, test/Gradient/test06.ref, test/Makefile.am: 
-	Gradient test cases
-
-2007-04-29  krechert <krechert>
-
-	* mingpp.h: added FillStyle class some type fixes
-
-2007-04-28  krechert <krechert>
-
-	* NEWS: news update
-
-2007-04-28  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/blocks/fillstyle.h,
-	src/blocks/gradient.c, src/blocks/gradient.h,
-	src/blocks/linestyle.c, src/blocks/morph.c, src/blocks/shape.c,
-	src/ming.h.in: SWF8:         new fillstyle SWFFILL_FOCAL_GRADIENT SWFFill:         make SWFFill independent of shapes (usefull for morphs)         removed get/setIdx         calculate and write propper gradient matrix         setLeft/RightFillStyle adds fillstyle to the shape if
-	        necessary
-
-2007-04-28  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c: FocalPoint Gradient updates
-
-2007-04-28  krechert <krechert>
-
-	* test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref,
-	test/LineStyle/test01.ref, test/LineStyle/test02.ref,
-	test/Shape/test01.ref: update expected output
-
-2007-04-28  krechert <krechert>
-
-	* util/outputtxt.c: output FillStyles
-
-2007-04-28  krechert <krechert>
-
-	* util/parser.c: bugfix: byteAlign() after reading matrix
-
-2007-04-25  krechert <krechert>
-
-	* src/blocks/gradient.c, src/ming.h.in: SWF8: added new gradient
-	features
-
-2007-04-24  krechert <krechert>
-
-	* src/blocks/blocktypes.h: typo
-
-2007-04-24  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h: parse and output CSMTEXTSETTINGS
-
-2007-04-24  krechert <krechert>
-
-	* util/swftypes.h: SWF8 font extension
-
-2007-04-24  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: outputtxt:
-	DEFINEFONT[3] parse: DEFINEFONT3
-
-2007-04-24  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: outputtxt:
-	DEFINEFONTINFO[2] parse DEFINEFONTINFO2
-
-2007-04-24  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: SWF8: gradient
-	and focalgradient
-
-2007-04-24  krechert <krechert>
-
-	* test/Movie/setTabIndex/Makefile.am,
-	test/Movie/setTabIndex/TestList,
-	test/Movie/setTabIndex/test01-cxx.C,
-	test/Movie/setTabIndex/test01.c, test/Movie/setTabIndex/test01.ref: 
-	added simple setTabIndex testcase
-
-2007-04-24  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am: added simple setTabIndex
-	test
-
-2007-04-24  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/setSoundStream/Makefile.am,
-	test/Movie/setSoundStream/TestList,
-	test/Movie/setSoundStream/test01-cxx.C,
-	test/Movie/setSoundStream/test01.c,
-	test/Movie/setSoundStream/test01.ref,
-	test/Movie/setSoundStream/test02-cxx.C,
-	test/Movie/setSoundStream/test02.c,
-	test/Movie/setSoundStream/test02.ref: soundstream tests mp3 and flv
-
-2007-04-24  krechert <krechert>
-
-	* : add audio and vp6 video file for testcases
-
-2007-04-24  krechert <krechert>
-
-	* configure.in, test/Makefile.am, test/MovieClip/Makefile.am,
-	test/MovieClip/TestList, test/MovieClip/test01-cxx.C,
-	test/MovieClip/test01.c, test/MovieClip/test01.ref: MovieClip
-	initAction test case
-
-2007-04-24  krechert <krechert>
-
-	* mingpp.h: added addInitAction() method to MovieClip class
-
-2007-04-24  krechert <krechert>
-
-	* configure.in, test/LineStyle/Makefile.am,
-	test/LineStyle/TestList, test/LineStyle/test01-cxx.C,
-	test/LineStyle/test01.c, test/LineStyle/test01.ref,
-	test/LineStyle/test02-cxx.C, test/LineStyle/test02.c,
-	test/LineStyle/test02.ref, test/Makefile.am: Linestyle test cases
-
-2007-04-24  krechert <krechert>
-
-	* src/blocks/shape.c: fix shape versioning
-
-2007-04-22  krechert <krechert>
-
-	* test/Shape/test01.ref: update expected result due linestyle output
-
-2007-04-22  krechert <krechert>
-
-	* test/Filter/test01.ref, test/Filter/test02.ref,
-	test/Filter/test03.ref, test/Filter/test04.ref: update expected
-	results due new linestyle output
-
-2007-04-22  krechert <krechert>
-
-	* util/outputtxt.c: always output linestyles
-
-2007-04-22  krechert <krechert>
-
-	* mingpp.h: SWFShape API update
-
-2007-04-22  krechert <krechert>
-
-	* configure.in, test/Makefile.am, test/Shape/Makefile.am,
-	test/Shape/TestList, test/Shape/test01-cxx.C, test/Shape/test01.c,
-	test/Shape/test01.ref: simple shape testcases
-
-2007-04-22  krechert <krechert>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/addMetadata/Makefile.am,
-	test/Movie/addMetadata/TestList,
-	test/Movie/addMetadata/test01-cxx.C,
-	test/Movie/addMetadata/test01.c, test/Movie/addMetadata/test01.ref: 
-	add Metadata testcase
-
-2007-04-22  krechert <krechert>
-
-	* configure.in, test/Makefile.am, test/Video/Makefile.am,
-	test/Video/TestList, test/Video/test01-cxx.C, test/Video/test01.c,
-	test/Video/test01.ref: embedded video test case
-
-2007-04-22  krechert <krechert>
-
-	* : added flv video for testing
-
-2007-04-20  krechert <krechert>
-
-	* configure.in: add Morph testcases
-
-2007-04-20  krechert <krechert>
-
-	* test/Makefile.am: add Morph to subdirs
-
-2007-04-20  krechert <krechert>
-
-	* test/Morph/Makefile.am, test/Morph/TestList,
-	test/Morph/test01-cxx.C, test/Morph/test01.c,
-	test/Morph/test01.ref, test/Morph/test02-cxx.C,
-	test/Morph/test02.c, test/Morph/test02.ref: add 2 simple morph tests
-
-2007-04-20  krechert <krechert>
-
-	* src/blocks/shape.c, src/shape_util.c: save linestyle width in
-	TWIPS update documentation convert pixel->twips in
-	shape.c::setLineStyle*
-
-2007-04-20  krechert <krechert>
-
-	* NEWS: news update
-
-2007-04-20  krechert <krechert>
-
-	* src/blocks/morph.c, src/blocks/shape.c: output
-	SWF_DEFINEMORPHSHAPE2 if SWF_SHAPE4 is used remove bogus printf from
-	shape.c
-
-2007-04-20  krechert <krechert>
-
-	* src/ming.h.in: SWFShape API update
-
-2007-04-20  krechert <krechert>
-
-	* src/blocks/shape.c, src/blocks/shape.h: API extension: 	* set render hinting flags 	* manually upgrade SWF_DEFINESHAPE version (usefull to enable
-		edgeBounds) * hand out version information (usefull for SWF_DEFINEMORPHSHAPE[2]
-
-2007-04-20  krechert <krechert>
-
-	* src/blocks/linestyle.c, src/blocks/linestyle.h: removed line
-	increment output linestyle2 for morphshapes
-
-2007-04-20  krechert <krechert>
-
-	* util/parserdecl.h: SWF_PARSE prototype
-
-2007-04-20  krechert <krechert>
-
-	* util/parser.c: check length if parsing SWF_SHAPE MORPHSHAP2 fixes
-
-2007-04-19  strk <strk>
-
-	* configure.in: Quote ${CXX} as it might be defined to 'ccache g++'
-	- Patch by Marting Guy btw, can't we rely on the result of
-	AC_PROG_GXX instead ?
-
-2007-04-19  krechert <krechert>
-
-	* NEWS: small NEWS update
-
-2007-04-17  strk <strk>
-
-	* test/actionscript/GotoFrame.ref: Updated the expected output (the
-	current one contained a duplicated scene bias)
-
-2007-04-16  krechert <krechert>
-
-	* src/blocks/shape.c: upgrade shape version only if not morphshape
-
-2007-04-16  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/blocks/fillstyle.h: bugfix: write all
-	morphfillstyles
-
-2007-04-16  akleine <akleine>
-
-	* util/decompile.c: Now escaping quote character (') inside strings
-	with backslashes...
-
-2007-04-16  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: parse
-	SWF_DEFINEMORHSHAPE2 output SWF_DEFIMEMORPHSHAPE[2]
-
-2007-04-14  strk <strk>
-
-	* util/makeswf.c, util/makeswf_utils.c: Removed unused CPP define
-	from makeswf.c, fix the *used* one in makeswf_utils.  Thanks to
-	Bastiaan Jacques for finding this out.
-
-2007-04-13  krechert <krechert>
-
-	* util/parser.c: another BUTTONCONDACTION fix parseSWF_SPRITE: skip
-	extra byts after parsinf SWF_END
-
-2007-04-10  akleine <akleine>
-
-	* util/decompile.c: Two bugfixes: 1. for-in loop stack 2. register R0 usage
-
-2007-04-10  strk <strk>
-
-	* test/Filter/.cvsignore, test/Movie/Protect/.cvsignore,
-	util/.cvsignore: Update cvsignore files
-
-2007-04-09  krechert <krechert>
-
-	* util/outputtxt.c: outputtxt: output JPEG, JEPG2 and DEFINEBITS
-
-2007-04-09  krechert <krechert>
-
-	* util/outputtxt.c: outputtxt: output BITMAPLOSSLESS and
-	BITMAPLOSSLESS2
-
-2007-04-08  krechert <krechert>
-
-	* util/parser.c: AS parser: if branch target is not found, continue
-
-2007-04-08  krechert <krechert>
-
-	* util/parser.c: bugfix: read actionEnd flag in
-	buttoncondactionrecord
-
-2007-04-05  strk <strk>
-
-	* php_ext/ming.c: Add the missing SWFACTION constants for
-	SWFDisplayItem_addAction
-
-2007-04-05  krechert <krechert>
-
-	* util/action.c: fixed valgrind report:  Use of uninitialised value
-	of size 4
-
-2007-04-02  akleine <akleine>
-
-	* util/decompile.c: A bug when switching to second output buffer was
-	fixed.
-
-2007-04-02  krechert <krechert>
-
-	* util/parser.c: fixed bug in definebutton2 actionrecord parsing
-
-2007-04-01  krechert <krechert>
-
-	* src/blocks/button.c, src/ming.h.in: added functions to modify
-	button charactes matrix
-
-2007-04-01  krechert <krechert>
-
-	* NEWS: NEWS update
-
-2007-04-01  krechert <krechert>
-
-	* util/outputscript.c: fixed warning if string ist empty
-
-2007-04-01  krechert <krechert>
-
-	* src/blocks/button.c, src/blocks/filter.c, src/blocks/filter.h,
-	src/blocks/placeobject.c, src/ming.h.in: new SWFButton_addCharacter
-	interface returns a SWFButtonRecord Object.
-	SWFButtonRecord_addFilter, SWFButtonRecord_setBlendMode
-
-2007-04-01  krechert <krechert>
-
-	* src/actioncompiler/compile.h: added missing function prototype
-
-2007-04-01  krechert <krechert>
-
-	* test/Filter/test02-cxx.C, test/Filter/test02.c,
-	test/Filter/test02.ref, test/Filter/test03-cxx.C,
-	test/Filter/test03.c, test/Filter/test03.ref,
-	test/Filter/test04-cxx.C, test/Filter/test04.c,
-	test/Filter/test04.ref: [no log message]
-
-2007-04-01  krechert <krechert>
-
-	* test/Filter/Makefile.am, test/Filter/TestList,
-	test/Filter/test01.c: mor filter tests
-
-2007-04-01  krechert <krechert>
-
-	* test/Filter/test01.ref: reflect modified listswf output
-
-2007-04-01  strk <strk>
-
-	* util/makeswf.c: Add -xc++ in CPP define  - patch by Deanna
-	Phillips.
-
-2007-04-01  strk <strk>
-
-	* mingpp.h: Fix compile-time bugs in setLineStyle2 and addInitAction
-
-2007-04-01  strk <strk>
-
-	* util/ming-config.in: Add dependency in --libs output. Patch by
-	Deanna Phillips.
-
-2007-04-01  akleine <akleine>
-
-	* util/decompile.c: some fixes related to 'for (var x in y) {...}'
-	loops
-
-2007-03-30  strk <strk>
-
-	* config/install-sh: re-added install-sh with execute bit set
-
-2007-03-30  strk <strk>
-
-	* config/install-sh: removed install-sh, will add right back with
-	execute bit set
-
-2007-03-30  strk <strk>
-
-	* configure.in: Don't use AM_PROG_LEX as it breaks builds on OS/X
-
-2007-03-29  strk <strk>
-
-	* NEWS, src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y,
-	test/actionscript/ASM_targetPath.as,
-	test/actionscript/ASM_targetPath.ref,
-	test/actionscript/Makefile.am, test/actionscript/targetPath.as,
-	test/actionscript/targetPath.ref: Add support for 'targetPath' asm
-	opcode, and add a couple of testcases for generic targetPath
-
-2007-03-29  anderson <anderson>
-
-	* configure.in: We're on the way to beta 5 now
-
-2007-03-28  krechert <krechert>
-
-	* perl_ext/Action.xs, perl_ext/Shape.xs: API update setFillStyle2
-	fixed mistake in Action.xs
-
-2007-03-28  krechert <krechert>
-
-	* perl_ext/Action.xs, perl_ext/MovieClip.xs: API update SWFAction,
-	addInitAction
-
-2007-03-28  krechert <krechert>
-
-	* mingpp.h: added linestyle2 methods
-
-2007-03-28  krechert <krechert>
-
-	* util/main.c, util/outputtxt.c, util/parser.c, util/swftypes.h: 
-	added missing prototype output SWF_SATRTSOUND SWF_SOUNDINFO
-	SWF_SOUNDENVELOPE
-
-2007-03-28  krechert <krechert>
-
-	* util/parser.c: added missing function prototype
-
-2007-03-28  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: ButtonRecord can
-	have filter and blendmode properties
-
-2007-03-28  krechert <krechert>
-
-	* mingpp.h: added SWFAction::addInitAction method
-
-2007-03-28  krechert <krechert>
-
-	* mingpp.h: change to new SWFAction API
-
-2007-03-27  anderson <anderson>
-
-	* NEWS: Put a dat on beta4
-
-2007-03-27  anderson <anderson>
-
-	* ChangeLog: Final update for 0.4-beta4
-
-2007-03-27  strk <strk>
-
-	* src/Makefile.am: Don't buil test.c as part of libming
-
-2007-03-26  krechert <krechert>
-
-	* src/blocklist.c, src/movie.c: fixed function declaration
-
-2007-03-26  krechert <krechert>
-
-	* src/blocks/button.c, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/sprite.c,
-	src/blocks/videostream.c, src/displaylist.c, src/displaylist.h,
-	src/movie.c: rename onInit callback to onFrame SWFMovie_remove() has
-	immediate effect now SWFDisplayItem_remove() keeps old removal
-	behavior (defers removal till nextFrame())
-
-2007-03-26  akleine <akleine>
-
-	* util/decompile.c: Moved [stderr] error message "Stuff (x) left on
-	the stack.." to the end of concerned block, now including more
-	information about current stack contents and thus making analysis
-	much easier.
-
-2007-03-26  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/action.h, src/blocks/sprite.c,
-	src/blocks/sprite.h, src/ming.h.in, src/movieclip.c: added
-	SWFInitAction support
-
-2007-03-26  krechert <krechert>
-
-	* src/blocks/button.c, src/blocks/button.h, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/sprite.c,
-	src/blocks/videostream.c, src/displaylist.c: added onInit and
-	onFrame callbacks to the character structure if a character needs to
-	add additional blocks (like video, sound ...) these callbacks should
-	be used.
-
-2007-03-25  strk <strk>
-
-	* NEWS: typo
-
-2007-03-23  krechert <krechert>
-
-	* src/ming.h.in: use gcc deprecated attribute to mark deprecated
-	functions user will get a compiler warning if he uses deprecated
-	functions example: void old_func() __deprecated;
-
-2007-03-23  krechert <krechert>
-
-	* NEWS: news update
-
-2007-03-23  krechert <krechert>
-
-	* src/actioncompiler/compileaction.c: only warn once...
-
-2007-03-23  krechert <krechert>
-
-	* src/blocks/error.h: added SWF_warnOnce()
-
-2007-03-22  krechert <krechert>
-
-	* src/blocks/placeobject.c: removed unused var
-
-2007-03-22  anderson <anderson>
-
-	* docs/libming/SWFDisplayItem_addFilter.html,
-	docs/libming/SWFDisplayItem_cacheAsBitmap.html,
-	docs/libming/SWFDisplayItem_get_x.html,
-	docs/libming/SWFDisplayItem_setBlendMode.html,
-	docs/libming/SWFShape_drawArc.html,
-	docs/libming/SWFShape_drawCubic.html,
-	docs/libming/SWFShape_drawScaledLineTo.html,
-	docs/libming/SWFShape_movePenTo.html,
-	docs/libming/SWFShape_moveScaledPenTo.html,
-	docs/libming/SWFVideoStream_getNumFrames.html,
-	docs/libming/SWFVideoStream_getVideoFrame.html,
-	docs/libming/SWFVideoStream_hasAudio.html,
-	docs/libming/SWFVideoStream_setDimension.html,
-	docs/libming/index.html, docs/libming/newSWFShapeFromBitmap.html,
-	docs/libming/newSWFVideoStream.html,
-	docs/libming/newSWFVideoStream_fromFile.html,
-	docs/libming/newSWFVideoStream_fromInput.html,
-	docs/man/Ming_getScale.3, docs/man/Ming_init.3,
-	docs/man/Ming_setCubicThreshold.3,
-	docs/man/Ming_setErrorFunction.3,
-	docs/man/Ming_setSWFCompression.3, docs/man/Ming_setScale.3,
-	docs/man/Ming_setWarnFunction.3, docs/man/Ming_useSWFVersion.3,
-	docs/man/SWFDisplayItem_addFilter.3,
-	docs/man/SWFDisplayItem_cacheAsBitmap.3,
-	docs/man/SWFDisplayItem_get_x.3,
-	docs/man/SWFDisplayItem_setBlendMode.3, docs/man/SWFMovie_add.3,
-	docs/man/SWFMovie_labelFrame.3, docs/man/SWFMovie_namedAnchor.3,
-	docs/man/SWFMovie_protect.3, docs/man/SWFMovie_setBackground.3,
-	docs/man/SWFMovie_setDimension.3,
-	docs/man/SWFMovie_setNumberOfFrames.3, docs/man/SWFMovie_setRate.3,
-	docs/man/SWFShape_drawArc.3, docs/man/SWFShape_drawCubic.3,
-	docs/man/SWFShape_drawScaledLineTo.3,
-	docs/man/SWFShape_movePenTo.3, docs/man/SWFShape_moveScaledPenTo.3,
-	docs/man/SWFVideoStream_getNumFrames.3,
-	docs/man/SWFVideoStream_getVideoFrame.3,
-	docs/man/SWFVideoStream_hasAudio.3,
-	docs/man/SWFVideoStream_setDimension.3, docs/man/destroySWFMovie.3,
-	docs/man/newSWFMovie.3, docs/man/newSWFMovieWithVersion.3,
-	docs/man/newSWFShapeFromBitmap.3, docs/man/newSWFVideoStream.3,
-	docs/man/newSWFVideoStream_fromFile.3,
-	docs/man/newSWFVideoStream_fromInput.3: Regenerate docuemntation and
-	add new interfaces
-
-2007-03-22  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/button.c: fixed regression with
-	button actions removed printf() in action.c
-
-2007-03-22  strk <strk>
-
-	* util/makeswf.c, util/makeswf_utils.c: Updated to use
-	newSWFAction() instead of compileSWFActionCode()
-
-2007-03-22  strk <strk>
-
-	* ChangeLog: regenerated
-
-2007-03-21  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/button.c,
-	src/blocks/placeobject.c, src/ming.h.in: use newSWFAction(char
-	*script) or SWFAction_fromFile(char *path) buttons and placeObject:  use SWFAction_compile() and SWFOutput_writeAction()  write outputbuffer completly at tag-completion time whitespace diff -> forgot log-entry last commit :(
-
-2007-03-21  krechert <krechert>
-
-	* src/blocks/action.c, src/blocks/action.h, src/blocks/button.c,
-	src/blocks/placeobject.c, src/blocks/swf.h, src/ming.h.in: [no log
-	message]
-
-2007-03-21  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/compileaction.c, src/actioncompiler/main.c,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: removed SWF_versionNum global,
-	but introduced a new global swfVersion :( swfVersion is set by
-	swf4|5Init() and is only used inside the compiler
-	dddddddddddddddddddddddd also removed compileAction() code
-
-2007-03-21  strk <strk>
-
-	* test/actionscript/ASM_all.as, test/actionscript/ASM_all.ref,
-	test/actionscript/Makefile.am: Add a non-sense huge asm block with
-	all supported opcodes (to catch eventual regressions)
-
-2007-03-21  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Add 'tonumber' and 'tostring' ASM
-	opcodes
-
-2007-03-21  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Add support for 'getproperty' and
-	'setproperty'
-
-2007-03-21  akleine <akleine>
-
-	* util/decompile.c: bugfix in newVar_N() and newVar_N2() preventing
-	crash
-
-2007-03-21  krechert <krechert>
-
-	* src/blocks/blocktypes.h: allow SWF_PREBUILD_* for any swfVersion
-
-2007-03-21  krechert <krechert>
-
-	* src/movie.c: SWF_versionNum cleanup. Set block version also for
-	exports
-
-2007-03-20  anderson <anderson>
-
-	* util/outputswf.c: Need to output a SWF_END at the end of the font
-
-2007-03-19  akleine <akleine>
-
-	* util/decompile.c: 1. enhanced interpretation of forward direction jumps    used for else/break/return statements regarding    if/for/while/do/switch  code constructions.  2. added some safety aganst bad formed 'nparams' in function calls 3. added a minor bugfix in decompileGETURL()
-
-2007-03-19  krechert <krechert>
-
-	* src/displaylist.c: fixed bug in displaylist video handling patch
-	submitted by Philip Lindsay
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/blocktypes.h: get version information for a given block
-	type
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/imports.c: removed SWF_versionNum dependency
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/placeobject.c: removed SWF_numVersion dependency
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/button.c: removed SWF_versionNum dependency
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/browserfont.c, src/blocks/browserfont.h: removed
-	SWF_versionNum dependancy
-
-2007-03-18  krechert <krechert>
-
-	* src/blocklist.c, src/blocklist.h, src/blocks/block.c,
-	src/blocks/block.h, src/blocks/sprite.c, src/movie.c: First step
-	removing global SWF_numVersion variable by adding a version field to
-	the SWFBlock structure. Version information is set at block
-	completion time. This is earliest point version information is
-	really necessary.
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/shape.c: SWF_DEFINSHAPE4 structure has a second RECT
-	describing edge bounds.  The edge bounds rectangle outlines the
-	shape without using adding line width.
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/linestyle.c, src/blocks/linestyle.h,
-	src/blocks/shape.c, src/ming.h.in: add LINSTYLE2 and
-	SWF_DEFINESHAPE4
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/fillstyle.c, src/blocks/fillstyle.h: write also a
-	single fillstyle
-
-2007-03-18  krechert <krechert>
-
-	* src/blocks/rect.c: byteAlign buffer after writing a SWF_RECT if a
-	block contains a sequence of two RECT structures, the second RECT
-	must be written byteAligned.
-
-2007-03-16  krechert <krechert>
-
-	* src/blocks/button.c, src/movieclip.c: added documentation
-
-2007-03-16  krechert <krechert>
-
-	* src/blocks/tabindex.c: added missing include
-
-2007-03-15  krechert <krechert>
-
-	* perl_ext/Movie.xs, php_ext/ming.c: API update:
-	SWFMovie::setTabIndex
-
-2007-03-15  krechert <krechert>
-
-	* mingpp.h: [no log message]
-
-2007-03-15  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/tabindex.c,
-	src/blocks/tabindex.h, src/ming.h.in, src/movie.c: support for
-	missing SWF7 tag SetTabIndex
-
-2007-03-15  strk <strk>
-
-	* src/blocks/placeobject.c: Fix for KeyPress clip event -
-	contributed by Benjamin Otte <otte at gnome.org>, see bug #12.
-
-2007-03-15  krechert <krechert>
-
-	* src/blocks/scalinggrid.c, src/blocks/scalinggrid.h: clean up
-
-2007-03-15  anderson <anderson>
-
-	* test/Movie/new/.cvsignore: ignore new test
-
-2007-03-15  anderson <anderson>
-
-	* test/Movie/Dimension/test01-cxx.C,
-	test/Movie/Dimension/test01.php, test/Movie/Dimension/test01.pl,
-	test/Movie/Dimension/test01.py, test/Movie/FrameLabel/test01-cxx.C,
-	test/Movie/FrameLabel/test01.php, test/Movie/FrameLabel/test01.pl,
-	test/Movie/FrameLabel/test01.py,
-	test/Movie/FrameLabel/test02-cxx.C,
-	test/Movie/FrameLabel/test02.php, test/Movie/FrameLabel/test02.pl,
-	test/Movie/FrameLabel/test02.py, test/Movie/NumFrames/test01-cxx.C,
-	test/Movie/NumFrames/test01.php, test/Movie/NumFrames/test01.pl,
-	test/Movie/NumFrames/test01.py, test/Movie/Rate/test01-cxx.C,
-	test/Movie/Rate/test01.php, test/Movie/Rate/test01.pl,
-	test/Movie/Rate/test01.py, test/Movie/add/test01-cxx.C,
-	test/Movie/add/test01.php, test/Movie/add/test01.pl,
-	test/Movie/add/test01.py, test/Movie/add/test02-cxx.C,
-	test/Movie/add/test02.php, test/Movie/add/test02.pl,
-	test/Movie/add/test02.py, test/Movie/new/test01-cxx.C,
-	test/Movie/new/test01.php, test/Movie/new/test01.pl,
-	test/Movie/new/test01.py, test/Movie/new/test02-cxx.C,
-	test/Movie/new/test02.php, test/Movie/new/test02.pl,
-	test/Movie/new/test02.py, test/Movie/new/test03-cxx.C,
-	test/Movie/new/test03.php, test/Movie/new/test03.pl,
-	test/Movie/new/test03.py, test/Movie/new/test04-cxx.C,
-	test/Movie/new/test04.php, test/Movie/new/test04.pl,
-	test/Movie/new/test04.py, test/Movie/new/test05-cxx.C,
-	test/Movie/new/test05.php, test/Movie/new/test05.pl,
-	test/Movie/new/test05.py, test/Movie/nextFrame/test01-cxx.C,
-	test/Movie/nextFrame/test01.php, test/Movie/nextFrame/test01.pl,
-	test/Movie/nextFrame/test01.py, test/Movie/nextFrame/test01.tcl,
-	test/Movie/nextFrame/test02-cxx.C, test/Movie/nextFrame/test02.php,
-	test/Movie/nextFrame/test02.pl, test/Movie/nextFrame/test02.py: a
-	simple regen of the scripts
-
-2007-03-15  anderson <anderson>
-
-	* test/Movie/Background/test01-cxx.C,
-	test/Movie/Background/test01.php, test/Movie/Background/test01.pl,
-	test/Movie/Background/test01.py,
-	test/Movie/Background/test02-cxx.C,
-	test/Movie/Background/test02.php, test/Movie/Background/test02.pl,
-	test/Movie/Background/test02.py,
-	test/Movie/Background/test03-cxx.C,
-	test/Movie/Background/test03.php, test/Movie/Background/test03.pl,
-	test/Movie/Background/test03.py: a simple regen of the scripts
-
-2007-03-15  anderson <anderson>
-
-	* util/Makefile.am, util/outputscript.c: Preliminary support for
-	outputting tcl. Still much more work needed before it's useful, but
-	the framework is there now.
-
-2007-03-15  strk <strk>
-
-	* test/actionscript/ASM_push.as: remove TODO item for undefined (we
-	do test it now)
-
-2007-03-15  strk <strk>
-
-	* test/actionscript/ASM_push.ref: fix after typo in undefined push
-
-2007-03-15  strk <strk>
-
-	* util/action.c: fix typo in 'undefined' output
-
-2007-03-15  strk <strk>
-
-	* NEWS, src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, test/actionscript/ASM_push.as,
-	test/actionscript/ASM_push.ref: Handle 'undefined' as an undefined
-	value (using push type undefined)
-
-2007-03-15  strk <strk>
-
-	* util/action.c: Fox typy (undefiend is undefined)
-
-2007-03-15  strk <strk>
-
-	* src/blocks/sprite.c: (newSWFSprite): properly initialize the grid member
-
-2007-03-15  strk <strk>
-
-	* ChangeLog: Sync'ed
-
-2007-03-15  anderson <anderson>
-
-	* util/outputscript.c: Remove redundant 'class SWFFont'
-
-2007-03-15  anderson <anderson>
-
-	* php_ext/ming.c: dyslexic typo
-
-2007-03-15  anderson <anderson>
-
-	* mingpp.h: Remove an extraneous ';'
-
-2007-03-14  strk <strk>
-
-	* src/ming.h.in: Add missing clip event values (contributed by
-	Benjamin Otte <otte at gnome.org>)
-
-2007-03-14  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: parse
-	SWF_SETTABINDEX
-
-2007-03-14  krechert <krechert>
-
-	* perl_ext/Button.xs, perl_ext/MovieClip.xs: added scaling grid
-	methods
-
-2007-03-14  krechert <krechert>
-
-	* php_ext/ming.c: added ScalingGrid methods
-
-2007-03-14  akleine <akleine>
-
-	* util/outputscript.c: Changed hardcoded generating of comments now
-	by using the COMMSTART and COMMEND macros at two places.
-
-2007-03-14  krechert <krechert>
-
-	* mingpp.h: added ScalingGrid methods
-
-2007-03-14  krechert <krechert>
-
-	* src/blocks/videostream.c: removed unnecessary warning. proper
-	checkinng in displaylist added \n to warn message
-
-2007-03-13  krechert <krechert>
-
-	* perl_ext/Constants.xs, perl_ext/DisplayItem.xs: SWFDisplayItem API
-	update
-
-2007-03-13  krechert <krechert>
-
-	* php_ext/ming.c, src/displaylist.c, src/ming.h.in: added SWF prefix
-	to blend mode constants
-
-2007-03-12  akleine <akleine>
-
-	* util/decompile.c: 2 bugfixes for ternary operation (?:) and return
-	op
-
-2007-03-12  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/button.c, src/blocks/button.h,
-	src/blocks/scalinggrid.c, src/blocks/scalinggrid.h,
-	src/blocks/sprite.h, src/displaylist.c, src/ming.h.in,
-	src/movieclip.c: [no log message]
-
-2007-03-12  krechert <krechert>
-
-	* src/blocks/soundstream.c: fixed compiler warning
-
-2007-03-12  strk <strk>
-
-	* test/actionscript/ASM_push.as, test/actionscript/ASM_push.ref,
-	test/actionscript/Makefile.am: Add testcases for asm { push }
-
-2007-03-12  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Fix asm 'push' (see bug #10) -
-	contributed by Benjamin Otte
-
-2007-03-12  krechert <krechert>
-
-	* src/blocks/metadata.c: added missing free()
-
-2007-03-12  strk <strk>
-
-	* test/Movie/new/test06.ref: Fix expected output after UseNetwork
-	default has been changed to true
-
-2007-03-11  krechert <krechert>
-
-	* src/blocks/fileattrs.c: typo
-
-2007-03-11  krechert <krechert>
-
-	* src/blocks/fileattrs.c, src/blocks/scriptlimits.c: added missing
-	free() in destroy-methods
-
-2007-03-11  krechert <krechert>
-
-	* php_ext/ming.c: moved new SWFMovie methods under #HAVE_NEW_MING
-	condition
-
-2007-03-11  krechert <krechert>
-
-	* php_ext/ming.c: API updates: SWFDisplayItem_cacheAsBitmap
-	SWFDisplayItem_setBlendMode
-
-2007-03-11  krechert <krechert>
-
-	* src/ming.h.in: typo-fix
-
-2007-03-10  krechert <krechert>
-
-	* src/blocks/blocktypes.h: SWF_IMPORTASSETS was deprecated in SWF 8
-
-2007-03-10  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: parsing
-	SWF_IMPORTASSETS2
-
-2007-03-10  krechert <krechert>
-
-	* src/blocks/fileattrs.c, util/blocktypes.c, util/outputdecl.h,
-	util/outputtxt.c, util/parser.c, util/parserdecl.h, util/swftypes.h: 
-	[no log message]
-
-2007-03-10  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: DefineShape4 /
-	LineStyle2
-
-2007-03-05  akleine <akleine>
-
-	* util/decompile.c: Continued work on "switch(x){case y:...}" .
-	(Now enabled by default.)
-
-2007-03-05  strk <strk>
-
-	* util/outputtxt.c: Made output of PLACEOBJECT2 clip actions neater
-
-2007-03-04  krechert <krechert>
-
-	* src/blocks/imports.c: SWF_IMPORTASSETS is deprecated with version
-	>= 8. Use SWF_IMPORTASSETS2 instead
-
-2007-03-04  krechert <krechert>
-
-	* php_ext/ming.c: fixed compile error
-
-2007-03-04  krechert <krechert>
-
-	* php_ext/ming.c: added new SWFMovie features
-
-2007-03-04  krechert <krechert>
-
-	* mingpp.h, perl_ext/Movie.xs: added new SWFMovie features
-
-2007-03-04  krechert <krechert>
-
-	* test/Movie/new/Makefile.am, test/Movie/new/TestList,
-	test/Movie/new/test06-cxx.C, test/Movie/new/test06.c,
-	test/Movie/new/test06.php, test/Movie/new/test06.pl,
-	test/Movie/new/test06.py, test/Movie/new/test06.ref: test for proper
-	SWF 8 files
-
-2007-03-03  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/scriptlimits.c,
-	src/blocks/scriptlimits.h, src/ming.h.in, src/movie.c: ScripLimits
-	support
-
-2007-03-03  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: ScriptLimits
-	support
-
-2007-03-03  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/metadata.c,
-	src/blocks/metadata.h, src/ming.h.in, src/movie.c,
-	util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: Metadata support
-
-2007-03-03  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/fileattrs.c,
-	src/blocks/fileattrs.h, src/ming.h.in, src/movie.c: write proper SWF
-		8 files: first tag after header must be a SWFFileAttributes-tag.  set UseNetworkFlag: 	for localy loaded movies permission for network access must be
-		stated explicitly
-
-2007-02-28  krechert <krechert>
-
-	* src/blocks/soundstream.c: small bugfix for flv sound streams.
-
-2007-02-27  akleine <akleine>
-
-	* util/decompile.c: Added first time support for  switch(){}
-	-statements (not quite complete and thus disabled by default).
-
-2007-02-26  strk <strk>
-
-	* util/decompile.c: GOTOFRAME arg is 0-based!
-
-2007-02-26  strk <strk>
-
-	* test/actionscript/GotoFrame.ref: Expect GOTOFRAME arg to be
-	0-based
-
-2007-02-26  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Target frame for GOTOFRAME tag
-	is 0-based
-
-2007-02-26  strk <strk>
-
-	* NEWS: Add note about gotoAndPlay() and gotoAndStop() handling
-	change
-
-2007-02-26  strk <strk>
-
-	* test/actionscript/GotoFrame.as, test/actionscript/GotoFrame.ref,
-	test/actionscript/Makefile.am: Add test for gotoAndPlay() and
-	gotoAndStop()
-
-2007-02-26  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Drop support for non-standard
-	gotoFrame() calls.  Handle gotoAndPlay() and gotoAndStop() by using
-	GOTOFRAME, GOTOFRAME2 or GOTOLABEL depending on argument type. Still
-	use callMethod if they are invoked as methods of something.
-
-2007-02-21  krechert <krechert>
-
-	* configure.in, test/Filter/Makefile.am, test/Filter/TestList,
-	test/Filter/test01-cxx.C, test/Filter/test01.c,
-	test/Filter/test01.ref, test/Makefile.am: [no log message]
-
-2007-02-21  krechert <krechert>
-
-	* mingpp.h: added SWFFilter support to C++ header
-
-2007-02-20  krechert <krechert>
-
-	* util/outputtxt.c: added missing bevel-filter
-
-2007-02-20  krechert <krechert>
-
-	* src/blocks/filter.h, src/displaylist.c: [no log message]
-
-2007-02-20  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputtxt.c,
-	util/parser.c, util/parserdecl.h, util/swftypes.h: added
-	SWF_FILEATTRIBUTES (69) for SWF >= 8 this tag is obligatory
-
-2007-02-19  krechert <krechert>
-
-	* util/blocktypes.c, util/outputdecl.h, util/outputscript.c,
-	util/outputtxt.c, util/parser.c, util/parserdecl.h, util/swftypes.h: 
-	added PlaceObject3, SWFFilter
-
-2007-02-19  krechert <krechert>
-
-	* src/blocks/filter.c: bugfix
-
-2007-02-19  krechert <krechert>
-
-	* src/blocks/placeobject.c: bugfix: write number of filters first
-
-2007-02-18  krechert <krechert>
-
-	* src/blocks/placeobject.c, src/blocks/placeobject.h: PlaceObject3
-	tags extend PlaceObject2 tags. PlaceObject object has now version
-	information.
-
-2007-02-18  krechert <krechert>
-
-	* src/displaylist.c: added functions for PlaceObject3 tags
-
-2007-02-18  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/filter.c, src/blocks/filter.h,
-	src/blocks/gradient.c, src/blocks/gradient.h, src/ming.h.in: added : 	- SWFFilter 	- write Gradient for SWF filter 	- DisplayItem prototypes for PlaceObject3 tags
-
-2007-02-17  krechert <krechert>
-
-	* src/blocks/output.c, src/blocks/output.h: write FIXED, FLOAT16/32,
-	DOUBLE datatypes
-
-2007-02-14  strk <strk>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: Add support for
-	SERIALNUMBER (tag 41)
-
-2007-02-13  akleine <akleine>
-
-	* util/decompile.c: Added some memory reallocation if needed to
-	newVar_N() and newVar_N2.
-
-2007-02-12  strk <strk>
-
-	* test/Movie/Protect/test01-cxx.C, test/Movie/Protect/test01.php,
-	test/Movie/Protect/test01.pl, test/Movie/Protect/test01.py,
-	test/Movie/Protect/test02-cxx.C, test/Movie/Protect/test02.php,
-	test/Movie/Protect/test02.pl, test/Movie/Protect/test02.py: 
-	Regenerated binding tests, just for fun (to show it still works)  :)
-
-2007-02-12  strk <strk>
-
-	* py_ext/ming.py: Fix handling of Protect tag w/out password
-
-2007-02-12  strk <strk>
-
-	* perl_ext/.cvsignore, php_ext/.cvsignore, py_ext/.cvsignore,
-	src/.cvsignore, tcl_ext/.cvsignore: Updated .cvsignore files
-
-2007-02-11  krechert <krechert>
-
-	* util/main.c, util/outputtxt.c, util/parser.c, util/parser.h,
-	util/swftypes.h: more SWF_STREAMBLOCK info
-
-2007-02-11  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: output
-	SWF_SOUNDSTREAM[...]
-
-2007-02-11  krechert <krechert>
-
-	* src/blocks/blocktypes.h: added some blocktypes
-
-2007-02-11  krechert <krechert>
-
-	* src/blocks/blocktypes.h: [no log message]
-
-2007-02-11  strk <strk>
-
-	* test/dotests.pl: Add execute bit to non-executable testbuilders
-	(this is the case for script builders).
-
-2007-02-11  strk <strk>
-
-	* test/actionscript/Makefile.am: Properly clean .frame#.pp files
-
-2007-02-10  krechert <krechert>
-
-	* src/blocks/blocktypes.h: added missing SWF 8 blocktypes
-
-2007-02-10  krechert <krechert>
-
-	* src/blocks/protect.c: added cast to avoid warning
-
-2007-02-10  krechert <krechert>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.y: bufferWriteConstantString(),
-	bufferWriteHardString(), bufferWriteString() use (char *) instead of
-	(byte *)
-
-2007-02-10  krechert <krechert>
-
-	* src/blocks/videostream.c: fixed compiler warning
-
-2007-02-09  krechert <krechert>
-
-	* src/blocks/videostream.c: parse dimension for VP6 codec
-
-2007-02-09  krechert <krechert>
-
-	* src/blocks/error.c, src/blocks/error.h: SWF_assert: print
-	__FILE__, __LINE__ and condition
-
-2007-02-09  krechert <krechert>
-
-	* src/blocks/flv.c: skip first byte flv-video payload for VP6 codec.
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/videostream.c: make sure video-width and -height are
-	always set
-
-2007-02-08  akleine <akleine>
-
-	* util/decompile.c: Fixed several problems: array indexing by
-	register variables, incrementing/decrementing registers and usual
-	variables, Also removed some obsolete notes and comments and fixed
-	an INDENT call.
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/flv.h, src/blocks/videostream.c: added flash 8 codec
-	ids
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/videostream.h: clean up this mess
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/flv.c, src/blocks/flv.h: added tagtype FLV_SCRIPTTAG
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/soundstream.c: first step towards generic soundstreams
-	from flv files
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/flv.c, src/blocks/flv.h, src/blocks/videostream.c: use
-	new SWFInput_input added destroyFLVStream()
-
-2007-02-08  krechert <krechert>
-
-	* src/blocks/input.c, src/ming.h.in: SWFInput_input(SWFInput in, int
-	len): Allows restricted reading from a given SWFInput. The new
-	created input starts at SWFInput_tell(in) and has length len.
-
-2007-02-07  akleine <akleine>
-
-	* util/outputscript.c: fixed DECLOBJ macro for PERL by adding a $
-	sign
-
-2007-02-06  akleine <akleine>
-
-	* util/decompile.c: 2 bugfixes to avoid emitting of "break"
-	statements at wrong place
-
-2007-02-06  strk <strk>
-
-	* util/outputscript.c: SWFFillStyle is called SWFFill in C++, dunno
-	about other bindings so I changed it for all of them (please
-	verify). Renamed all character instances to have the 'character'
-	prefix (rather then 'sp' for sprites, 's' for shapes and so on) to
-	simplify handling of PLACEOBJECT and other tags referencing generic
-	chars.  Fixed a typo in BitmapFillStyle. Fixed C++ output of
-	lineStyle output.  Added some missing comment START/END specs
-	(comments were added as code).  Added support for DEFINESHAPE2 (just
-	copied from DEFINESHAPE).
-
-2007-02-06  strk <strk>
-
-	* util/outputscript.c: Stubbed SWF_DEFINEBITSJPEG2, fixes and
-	cleanups SWFFillStyle output. Comments left for things to do.
-
-2007-02-05  krechert <krechert>
-
-	* src/blocks/input.c: removed statement with no effect
-
-2007-02-04  krechert <krechert>
-
-	* src/blocks/flv.c, src/blocks/flv.h: added
-	FLVStream_setStreamOffset function
-
-2007-02-04  krechert <krechert>
-
-	* src/blocks/soundstream.c: fixed memory leak if MP3 file is corrupt
-
-2007-02-04  krechert <krechert>
-
-	* src/blocks/videostream.c: added documentation for public functions
-
-2007-02-03  krechert <krechert>
-
-	* src/blocks/videostream.c: use generic flv reader
-
-2007-02-03  krechert <krechert>
-
-	* src/blocks/Makefile.am, src/blocks/flv.c, src/blocks/flv.h: 
-	generic flv file parsing
-
-2007-02-03  akleine <akleine>
-
-	* util/decompile.c: Added 'cast' operation and removed obsolete
-	code.
-
-2007-02-01  krechert <krechert>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: listswf: list
-	video-tags
-
-2007-02-01  akleine <akleine>
-
-	* util/decompile.c, util/outputscript.c: 1. enhanced detection of 'else' and 'break' 2. implented new operation: SWFACTION_IMPLEMENTSOP 3. added SWFPERL to initializer function in outputscript.c
-
-2007-02-01  strk <strk>
-
-	* test/Movie/Background/test01.ref,
-	test/Movie/Background/test02.ref, test/Movie/Background/test03.ref,
-	test/Movie/Dimension/test01.ref, test/Movie/FrameLabel/test01.ref,
-	test/Movie/FrameLabel/test02.ref, test/Movie/NumFrames/test01.ref,
-	test/Movie/Protect/test01.ref, test/Movie/Protect/test02.ref,
-	test/Movie/Rate/test01.ref, test/Movie/add/test01.ref,
-	test/Movie/add/test02.ref, test/Movie/new/test01.ref,
-	test/Movie/new/test02.ref, test/Movie/new/test03.ref,
-	test/Movie/new/test04.ref, test/Movie/new/test05.ref,
-	test/Movie/nextFrame/test01.ref, test/Movie/nextFrame/test02.ref,
-	test/actionscript/ASM0.ref, test/actionscript/ASM1.ref,
-	test/actionscript/ASM_extend.ref, test/actionscript/Function.ref,
-	test/actionscript/delete.ref, test/actionscript/logor.ref: 
-	Regenerated .ref files after 'listswf' fix adding SWF_END output.
-
-2007-01-31  krechert <krechert>
-
-	* util/main.c: also output SWF_END
-
-2007-01-30  anderson <anderson>
-
-	* test/Movie/Background/test01-cxx.C,
-	test/Movie/Background/test02-cxx.C,
-	test/Movie/Background/test03-cxx.C: sync in C++ changes
-
-2007-01-30  strk <strk>
-
-	* test/Movie/nextFrame/Makefile.am, test/Movie/nextFrame/TestList,
-	test/Movie/nextFrame/test01.php, test/Movie/nextFrame/test02-cxx.C,
-	test/Movie/nextFrame/test02.c, test/Movie/nextFrame/test02.php,
-	test/Movie/nextFrame/test02.pl, test/Movie/nextFrame/test02.py,
-	test/Movie/nextFrame/test02.ref: New test for explicit last
-	nextFrame call
-
-2007-01-30  strk <strk>
-
-	* util/outputscript.c: Add a language-based initialization function,
-	called by outputBlock (will take care of not running twice). Use
-	unescaped newlines for PHP target
-
-2007-01-30  strk <strk>
-
-	* util/decompile.h: Export setNewLineString
-
-2007-01-30  strk <strk>
-
-	* util/decompile.c: Add a println function to allow for externally
-	setting the newline character
-
-2007-01-30  anderson <anderson>
-
-	* test/Movie/nextFrame/test01.php: Drop the backslash as is makes
-	php unhappy
-
-2007-01-29  strk <strk>
-
-	* configure.in, test/Movie/Makefile.am,
-	test/Movie/nextFrame/.cvsignore, test/Movie/nextFrame/Makefile.am,
-	test/Movie/nextFrame/TestList, test/Movie/nextFrame/test01-cxx.C,
-	test/Movie/nextFrame/test01.c, test/Movie/nextFrame/test01.php,
-	test/Movie/nextFrame/test01.pl, test/Movie/nextFrame/test01.py,
-	test/Movie/nextFrame/test01.ref, test/Movie/nextFrame/test01.tcl: A
-	simple test for the automatic addition of required final SHOWFRAME
-	tags
-
-2007-01-29  strk <strk>
-
-	* src/movie.c: (SWFMovie_toOutput): make sure the movie ends with a SHOWFRAME tag.  (newSWFMovieWithVersion): initialize totalFrames to 0.
-
-2007-01-29  strk <strk>
-
-	* src/blocklist.c, src/blocklist.h: Added SWFBlockList_getLastBlock
-	method
-
-2007-01-29  strk <strk>
-
-	* src/movie.c: Removed obsoleted code
-
-2007-01-29  akleine <akleine>
-
-	* util/decompile.c: Short patch - big effect: 1. keep function decompiling stack inside limit 2. predefined some register variables
-
-2007-01-27  krechert <krechert>
-
-	* mingpp.h: added videostream class
-
-2007-01-27  krechert <krechert>
-
-	* src/blocks/videostream.c, src/ming.h.in: fix destroy-fn signature
-
-2007-01-25  strk <strk>
-
-	* src/ming.c, src/movie.c: Don't warn if Ming_useSWFVersion() is
-	called multiple times but with *same* output version; simplify
-	newSWFMovieWithVersion() by delegating SWF version check to
-	Ming_useSWFVersion() [ call it always ]
-
-2007-01-25  strk <strk>
-
-	* src/movie.c: Have newSWFMovieWithVersion() call
-	Ming_userSWFVersion() if requested version doesn't match current
-	global version (in this case Ming_userSWFVersion will raise a
-	warning)
-
-2007-01-25  strk <strk>
-
-	* src/ming.c: Warn about multiple calls to Ming_useSWFVersion()
-	potentially resulting in malformed SWF.
-
-2007-01-23  akleine <akleine>
-
-	* util/decompile.c: Fixed a bug in new increment/decrement code
-	(1.49, 1.65, 1.72).
-
-2007-01-21  strk <strk>
-
-	* src/movie.c: Allow export of Shape characters, raise an error if
-	an unsupported export is attempted
-
-2007-01-21  akleine <akleine>
-
-	* util/outputscript.c: Ad hoc bugix: added missing initialisation of
-	'gname' buffer in outputSWF_FILLSTYLE(), used in output for
-	FillStyleTypes 0x40-0x43.
-
-2007-01-21  akleine <akleine>
-
-	* util/decompile.c: 1.Enhanced incr/decr for local register
-	  variables.  This avoids output like   "R1--; while(R1>0) {...}",   when something other is needed: "while(--R1>0) {...}".  2.Moved
-	  all other parts except LOGICALNOT from decompileLogicalOp() into
-	  decompileArithmeticOp().  LOGICALNOT now has got its own special
-	function.
-
-2007-01-19  strk <strk>
-
-	* src/ming.h.in: Added some informations about SWFMovie_addExport
-	and SWFMovie_writeExports.
-
-2007-01-18  akleine <akleine>
-
-	* util/decompile.c: Extended handling of local register variables to
-	'old' type 1 functions.  (Using different basics, but getting
-	results similar to V7 files.)
-
-2007-01-17  akleine <akleine>
-
-	* util/decompile.c: Added some sugar for V7 local register variables
-	inside the second type function code. This locals are declared by
-	"var R1, R2, ...Rn;" on top of function.  This also includes a more
-	precise register access in decompileSTOREREGISTER().
-
-2007-01-17  strk <strk>
-
-	* macros/ming.m4: Prepend MING_PATH to PATH when scanning for
-	makeswf
-
-2007-01-11  akleine <akleine>
-
-	* util/decompile.c: Added first time support for tellTarget(
-	destination ){ action; .. }
-
-2007-01-09  akleine <akleine>
-
-	* util/decompile.c: Fixed decompiled indentation at several places,
-	plus also minor cleaning and bigfixes in decompileDEFINEFUNCTION().
-
-2007-01-09  strk <strk>
-
-	* src/actioncompiler/compile.h: Oops, plug comments leaks
-
-2007-01-09  strk <strk>
-
-	* NEWS: Added item about function2
-
-2007-01-09  strk <strk>
-
-	* src/actioncompiler/compile.h: Completed and documented enumeration
-	for DefineFunction2 flags
-
-2007-01-08  strk <strk>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.y: Output DefineFunction2 instead of
-	DefineFunction when output version is > 6.  This is a review and
-	cleanup of the code contributed by Tim Knip as part of his AS7
-	efforts (only the DefineFunction2 extrapolated).
-
-2007-01-08  akleine <akleine>
-
-	* util/decompile.c: Added support for SWFACTION_STARTDRAG,
-	SWFACTION_ENDDRAG, SWFACTION_STOPSOUNDS and removed some code
-	duplication.
-
-2007-01-08  strk <strk>
-
-	* ChangeLog: updated
-
-2007-01-07  akleine <akleine>
-
-	* util/decompile.c: 1.Simplified and bugfixed detection of
-	conditional operator (?:) 2.Added some more stack DEBUG helper code
-	3.Added support for opcodes SWFACTION_SUBSTRING,   SWFACTION_MBSUBSTRING and SWFACTION_EQUAL
-
-2007-01-07  strk <strk>
-
-	* src/blocks/blocktypes.h: SWF8 tags added: SWF_FILEATTRIBUTES (69),
-	SWF_METADATA (77)
-
-2007-01-06  akleine <akleine>
-
-	* util/decompile.c: Enhanced prefixed and postfixed
-	increment/decrement operations, for more complex object variables
-	with side effects.  Note: this gives much better results on code
-	lines like y = obj.x * ++obj.x;.  An initial part was added in CVS
-	release version 1.49, but certainly this stuff needs much more
-	attention.
-
-2007-01-02  strk <strk>
-
-	* NEWS: Added note about the new 'extends' opcode supported
-
-2007-01-02  strk <strk>
-
-	* configure.in, py_ext/setup.py, py_ext/setup.py.in: Have
-	py_ext/setup.py generated at configure time to have version
-	correctly set.  Switch version to 0.4.0.beta4.
-
-2007-01-02  strk <strk>
-
-	* macros/ming.m4: Improved Ming detection macro to provide
-	MING_VERSION and MING_VERSION_CODE.  Semantic explained in comments.
-	Copyright assigned to the FSF.
-
-2007-01-02  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, test/actionscript/ASM_extend.as,
-	test/actionscript/ASM_extend.ref, test/actionscript/Makefile.am: 
-	Added support for the 'extends' (0x69) opcode (asm-mode) + testcase
-	for it.
-
-2007-01-02  strk <strk>
-
-	* util/outputscript.c: Added DECLOBJ() to provide variables
-	declarations (in particular for C++).  Used DECLOBJ macro in
-	outputSWF_FILLSTYLE fixing C++ output.  Handled C++ output for
-	outputSWF_RGBA.
-
-2007-01-01  akleine <akleine>
-
-	* util/decompile.c: 1. Bugfixes in decompileGETMEMBER, decompileSETMEMBER, and
-	decompileNEWOBJECT [rewritten using newVar_N() helper].  This also
-	removes generation of useless quotemarks like x = 'new Object()';
-	vs. x = new Object(); 2. Moved SWFACTION_GREATER, SWFACTION_LESSTHAN into
-	decompileArithmeticOp(), so now calling precedence check.  3. Added bugfix in handling anonymous functions used as a function
-	argument, i.e. script code like x=callme(1, 2, function(){return
-	3;}, 4); 4. Added support for SWFACTION_NEWMETHOD opcode.  5. Bugfix in decompileIF preventing too early end inside loops after
-	a conditioned "break;" was found.
-
-2006-12-29  akleine <akleine>
-
-	* util/decompile.c: 1. Added an initial implementation of enumeration loops:    for( [var] enum in obj ){....}; .  2. Added support of the "instanceof" operator.
-
-2006-12-27  akleine <akleine>
-
-	* util/decompile.c: added support for SWFACTION_TYPEOF, also added
-	minor bugfix in decompileCALLFRAME()
-
-2006-12-27  akleine <akleine>
-
-	* util/decompile.c, util/parser.c: added implementation of
-	SWFACTION_STRINGLENGTH, SWFACTION_INITOBJECT, SWFACTION_CALLFRAME
-	and initial SWFACTION_GETPROPERTY
-
-2006-12-24  strk <strk>
-
-	* src/blocks/blocktypes.h, util/blocktypes.c, util/outputdecl.h,
-	util/outputtxt.c, util/parser.c, util/parserdecl.h, util/swftypes.h: 
-	Applied patch by Giuliano Pochini <giuliano at shiny.it> adding support
-	for dumping the reflex (777) tag.
-
-2006-12-23  strk <strk>
-
-	* util/outputscript.c: (newobj): when target is C++ properly declare variables;
-	(outputHeader): don't predeclare SWFMovie variable, will be done by
-	newobj()
-
-2006-12-23  strk <strk>
-
-	* util/decompile.c: Some more newlines escaping
-
-2006-12-22  akleine <akleine>
-
-	* util/decompile.c: Added code for SWFACTION_ORD, also moved similar
-	build-in function call code (chr,random,int ...) into one function
-	fitting for all that
-
-2006-12-21  akleine <akleine>
-
-	* util/decompile.c: Rewrote decompileDEFINEFUNCTION2() by melting
-	(and cleaning) with decompileDEFINEFUNCTION()  -- fixing the
-	'gravity' problem #1
-
-2006-12-20  akleine <akleine>
-
-	* util/decompile.c: Added support for SWFACTION_DELETE and
-	SWFACTION_DELETE2, improved handling of SWF-properties
-
-2006-12-19  akleine <akleine>
-
-	* util/decompile.c: implemented missing SWFACTION_GOTOFRAME2
-
-2006-12-19  akleine <akleine>
-
-	* util/decompile.c: Adjusted SWFACTION_LOGICALOR and
-	SWFACTION_LOGICALAND operations according new compiler code
-	generation style.  (Note: until now old decompiler only emitted
-	strings either "LAND" or "LOR" - due less of test code)
-
-2006-12-18  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y, test/actionscript/logor.ref: 
-	Use Logical OR and AND tags rather then implement these by mean of
-	other tags. Note that the logor.as testfile was already producing
-	*working* code, just a bit bigger then the one that is output now.
-	This was verified with the MM player.
-
-2006-12-18  akleine <akleine>
-
-	* util/decompile.c: once more enhanced decompileGETMEMBER()
-
-2006-12-16  akleine <akleine>
-
-	* test/actionscript/Makefile.am, test/actionscript/logor.as,
-	test/actionscript/logor.ref: Added test case for "logical_or"
-	compiler bug just reported at developer list.  Take care: "make
-	check"  will *fail* until bug is fixed.
-
-2006-12-15  strk <strk>
-
-	* docs/Makefile.am, docs/man/Makefile.am, perl_ext/Makefile.PL,
-	perl_ext/Makefile.am, php_ext/Makefile.am, py_ext/Makefile.am,
-	src/Makefile.am, tcl_ext/Makefile.am,
-	test/Movie/Background/Makefile.am,
-	test/Movie/Dimension/Makefile.am,
-	test/Movie/FrameLabel/Makefile.am,
-	test/Movie/NumFrames/Makefile.am, test/Movie/Protect/Makefile.am,
-	test/Movie/Rate/Makefile.am, test/Movie/add/Makefile.am,
-	test/Movie/new/Makefile.am, util/Makefile.am: Patch by Patrice Dumas
-	<pertusus at free.fr>: 	* distribute more files 	* add some files created by configure to DISTCLEANFILES 	* don't recompile ming during Makefile.perl generation 	* don't silence the clean rule in py_ext/Makefile.am, and use
-		clean-local * put flags linking libraries in LIBADD instead of LDFLAGS 	* add more files in CLEANFILES
-
-2006-12-15  akleine <akleine>
-
-	* util/decompile.c: Rewrote decompileGETMEMBER() and added bugfix in
-	decompilePUSHPARAM() to generate better AS array/object code like
-	old "dot.7._visible =   1"  now is  "dot[7]._visible = true;"
-
-2006-12-14  strk <strk>
-
-	* NEWS: Added some news, please add them as we go so it's easier for
-	whoever puts the release out to find out
-
-2006-12-14  strk <strk>
-
-	* util/outputscript.c: Don't force a newline at start of SWFAction(
-	) argument.
-
-2006-12-14  strk <strk>
-
-	* util/decompile.c: Provide an NL macro for encoding a newline (will
-	escape the newline now, outputting correct C++ code - not tested
-	with other languages, but I guess escaping a newline is always fine)
-
-2006-12-13  strk <strk>
-
-	* test/actionscript/Makefile.am, test/actionscript/delete.as,
-	test/actionscript/delete.ref: Added test for delete and delete2 tags
-
-2006-12-13  strk <strk>
-
-	* test/actionscript/README: Updated readme (EXTRA_DIST needs
-	touching too)
-
-2006-12-13  strk <strk>
-
-	* ChangeLog, src/actioncompiler/swf5compiler.y: Fixed 'delete obj'
-	to use SWFACTION_DELETE2 (0x3b) rather then SWFACTION_DELETE (0x3a),
-	which should be used for 'delete obj.member' or 'delete
-	obj[member]'.
-
-2006-12-13  anderson <anderson>
-
-	* test/Makefile.inc, test/Movie/Background/.cvsignore,
-	test/Movie/Background/test01.php, test/Movie/Background/test02.php,
-	test/Movie/Background/test03.php, test/Movie/Dimension/.cvsignore,
-	test/Movie/Dimension/test01.php, test/Movie/FrameLabel/.cvsignore,
-	test/Movie/FrameLabel/test01.php, test/Movie/FrameLabel/test02.php,
-	test/Movie/NumFrames/.cvsignore, test/Movie/NumFrames/test01.php,
-	test/Movie/Protect/.cvsignore, test/Movie/Protect/test01.php,
-	test/Movie/Protect/test02.php, test/Movie/Rate/.cvsignore,
-	test/Movie/Rate/test01.php, test/Movie/add/.cvsignore,
-	test/Movie/add/test01.php, test/Movie/add/test02.php,
-	test/Movie/new/.cvsignore, test/Movie/new/test01.php,
-	test/Movie/new/test02.php, test/Movie/new/test03.php,
-	test/Movie/new/test04.php, test/Movie/new/test05.php: Add a way to
-	ensure that PHP uses the just build module, instead of the one on
-	the system
-
-2006-12-12  strk <strk>
-
-	* util/makeswf.c: Implement a separate function for detecting the
-	type of frame content.  Take files anding in .jpeg as bitmaps.  (to
-	be improved to use magic number)
-
-2006-12-12  strk <strk>
-
-	* src/Makefile.am: MKDIR_P => mkdir_p (dunno why the name changed)
-
-2006-12-12  strk <strk>
-
-	* src/actioncompiler/Makefile.am: Applied patch by Patrice Dumas:
-	distribute the files generated by lex and yacc
-
-2006-12-12  strk <strk>
-
-	* tcl_ext/Makefile.am: Patch by Patrice Dumas: avoid version in tcl
-	shared object, and install it under $(libdir)/ming/tcl
-
-2006-12-12  akleine <akleine>
-
-	* util/decompile.c: minor patch reverting strinq quotes from ugly
-	\\\" to ' single quote
-
-2006-12-12  strk <strk>
-
-	* src/Makefile.am: Applied patch by Patrice Dumas
-		<pertusus at free.fr>: * fix 'clean' rule to work even when no script bindings are
-	activated
-
-2006-12-12  anderson <anderson>
-
-	* configure.in: Since the version number is already embedded in the
-	listof dirs to try, we don't need to addition suffix loop to try
-	different versions.
-
-2006-12-12  anderson <anderson>
-
-	* php_ext/ming.c: Fix an inconsistant usage of PHP_FUNCTION vs
-	PHP_METHOD
-
-2006-12-12  strk <strk>
-
-	* configure.in, perl_ext/Makefile.am, php_ext/Makefile.am,
-	php_ext/make_module.sh, py_ext/Makefile.am, py_ext/setup.py,
-	src/Makefile.am, src/actioncompiler/Makefile.am,
-	tcl_ext/Makefile.am: Applied patch by Patrice Dumas
-	<pertusus at free.fr>: * allow for rebuilt of python and php modules against in-source libs * allows for out of source php and * check for phpize, not only for php * move AC_INIT to be the at the very first configure.in, otherwise   version definitions are igored.  * distribute perl_ext/common/* * in py_ext/Makefile.am, don't have all depend on build, since build   is also a directory. honor prefix and DESTDIR in install * src/actioncompiler/Makefile.am: cleanups
-
-2006-12-11  strk <strk>
-
-	* docs/man/makeswf.1, util/makeswf.c: Use a name for prebuilt clips
-	as well. I can't belive how powerful this tool is getting ;)
-
-2006-12-11  strk <strk>
-
-	* docs/man/makeswf.1: Updated manual page with info about bitmaps
-	and prebuilt clips.
-
-2006-12-11  akleine <akleine>
-
-	* util/decompile.c: removed 2 FIXMEs in variable assingnment: by
-	setting string quotemarks if needed  (e.g.:  a=variable_b;  vs.
-	a="string_b";)
-
-2006-12-11  strk <strk>
-
-	* util/makeswf.c: Allow png or jpg frame contents
-
-2006-12-11  strk <strk>
-
-	* Makefile.am, configure.in, perl_ext/Makefile.PL,
-	perl_ext/Makefile.am, php_ext/Makefile.am, tcl_ext/Makefile.am,
-	tcl_ext/test.tcl, test/Movie/Protect/Makefile.am,
-	test/actionscript/Makefile.am, util/Makefile.am: Applied patch by
-	Patrice Dumas <pertusus at free.fr>: 	* put all the dirs in DIST_SUBDIRS, to distribute them even if some
-		  are not in SUBDIRS 	* distribute more files 	* more directories to search for tcl headers 	* fix output message for CXX in configure.in 	* in perl_ext, distinguish between the build dir and the src dir 	* other minor fixes
-
-2006-12-11  anderson <anderson>
-
-	* NEWS: One more interesting fix
-
-2006-12-11  anderson <anderson>
-
-	* ChangeLog, Makefile.am: Last changes for 0.4.0.beta3
-
-2006-12-11  anderson <anderson>
-
-	* configure.in: Missed the version in one place
-
-2006-12-10  anderson <anderson>
-
-	* ChangeLog, NEWS, configure.in: Update for Beta3
-
-2006-12-10  anderson <anderson>
-
-	* py_ext/Makefile.am: Remove ming.i from the list of files since it
-	moved up a level
-
-2006-12-10  anderson <anderson>
-
-	* tcl_ext/Makefile.am, tcl_ext/Makefile.in: Improved autotooling
-
-2006-12-10  anderson <anderson>
-
-	* configure.in: Remove dead variables
-
-2006-12-10  anderson <anderson>
-
-	* java_ext/Makefile, java_ext/native/Makefile: Some preliminary
-	fixes for the Java extension
-
-2006-12-10  anderson <anderson>
-
-	* configure.in, tcl_ext/Makefile.in: z few last tcl fixups
-
-2006-12-10  anderson <anderson>
-
-	* tcl_ext/Makefile.in: fix the suffix of the shared lib
-
-2006-12-10  anderson <anderson>
-
-	* Makefile.am, configure.in, tcl_ext/Makefile, tcl_ext/Makefile.in: 
-	Add build support for tcl extension
-
-2006-12-10  akleine <akleine>
-
-	* util/decompile.c: differ between pre-fixed and post-fixed
-	increment/decrement operations, currently for simple variables only.
-	Note: this gives much better results on code lines like "text= x *
-	(--x);"
-
-2006-12-06  akleine <akleine>
-
-	* util/decompile.c: Rewrote parts decompileIF() by a different
-	approach handling code of conditioned jumps for logical OR and AND
-	using stack.  (But do not confuse with SWFACTION_LOGICAL...
-	opcodes.)
-
-2006-11-28  anderson <anderson>
-
-	* php_ext/config.m4: Look in the loca src tree first when trying to
-	find headers
-
-2006-11-27  anderson <anderson>
-
-	* ming.i, py_ext/ming.i, py_ext/ming_wrap.c, py_ext/mingc.py,
-	test/dotests.pl: Eliminate the duplicate ming.i, and move the good
-	one to the top so other languages can swig it
-
-2006-11-26  anderson <anderson>
-
-	* Makefile.am, configure.in, perl_ext/Makefile.am,
-	php_ext/MANIFEST, php_ext/Makefile, php_ext/Makefile.am,
-	php_ext/make_module.sh, py_ext/Makefile, py_ext/Makefile.am: Cause
-	language bindings to build and show up in the dist tarballs
-
-2006-11-25  strk <strk>
-
-	* test/actionscript/ASM1.as, test/actionscript/ASM1.ref,
-	test/actionscript/Makefile.am: Added test of mixing asm{} with AS_V6
-
-2006-11-25  strk <strk>
-
-	* test/actionscript/ASM0.as, test/actionscript/ASM0.ref,
-	test/actionscript/Makefile.am, test/actionscript/README: Small test
-	for asm{} block
-
-2006-11-25  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex: Only reset start condition
-	if in INITIAL state (fixes asm{} use)
-
-2006-11-22  strk <strk>
-
-	* util/makeswf.c: Experimental support for use of prebuilt clips.
-	Example: makeswf frame1.as frame2.swf frame3.as ...
-
-2006-11-22  strk <strk>
-
-	* src/blocks/fromswf.c: Proper use of ZLIB-related macros, don't
-	segfault if ZLIB is not compiled in.
-
-2006-11-21  anderson <anderson>
-
-	* ChangeLog, NEWS, configure.in: Doc updates for 0.4.0-beta2
-	snapshot
-
-2006-11-21  anderson <anderson>
-
-	* php_ext/README.PHP4, php_ext/README.PHP5: Update the comments
-
-2006-11-21  anderson <anderson>
-
-	* .cvsignore, Makefile.am, configure.in, ming.spec.in: Add bits for
-	building rpms
-
-2006-11-21  anderson <anderson>
-
-	* src/.cvsignore, src/Makefile.am, src/libming.pc.in: add bits for
-	building an rpm
-
-2006-11-21  anderson <anderson>
-
-	* test/Movie/FrameLabel/TestList: Describe the 2nd test
-
-2006-11-21  anderson <anderson>
-
-	* perl_ext/TextField.xs: Add the UTF variant for TextField
-
-2006-11-21  anderson <anderson>
-
-	* docs/libming/Ming_useSWFVersion.html,
-	docs/libming/SWFMovie_add.html,
-	docs/libming/SWFMovie_labelFrame.html,
-	docs/libming/SWFMovie_namedAnchor.html,
-	docs/libming/SWFMovie_protect.html, docs/libming/index.html,
-	docs/man/Ming_getScale.3, docs/man/Ming_init.3,
-	docs/man/Ming_setCubicThreshold.3,
-	docs/man/Ming_setErrorFunction.3,
-	docs/man/Ming_setSWFCompression.3, docs/man/Ming_setScale.3,
-	docs/man/Ming_setWarnFunction.3, docs/man/Ming_useSWFVersion.3,
-	docs/man/SWFMovie_add.3, docs/man/SWFMovie_labelFrame.3,
-	docs/man/SWFMovie_namedAnchor.3, docs/man/SWFMovie_protect.3,
-	docs/man/SWFMovie_setBackground.3,
-	docs/man/SWFMovie_setDimension.3,
-	docs/man/SWFMovie_setNumberOfFrames.3, docs/man/SWFMovie_setRate.3,
-	docs/man/destroySWFMovie.3, docs/man/newSWFMovie.3,
-	docs/man/newSWFMovieWithVersion.3, src/ming.c, src/movie.c: Document
-	function which have been added to the test suite
-
-2006-11-21  anderson <anderson>
-
-	* mingpp.h: Add SWFMovieClip class
-
-2006-11-16  anderson <anderson>
-
-	* test/Movie/add/test02.php: Go with the generated SWFMovieClip now
-	that the php module has an alias for that class
-
-2006-11-16  anderson <anderson>
-
-	* php_ext/ming.c: SWFMovieClip was mis-named SWFMovieSprite. To
-	preserve some level of compatability, instead of just renaming
-	everything, add SWFMovieClip as an alias for SWFSprite.
-
-2006-11-16  anderson <anderson>
-
-	* util/outputscript.c: Improved generation of add()
-
-2006-11-16  anderson <anderson>
-
-	* test/Movie/add/test01.py, test/Movie/add/test02-cxx.C,
-	test/Movie/add/test02.php, test/Movie/add/test02.pl,
-	test/Movie/add/test02.py: Fixed test code. Some hand fixing is still
-	needed 8-(
-
-2006-11-15  strk <strk>
-
-	* test/Makefile.inc: Use 'listswf' from the build tree, not the
-	installed one (forgive me if that was intended)
-
-2006-11-15  strk <strk>
-
-	* test/Movie/add/test02.ref: updated after fix in outputtxt.c (we
-	include Sprite tags in output now)
-
-2006-11-15  strk <strk>
-
-	* util/outputtxt.c: added iprintf() function and INDENT global for
-	indented-print.
-
-2006-11-15  anderson <anderson>
-
-	* util/outputtxt.c: Display the contents of a sprite
-
-2006-11-15  strk <strk>
-
-	* test/Movie/add/test01.c: Minor cleanup: use (SWFBlock) for second
-	argument of SWFMovie_add (urgh)
-
-2006-11-15  strk <strk>
-
-	* configure.in, test/Movie/Makefile.am, test/Movie/add/.cvsignore,
-	test/Movie/add/Makefile.am, test/Movie/add/TestList,
-	test/Movie/add/test01-cxx.C, test/Movie/add/test01.c,
-	test/Movie/add/test01.php, test/Movie/add/test01.pl,
-	test/Movie/add/test01.py, test/Movie/add/test01.ref,
-	test/Movie/add/test02-cxx.C, test/Movie/add/test02.c,
-	test/Movie/add/test02.php, test/Movie/add/test02.pl,
-	test/Movie/add/test02.py, test/Movie/add/test02.ref: Two simple
-	tests for SWFMovie_add (add action, add sprite).  Note: swftocxx
-	      does a really bad job in this case, had to manually modify C++ code
-	for both cases
-
-2006-11-15  strk <strk>
-
-	* util/makeswf.c: Fixed import feature to properly set
-	__shared_assets sprite frame count
-
-2006-11-15  strk <strk>
-
-	* docs/man/makeswf.1: Improved documentation of the -i flag (import
-	symbols)
-
-2006-11-13  strk <strk>
-
-	* util/action.c: Added output function for GOTOFRAME and GOTOFRAME2
-	actions
-
-2006-11-09  anderson <anderson>
-
-	* config/config.guess, config/config.sub: Updated from newer tools
-
-2006-11-09  anderson <anderson>
-
-	* test/Movie/Protect/test01-cxx.C: Sync w/ the C version
-
-2006-11-09  anderson <anderson>
-
-	* ChangeLog: Update the Changelog
-
-2006-11-09  anderson <anderson>
-
-	* php_ext/php_ming.h: Different version of gcc seem to treat the
-	post increment differently, so just be explicite about when to
-	increment.
-
-2006-11-07  akleine <akleine>
-
-	* util/decompile.c: 1. bugfix in SWFACTION_LOGICALNOT 2. removed some buggy class recognition stuff in decompileIF
-
-2006-11-04  akleine <akleine>
-
-	* util/decompile.c: 1. added initial operator precedence check 2. added SWFACTION_SHIFT* operators
-
-2006-10-31  akleine <akleine>
-
-	* util/decompile.c: 1. bugfix in bitwise AND, OR, XOR operations 2. enhanced string overflow error handling in newVar_N (one error
-	message should be enough)
-
-2006-10-29  fmk_ca <fmk_ca>
-
-	* src/blocks/text.c: Fix crash in addString and addUTF8String when
-	called with undefined font
-
-2006-10-15  anderson <anderson>
-
-	* php_ext/config.m4, php_ext/ming.c, php_ext/php_ming.h: Resync w/
-	the upstream PHP5 code. Also, add some glue so that the PHP5 code
-	can also be build for PHP4 as well.
-
-2006-09-20  strk <strk>
-
-	* util/main.c, util/parser.c: printf => warning|error, new check for
-	DefineButton2
-
-2006-09-20  strk <strk>
-
-	* util/action.c: Added outputSWFACTION_WAITFORFRAME
-
-2006-09-20  strk <strk>
-
-	* util/main.c: More verbosity from error messages, all error to
-	stdout (this is to make it easier to see where the error has been
-	triggered, by using the same output buffer)
-
-2006-09-19  strk <strk>
-
-	* NEWS: updated
-
-2006-09-19  strk <strk>
-
-	* src/ming.c: Allow setting output version to 8
-
-2006-09-19  strk <strk>
-
-	* util/makeswf.c: Fixed handling of -D flag
-
-2006-09-19  strk <strk>
-
-	* util/action.c: removed unused variable warning
-
-2006-09-19  strk <strk>
-
-	* util/action.c: (outputSWFACTION_GETURL2): added print of Reserved bits
-
-2006-09-18  anderson <anderson>
-
-	* util/action.c: Output details for GETURL2
-
-2006-09-18  anderson <anderson>
-
-	* util/swftypes.h: No Offset in GETURL2
-
-2006-09-18  strk <strk>
-
-	* perl_ext/Makefile.PL: cleanups (still doesn't work for me)
-
-2006-09-02  strk <strk>
-
-	* util/parser.c: Fixed parsing of SWF_PATHSAREPOSTSCRIPT block
-
-2006-09-01  strk <strk>
-
-	* src/blocks/outputblock.c: (newSWFFrameLabelBlock): don't allocate an useless extra byte (it
-	seems it would not end up in the output SWF, but for clarity it's
-	better not to allocate it)
-
-2006-09-01  strk <strk>
-
-	* test/Movie/FrameLabel/test01.c: removed compiler warnings
-
-2006-09-01  strk <strk>
-
-	* ChangeLog, configure.in, test/Movie/FrameLabel/.cvsignore,
-	test/Movie/FrameLabel/Makefile.am, test/Movie/FrameLabel/TestList,
-	test/Movie/FrameLabel/test01-cxx.C, test/Movie/FrameLabel/test01.c,
-	test/Movie/FrameLabel/test01.php, test/Movie/FrameLabel/test01.pl,
-	test/Movie/FrameLabel/test01.py, test/Movie/FrameLabel/test01.ref,
-	test/Movie/FrameLabel/test02-cxx.C, test/Movie/FrameLabel/test02.c,
-	test/Movie/FrameLabel/test02.php, test/Movie/FrameLabel/test02.pl,
-	test/Movie/FrameLabel/test02.py, test/Movie/FrameLabel/test02.ref,
-	test/Movie/Makefile.am: Added tests for SWFMovie's labelFrame and
-	namedAnchor methods.
-
-2006-09-01  strk <strk>
-
-	* util/outputscript.c: Added SQ macro for string quotes, fixed
-	labelFrame output (it's called namedAnchor, not anchorFrame) and
-	make it use the new SQ macro.
-
-2006-09-01  strk <strk>
-
-	* mingpp.h: Added SWFMovie::namedAnchor
-
-2006-08-31  anderson <anderson>
-
-	* util/outputscript.c: Fix spelling on 'label' and detect anchors
-
-2006-08-31  strk <strk>
-
-	* test/Movie/Protect/test01-cxx.C: Removed explicit
-	setBackgroundColor call (should be done the same for .pl, .py and
-	.php implementation files, but I don't usually build those bindings
-	myself so I can't test)
-
-2006-08-31  strk <strk>
-
-	* test/Movie/Protect/test02.ref: Added missing ref
-
-2006-08-31  strk <strk>
-
-	* test/Movie/Protect/TestList: fixed typo
-
-2006-08-31  strk <strk>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: Fixed parsing of
-	SWF_FRAMELABEL (named anchors).  Added SWF_FRAMELABEL block output.
-
-2006-08-15  anderson <anderson>
-
-	* util/outputscript.c: Need to explicitely define variables in C++
-
-2006-08-13  anderson <anderson>
-
-	* util/outputswf.c: Remove some debug output
-
-2006-08-13  anderson <anderson>
-
-	* util/ttftofft.c: Find an ANSI charactermap, and only work if it is
-	present
-
-2006-08-11  anderson <anderson>
-
-	* ChangeLog: Update the Changelog
-
-2006-08-11  anderson <anderson>
-
-	* TODO: Additional TODOs
-
-2006-08-10  anderson <anderson>
-
-	* util/ttftofft.c: Implement support for cubic curve in glyphs so it
-	works for .pfb format now as well
-
-2006-08-09  anderson <anderson>
-
-	* src/blocks/font.h: A couple of the bits were flipped,which causes
-	DEFINE_FONT2 blocks to be wrong
-
-2006-08-09  anderson <anderson>
-
-	* util/ttftofft.c: several fixes for problem descovered when doing
-	an exhaustive comparison with fft files created by ttf2fft
-
-2006-08-09  anderson <anderson>
-
-	* util/outputswf.c: Need to add the size of a UI32 instead of a UI16
-
-2006-08-09  anderson <anderson>
-
-	* util/ttftofft.c: Figure out the encoding correctly
-
-2006-08-01  anderson <anderson>
-
-	* NEWS, mingpp.h, perl_ext/Movie.xs, php_ext/Makefile,
-	php_ext/ming.c, php_ext/php_ming.h, py_ext/ming.i, py_ext/ming.py,
-	py_ext/ming_wrap.c, py_ext/mingc.py, src/Makefile.am,
-	src/blocks/Makefile.am, src/blocks/block.c, src/blocks/block.h,
-	src/blocks/protect.c, src/blocks/protect.h, src/blocks/swf.h,
-	src/ming.h.in, src/movie.c, src/movie.h, test/Movie/Makefile.am,
-	test/Movie/Protect/Makefile.am, test/Movie/Protect/TestList,
-	test/Movie/Protect/test01.c, test/Movie/Protect/test01.php,
-	test/Movie/Protect/test01.pl, test/Movie/Protect/test01.py,
-	test/Movie/Protect/test01.ref, test/Movie/Protect/test02-cxx.C,
-	test/Movie/Protect/test02.c, test/Movie/Protect/test02.php,
-	test/Movie/Protect/test02.pl, test/Movie/Protect/test02.py,
-	util/outputscript.c: Add support for the Protect block
-
-2006-08-01  anderson <anderson>
-
-	* docs/libming/SWFMovie_protect.html,
-	docs/libming/SWFMovie_protectWithPassword.html,
-	docs/libming/index.html, docs/man/Makefile.am,
-	docs/man/SWFMovie_protect.3,
-	docs/man/SWFMovie_protectWithPassword.3: Merge the two protect
-	function into a single interface
-
-2006-07-31  anderson <anderson>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: Parse STARTSOUND
-	block. Still need to implement the output portion
-
-2006-07-31  anderson <anderson>
-
-	* util/outputscript.c, util/outputtxt.c, util/parser.c: Recognize &
-	output a protect block
-
-2006-07-27  anderson <anderson>
-
-	* docs/libming/SWFMovie_protectWithPassword.html,
-	docs/libming/index.html, docs/man/Makefile.am,
-	docs/man/SWFMovie_protectWithPassword.3: Update documentation for
-	the Protect API
-
-2006-07-25  strk <strk>
-
-	* .cvsignore, docs/.cvsignore, docs/man/.cvsignore: Added and fixed
-	.cvsignore files
-
-2006-07-25  strk <strk>
-
-	* test/actionscript/.cvsignore: updated .cvsignore
-
-2006-07-25  strk <strk>
-
-	* macros/Makefile.am: distribute libtool.m4
-
-2006-07-25  strk <strk>
-
-	* macros/.cvsignore: updated .cvsignore; distribute libtool.m4
-
-2006-07-24  strk <strk>
-
-	* src/.cvsignore, src/actioncompiler/.cvsignore,
-	src/blocks/.cvsignore, util/.cvsignore: updated .cvsignore
-
-2006-07-24  strk <strk>
-
-	* test/.cvsignore: Another .cvsignore (it's not last one)
-
-2006-07-24  strk <strk>
-
-	* test/Movie/.cvsignore, test/Movie/Background/.cvsignore,
-	test/Movie/Background/Makefile, test/Movie/Background/Makefile.in,
-	test/Movie/Dimension/.cvsignore, test/Movie/NumFrames/.cvsignore,
-	test/Movie/new/.cvsignore: Do not include generated Makefiles in
-	repository, added entries in .cvsignore files
-
-2006-07-24  strk <strk>
-
-	* mingpp.h, src/ming.h.in, test/Movie/Background/Makefile,
-	test/Movie/Background/Makefile.in, test/Movie/Protect/.cvsignore,
-	test/Movie/Protect/test01-cxx.C, test/Movie/Protect/test01.ref,
-	test/Movie/Rate/.cvsignore: Exposed SWFMovie_protect() function.
-	Mapped to SWFMovie::protect() method in C++ wrapper. Updated C++
-	wrapper tester for Movie/Protect; updated refs (were empty). Fixed
-	or added some .cvsignore
-
-2006-07-24  strk <strk>
-
-	* test/Movie/Protect/.cvsignore, test/Movie/Protect/Makefile,
-	test/Movie/Protect/Makefile.in: Don't keep generated files in
-	repository
-
-2006-07-18  anderson <anderson>
-
-	* configure.in, docs/libming/Ming_setErrorFunction.html,
-	docs/libming/Ming_setWarnFunction.html,
-	docs/libming/SWFMovie_protect.html,
-	docs/libming/SWFMovie_setBackground.html, docs/libming/index.html,
-	docs/man/Ming_getScale.3, docs/man/Ming_init.3,
-	docs/man/Ming_setCubicThreshold.3,
-	docs/man/Ming_setErrorFunction.3,
-	docs/man/Ming_setSWFCompression.3, docs/man/Ming_setScale.3,
-	docs/man/Ming_setWarnFunction.3, docs/man/Ming_useSWFVersion.3,
-	docs/man/SWFMovie_protect.3, docs/man/SWFMovie_setBackground.3,
-	docs/man/SWFMovie_setDimension.3,
-	docs/man/SWFMovie_setNumberOfFrames.3, docs/man/SWFMovie_setRate.3,
-	docs/man/destroySWFMovie.3, docs/man/newSWFMovie.3,
-	docs/man/newSWFMovieWithVersion.3, src/Makefile.am, src/movie.c,
-	test/Movie/Background/Makefile, test/Movie/Background/Makefile.am,
-	test/Movie/Background/Makefile.in, test/Movie/Background/TestList,
-	test/Movie/Background/test01-cxx.C, test/Movie/Background/test01.c,
-	test/Movie/Background/test01.php, test/Movie/Background/test01.pl,
-	test/Movie/Background/test01.py, test/Movie/Background/test01.ref,
-	test/Movie/Background/test02-cxx.C, test/Movie/Background/test02.c,
-	test/Movie/Background/test02.php, test/Movie/Background/test02.pl,
-	test/Movie/Background/test02.py, test/Movie/Background/test02.ref,
-	test/Movie/Background/test03-cxx.C, test/Movie/Background/test03.c,
-	test/Movie/Background/test03.php, test/Movie/Background/test03.pl,
-	test/Movie/Background/test03.py, test/Movie/Background/test03.ref,
-	test/Movie/Makefile.am, test/Movie/Protect/Makefile,
-	test/Movie/Protect/Makefile.am, test/Movie/Protect/Makefile.in,
-	test/Movie/Protect/TestList, test/Movie/Protect/test01-cxx.C,
-	test/Movie/Protect/test01.c, test/Movie/Protect/test01.php,
-	test/Movie/Protect/test01.pl, test/Movie/Protect/test01.py,
-	test/Movie/Protect/test01.ref: Document & test setBackground() and
-	protect()
-
-2006-07-18  anderson <anderson>
-
-	* test/Makefile.inc, test/dotests.pl: Fix the binding name for C++
-
-2006-07-18  anderson <anderson>
-
-	* util/outputscript.c: Implement the PROTECT block Add
-	OUT_BEGIN_EMPTY, and use it so we get complete tag names listed in
-	the scripts
-
-2006-07-13  anderson <anderson>
-
-	* configure.in, test/Makefile.inc, test/Movie/Rate/Makefile.am: 
-	First pass at making C++ be optional as well
-
-2006-07-12  strk <strk>
-
-	* perl_ext/Makefile.PL: Added SRCDIR prefix to SWF_MODULES
-
-2006-07-12  anderson <anderson>
-
-	* perl_ext/Makefile.PL: Help building in a seperate dir get further,
-	but this is still not enough
-
-2006-07-12  strk <strk>
-
-	* perl_ext/.cvsignore: Added Makefile.in to .cvsignore
-
-2006-07-12  strk <strk>
-
-	* perl_ext/Makefile.PL: Set SRCDIR to '.' if not found in
-	environment
-
-2006-07-12  strk <strk>
-
-	* perl_ext/Makefile.PL, perl_ext/Makefile.am: Get srcdir from
-	environment (to find t/*).
-
-2006-07-12  strk <strk>
-
-	* perl_ext/Makefile.PL: Hard-coded MING sourc dir (why ask?)
-
-2006-07-10  anderson <anderson>
-
-	* Makefile.am, configure.in, perl_ext/Makefile.am: autofoo perl_ext
-
-2006-07-10  strk <strk>
-
-	* Makefile.am: Added notes about automake requirements
-
-2006-07-10  strk <strk>
-
-	* src/Makefile.am: Added missing MATHLIB to libming_la_LDFLAGS
-
-2006-07-10  strk <strk>
-
-	* configure.in: AM_INIT_AUTOMAKE invokation made compatible with
-	older automake verisions (1.5 ok)
-
-2006-07-10  strk <strk>
-
-	* configure.in: Renamed AC_CONFIG_HEADER to AM_CONFIG_HEADER
-
-2006-07-10  strk <strk>
-
-	* autogen.sh: hanged libtoolize invokation from --force to
-	--automake
-
-2006-07-10  strk <strk>
-
-	* src/blocks/Makefile.am: Renamed PNG_SOURCES to PNG_SOURCE (to not
-	clash with standard var names)
-
-2006-07-10  anderson <anderson>
-
-	* autogen.sh, config/compile, config/config-ml.in, config/depcomp,
-	config/install-sh, config/missing, config/symlink-tree,
-	config/texinfo.tex: Update all of the automake file, and fix autogen
-	to stop supplying missing ones
-
-2006-07-10  strk <strk>
-
-	* autogen.sh: Be more verbose on error
-
-2006-07-10  strk <strk>
-
-	* autogen.sh, configure.in, macros/libtool.m4: autogen.sh: run
-	aclocal with the -I macros flag macros/libtool.m4: copied locally
-	configure.in: bail out if can't detect libtool
-
-2006-07-10  anderson <anderson>
-
-	* test/dotests.pl: Typo that was trashing PERL5LIB
-
-2006-07-10  strk <strk>
-
-	* autogen.sh: exit at first failure. advertise final success.
-
-2006-07-10  anderson <anderson>
-
-	* test/dotests.pl: Adjust to match the autogoo location of the just
-	built library
-
-2006-07-10  strk <strk>
-
-	* Makefile.am, src/actioncompiler/Makefile.am: Moved
-	AUTOMAKE_OPTIONS from src/actioncompiler/Makefile.am to top-level
-	Makefile.am
-
-2006-07-10  anderson <anderson>
-
-	* perl_ext/Makefile.PL: Adjust for where autogoo puts the .a file
-
-2006-07-10  anderson <anderson>
-
-	* test/dotests.pl: Fix a perl warning
-
-2006-07-10  anderson <anderson>
-
-	* util/action.c, util/action.h, util/blocktypes.c, util/main.c,
-	util/output.h, util/outputdecl.h, util/outputscript.c,
-	util/outputswf.c, util/outputtxt.c, util/parser.c, util/parser.h,
-	util/parserdecl.h, util/swfoutput.h, util/swftypes.h,
-	util/ttftofft.c: Add missing copyright statements
-
-2006-07-10  strk <strk>
-
-	* TODO, test/actionscript/Function.as,
-	test/actionscript/Function.ref: Added syntax that was failing with
-	the AS2 constributed patch in our Function.as testcase. Updated TODO
-	removing that item (we reverted the AS2 patch).
-
-2006-07-10  strk <strk>
-
-	* INSTALL, INSTALL.txt: Renamed INSTALL.txt to INSTALL (standard
-	name, as required by autotools)
-
-2006-07-10  strk <strk>
-
-	* NEWS, docs/man/makeswf.1, test/actionscript/ActionScriptTest.c,
-	util/makeswf.c, util/makeswf.h, util/makeswf_utils.c: Changed
-	makeswf_compile_source signature to accept path to preprocessor
-	output file. Changed preprocessed file paths to (<output>.frame#.pp)
-	to reduce probability of filesystem permission problems.
-
-2006-07-10  anderson <anderson>
-
-	* config/config.guess, config/config.sub: Update to the 2006-02-23
-	version in am 1.9.6
-
-2006-07-10  strk <strk>
-
-	* util/makeswf.c: Fixed --help and --version to not require an
-	argument, added TODO item for non-writeable source dir case.
-
-2006-07-10  anderson <anderson>
-
-	* test/dotests.pl: When running against installed libs, avoid the
-	autogoo stuff that forces you to use the just built libs.
-
-2006-07-10  strk <strk>
-
-	* test/Makefile.am, test/Makefile.inc, test/dotests.in,
-	test/dotests.pl: Renamed dotests.in to dotests.pl, added dotests.pl,
-	Makefile.inc, run_test.c and run_test.h in EXTRA_DIST
-	(test/Makefile.am)
-
-2006-07-10  anderson <anderson>
-
-	* configure.in: Small typo that caused the test to always fail
-
-2006-07-10  strk <strk>
-
-	* configure.in, test/Makefile.inc: Removed USE_<binding>
-	conditionals (we already had the BUILD_<binding>_EXTENSION one for
-	use).  Added --enable-<binding> configure switch to specify which
-	one to build.  Added final configuration summary output in
-	./configure.
-
-2006-07-10  anderson <anderson>
-
-	* test/dotests.in: Check USE_INSTALLED to see if the installed libs
-	or locally built libs should be used
-
-2006-07-10  strk <strk>
-
-	* configure.in, test/Makefile.inc,
-	test/Movie/Dimension/Makefile.am, test/Movie/NumFrames/Makefile.am,
-	test/Movie/Rate/Makefile.am, test/Movie/new/Makefile.am,
-	test/dotests.in: Moved 'dotests' generation logic in the
-	test/Makefile.inc file.  Now dotests is "generated" in each test
-	directory as a wrapper around the dotests.in file. This allows to
-	call the properl PERL executable and to use a more flexible
-	interface (ideally we could change dotests.in back to a command-line
-	parsing script, for easy of manual use).  Subdirs makefiles are now
-	cleaner and shorter.  Note that BINDINGS is also detected in a
-	single place (Makefile.inc again) but I've currently commented out
-	all but C binding, for framework testing purpose.
-
-2006-07-09  anderson <anderson>
-
-	* test/Movie/Dimension/Makefile.am,
-	test/Movie/NumFrames/Makefile.am, test/Movie/NumFrames/test01.py,
-	test/Movie/Rate/Makefile.am, test/Movie/new/Makefile.am: Change to
-	test the USE_lang conditionals
-
-2006-07-09  anderson <anderson>
-
-	* configure.in: Re-enable the USE_ conditionals so we can use them
-	in the tests
-
-2006-07-09  anderson <anderson>
-
-	* test/Makefile.am, test/Makefile.inc,
-	test/Movie/Dimension/.cvsignore, test/Movie/Dimension/Makefile.am,
-	test/Movie/Dimension/setDimensionTest.c,
-	test/Movie/Dimension/test01-cxx.C, test/Movie/Dimension/test01.c,
-	test/Movie/Dimension/test01.php, test/Movie/Dimension/test01.pl,
-	test/Movie/Dimension/test01.py, test/Movie/Makefile.am,
-	test/Movie/NumFrames/.cvsignore, test/Movie/NumFrames/Makefile.am,
-	test/Movie/NumFrames/setNumberOfFramesTest.c,
-	test/Movie/NumFrames/test01-cxx.C, test/Movie/NumFrames/test01.c,
-	test/Movie/NumFrames/test01.php, test/Movie/NumFrames/test01.pl,
-	test/Movie/NumFrames/test01.py, test/Movie/Rate/.cvsignore,
-	test/Movie/Rate/Makefile.am, test/Movie/Rate/setRateTest.c,
-	test/Movie/Rate/test01-cxx.C, test/Movie/Rate/test01.c,
-	test/Movie/Rate/test01.php, test/Movie/Rate/test01.pl,
-	test/Movie/Rate/test01.py, test/Movie/TestList,
-	test/Movie/new/.cvsignore, test/Movie/new/Makefile.am,
-	test/Movie/new/newSWFMovieTest.c, test/Movie/new/test01-cxx.C,
-	test/Movie/new/test01.c, test/Movie/new/test01.php,
-	test/Movie/new/test01.pl, test/Movie/new/test01.py,
-	test/Movie/new/test02-cxx.C, test/Movie/new/test02.c,
-	test/Movie/new/test02.php, test/Movie/new/test02.pl,
-	test/Movie/new/test02.py, test/Movie/new/test03-cxx.C,
-	test/Movie/new/test03.c, test/Movie/new/test03.php,
-	test/Movie/new/test03.pl, test/Movie/new/test03.py,
-	test/Movie/new/test04-cxx.C, test/Movie/new/test04.c,
-	test/Movie/new/test04.php, test/Movie/new/test04.pl,
-	test/Movie/new/test04.py, test/Movie/new/test05-cxx.C,
-	test/Movie/new/test05.c, test/Movie/new/test05.php,
-	test/Movie/new/test05.pl, test/Movie/new/test05.py, test/TestList,
-	test/dotests.in: A significant overhaul. These changes retain the
-	use of autofoo in each directory, but revert to the use of dotest as
-	the test harness. Do test still has the ability to specify which
-	languages to test. It also now tries to make sure that the locally
-	built libraries get used instead of any that happen to be on the
-	system.
-
-2006-07-09  anderson <anderson>
-
-	* configure.in: Add missing HAVE_* symbols
-
-2006-07-09  anderson <anderson>
-
-	* util/Makefile.am: Add bin_SCRIPTS
-
-2006-07-08  strk <strk>
-
-	* test/actionscript/README: Updated with instructions on how to add
-	tests
-
-2006-07-08  strk <strk>
-
-	* test/actionscript/Makefile.am: Fixed path to util/ dir for builds
-	in external dir
-
-2006-07-08  strk <strk>
-
-	* test/actionscript/ActionScriptTest.c,
-	test/actionscript/Makefile.am: Test all files specified with the
-	AS_TESTS define. Added generated files to CLEANFILES.
-
-2006-07-08  strk <strk>
-
-	* test/actionscript/.cvsignore: Added .cvsignore file
-
-2006-07-08  strk <strk>
-
-	* NEWS: Added note about Automake
-
-2006-07-08  strk <strk>
-
-	* src/actioncompiler/Makefile.am: Removed -i switch from flex
-	invocation (we need to be case-sensitive!)
-
-2006-07-08  strk <strk>
-
-	* configure.in: Added Makefile of actionscript tests dir
-
-2006-07-08  strk <strk>
-
-	* test/Makefile.am, test/actionscript/ActionScriptTest.c,
-	test/actionscript/Function.ref, test/actionscript/Makefile.am: Added
-	initial ActionScript unit testing support and a first test.
-
-2006-07-08  strk <strk>
-
-	* util/Makefile.am, util/makeswf.c, util/makeswf.h,
-	util/makeswf_utils.c: Split makeswf general functionalities in a
-	separate file, for use by unit testers
-
-2006-07-08  strk <strk>
-
-	* NEWS, src/blocks/error.c, src/blocks/error.h, src/ming.c,
-	src/ming.h.in: Ming_setWarnFunction() and Ming_setErrorFunction()
-	now return the previously-set handler. Message handler function
-	typedef'd to SWFMsgFunc.
-
-2006-07-08  strk <strk>
-
-	* test/actionscript/Function.as, test/actionscript/README: Added
-	directory for actioncompiler testing
-
-2006-07-08  strk <strk>
-
-	* ChangeLog, Makefile.am: Reintroduced "Changelog" rule
-
-2006-07-07  anderson <anderson>
-
-	* util/outputscript.c: Remove extra space in comments
-
-2006-07-01  strk <strk>
-
-	* src/blocks/fillstyle.c, src/blocks/shape.c: Reverted Bitmap scale
-	patch by Justin (was creating wrong-sized bitmaps)
-
-2006-06-28  anderson <anderson>
-
-	* mingpp.h: Add the constructore that accepts the flash version as a
-	parameter
-
-2006-06-28  anderson <anderson>
-
-	* util/Makefile.am, util/outputscript.c: Add swfotcxx for producing
-	C++ code
-
-2006-06-28  strk <strk>
-
-	* test/Movie/Dimension/Makefile.am,
-	test/Movie/NumFrames/Makefile.am, test/Movie/Rate/Makefile.am,
-	test/Movie/new/Makefile.am: Pass TOP_BUILDDIR and TOP_SOURCEDIR to C
-	tests by macros. This way you can invoke the testers w/out exporting
-	any variable.
-
-2006-06-28  strk <strk>
-
-	* test/run_test.c: Allowed TOP_BUILDDIR and TOP_SOURCEDIR to be
-	specified as macros
-
-2006-06-28  strk <strk>
-
-	* test/Makefile.am: Removed dotests from check_PROGRAMS, it was
-	obsoleted
-
-2006-06-28  strk <strk>
-
-	* src/ming_config.h.in: Removed generated file (autoheader in
-	autogen.sh will generate it)
-
-2006-06-27  anderson <anderson>
-
-	* util/ttftofft.c: ack.. now pass in the file to be processed
-
-2006-06-27  anderson <anderson>
-
-	* util/outputswf.c, util/ttftofft.c: A fully functioning ttftofft
-	(subject to further testing).
-
-2006-06-27  anderson <anderson>
-
-	* util/outputdecl.h, util/swfoutput.h: Parametrize so that the
-	output routines can return something other than 'void'. Initially,
-	this is useful in outputswf.c so we can return the buffer we built.
-
-2006-06-27  anderson <anderson>
-
-	* util/main.c: Should include swfoutput.h instead of outputdecl.h
-
-2006-06-27  anderson <anderson>
-
-	* util/outputswf.c: Much closer to working now. All the bits up to
-	the FontAdvanceTable look good now
-
-2006-06-26  anderson <anderson>
-
-	* util/outputswf.c: Still Work In Progress: but this is now creating
-	a partial .swf file
-
-2006-06-26  anderson <anderson>
-
-	* util/parser.c: Disambiguate 2 error messages
-
-2006-06-23  anderson <anderson>
-
-	* util/Makefile.am: Fix the program name
-
-2006-06-23  anderson <anderson>
-
-	* configure.in, util/Makefile.am: Test for the freetpye library,
-	needed in the utils
-
-2006-06-22  strk <strk>
-
-	* src/movie.c: Restored hard-coded default movie dimension to
-	320x240 *pixels*
-
-2006-06-22  strk <strk>
-
-	* test/Movie/Dimension/Makefile.am,
-	test/Movie/Dimension/setDimensionTest.c,
-	test/Movie/NumFrames/Makefile.am,
-	test/Movie/NumFrames/setNumberOfFramesTest.c,
-	test/Movie/Rate/Makefile.am, test/Movie/Rate/setRateTest.c,
-	test/Movie/new/Makefile.am, test/Movie/new/newSWFMovieTest.c,
-	test/run_test.c, test/run_test.h: Fixed dependencies of unit tests
-	to the run_test.{c,h} files
-
-2006-06-22  strk <strk>
-
-	* test/Movie/Dimension/Makefile.am,
-	test/Movie/Dimension/setDimensionTest.c,
-	test/Movie/Dimension/test01.c, test/Movie/NumFrames/Makefile.am,
-	test/Movie/NumFrames/setNumberOfFramesTest.c,
-	test/Movie/NumFrames/test01.c, test/Movie/Rate/Makefile.am,
-	test/Movie/Rate/setRateTest.c, test/Movie/Rate/test01.c,
-	test/Movie/new/newSWFMovieTest.c: ported all existing C tests to the
-	new architecture
-
-2006-06-22  strk <strk>
-
-	* configure.in, test/Makefile.am, test/Movie/new/Makefile.am,
-	test/Movie/new/newSWFMovieTest.c, test/Movie/new/test01.c,
-	test/Movie/new/test02.c, test/Movie/new/test03.c,
-	test/Movie/new/test04.c, test/Movie/new/test05.c, test/run_test.c: 
-	Obsoleted use of the dotests perl script, reorganization of the C
-	test files to be self-contained (only done in Movie/new, others to
-	come)
-
-2006-06-22  strk <strk>
-
-	* Makefile.am, configure.in, macros/Makefile.am: Distribute the
-	macros/ dir
-
-2006-06-22  strk <strk>
-
-	* Makefile, Makefile-real, Makefile.am, Makefile.config.in,
-	autogen.sh, config/config.guess, config/config.sub, configure.in,
-	docs/Makefile.am, docs/man/Makefile, docs/man/Makefile.am,
-	src/Makefile, src/Makefile.am, src/actioncompiler/Makefile,
-	src/actioncompiler/Makefile.am, src/blocks/Makefile,
-	src/blocks/Makefile.am, src/ming_config.h.in, src/movie.c,
-	test/Makefile, test/Makefile.am, test/Movie/Dimension/Makefile.am,
-	test/Movie/Dimension/makefile, test/Movie/Makefile.am,
-	test/Movie/NumFrames/Makefile.am, test/Movie/NumFrames/makefile,
-	test/Movie/Rate/Makefile.am, test/Movie/Rate/makefile,
-	test/Movie/new/Makefile.am, test/Movie/new/makefile, test/dotests,
-	test/dotests.in, util/Makefile, util/Makefile.am, util/main.c: 
-	Automake-based build scripts.
-
-2006-06-22  strk <strk>
-
-	* AUTHORS, CREDITS: renamed CREDITS to AUTHORS (the latter will be
-	required by automake)
-
-2006-06-22  strk <strk>
-
-	* src/actioncompiler/main.c: Fixed compiler warnings
-
-2006-06-22  anderson <anderson>
-
-	* util/outputswf.c, util/ttftofft.c: work in progress: This is a new
-	implementation of ttf2fft. This version uses the freetype library to
-	read the font files, so it should be able to read a wider range of
-	font formats. This also eliminates the dependency on an external
-	fft2ttf (from the JGenerator project), which hasn't been updated in
-	several years. This new tool also introducts a new output format:
-	SWF.
-
-2006-06-22  anderson <anderson>
-
-	* util/outputscript.c, util/outputtxt.c, util/swfoutput.h: Avoid a
-	name collision with a type in the main library
-
-2006-06-22  strk <strk>
-
-	* util/parser.c: Fixed typo FontKerningADjustment =>
-	FontKerningAdjustment
-
-2006-06-22  anderson <anderson>
-
-	* util/swftypes.h: Small typo in membername
-
-2006-06-21  anderson <anderson>
-
-	* util/outputtxt.c: Display the kerning table also
-
-2006-06-21  strk <strk>
-
-	* util/outputtxt.c: outputSWF_TEXTRECORD: don't use uninitialized
-	values
-
-2006-06-21  strk <strk>
-
-	* NEWS: Added new functions
-
-2006-06-21  anderson <anderson>
-
-	* util/outputtxt.c, util/parser.c, util/swftypes.h: Correctly parse
-	the password from a SWF_PROTECT block
-
-2006-06-20  strk <strk>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Reverted AS2 support patches (too
-	bogus).
-
-2006-06-20  strk <strk>
-
-	* docs/man/makeswf.1: Added note about __SWF_VERSION__ macro
-	definition
-
-2006-06-20  strk <strk>
-
-	* Makefile-real, NEWS, docs/man/Makefile, docs/man/makeswf.1,
-	man/Makefile, man/makeswf.1: Merged man/ and docs/man directories
-	(the latter being the new standard location)
-
-2006-06-20  strk <strk>
-
-	* NEWS, man/makeswf.1, util/makeswf.c: makeswf:   - Added __SWF_VERSION__ macro definition for use in source files
-
-2006-06-20  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: undef DEBUG by default
-
-2006-06-20  strk <strk>
-
-	* src/actioncompiler/compile.c: Made less verbose by default (define
-	DEBUG to have stack dumped as before)
-
-2006-06-19  strk <strk>
-
-	* test/TODO: Wrote down some things to do to make the testsuite more
-	useful.
-
-2006-06-16  strk <strk>
-
-	* test/Makefile, test/dotests: Modified dotests to require a list of
-	bindings to test from command line, only C binding currently
-	requested by the 'make check' rule.
-
-2006-06-16  strk <strk>
-
-	* Makefile, Makefile-real, Makefile.config.in, configure.in,
-	test/Makefile, test/dotests: Added perl executable detection and
-	'make check' rule. Updated tests/dotests to return the number of
-	failed tests.
-
-2006-06-14  anderson <anderson>
-
-	* test/Makefile.inc, test/Movie/Dimension/makefile,
-	test/Movie/Dimension/test01.php, test/Movie/Dimension/test01.pl,
-	test/Movie/Dimension/test01.py, test/Movie/NumFrames/makefile,
-	test/Movie/NumFrames/test01.php, test/Movie/NumFrames/test01.pl,
-	test/Movie/NumFrames/test01.py, test/Movie/Rate/makefile,
-	test/Movie/Rate/test01.php, test/Movie/Rate/test01.pl,
-	test/Movie/Rate/test01.py, test/Movie/new/makefile,
-	test/Movie/new/test01.php, test/Movie/new/test01.pl,
-	test/Movie/new/test01.py, test/Movie/new/test02.php,
-	test/Movie/new/test02.pl, test/Movie/new/test02.py,
-	test/Movie/new/test03.php, test/Movie/new/test03.pl,
-	test/Movie/new/test03.py, test/Movie/new/test04.php,
-	test/Movie/new/test04.pl, test/Movie/new/test04.py,
-	test/Movie/new/test05.php, test/Movie/new/test05.pl,
-	test/Movie/new/test05.py: Slightly improved strategy for creating
-	the tests. Now, only the 'C' test has to be written. The
-	sfwto{php|perl|python} tools will be used to generate the tests for
-	the other language bindings. This has the additional benefit of
-	testing those tools more thoroughly so we ultimately can be sure
-	they are complete. This will also make it trivial to create the
-	tests for new language bindings.
-
-2006-06-14  anderson <anderson>
-
-	* util/outputscript.c: Handle some unfortunate differences in the
-	various language bindings
-
-2006-06-14  anderson <anderson>
-
-	* util/main.c, util/outputdecl.h, util/outputfdb.c,
-	util/outputscript.c, util/outputtxt.c: Fix things up so the output
-	scripts can either output to stdout as is useful for use w/ apache,
-	or they can be told to output to a specific file, as is useful when
-	generating standalone scripts, such as is used int he test suite.
-
-2006-06-14  anderson <anderson>
-
-	* test/dotests: Reenable the php test
-
-2006-06-14  anderson <anderson>
-
-	* util/outputscript.c: Lots of little fixes ot make swftopython
-	functional
-
-2006-06-13  anderson <anderson>
-
-	* test/Movie/TestList, test/TestList, test/dotests: Add the ability
-	to traverse a hierarchy of tests
-
-2006-06-13  strk <strk>
-
-	* src/ming.h.in: Added comment for loadSWFFontFromFile
-
-2006-06-13  strk <strk>
-
-	* util/Makefile, util/main.c, util/outputdecl.h, util/outputfdb.c,
-	util/outputscript.c, util/outputtxt.c: Added code to implement
-	makefdb using the new parser-based layout (makefdb2)
-
-2006-06-13  anderson <anderson>
-
-	* util/decompile.c: rough attempt to decompile the EXTENDS op. Lots
-	more work needed though
-
-2006-06-13  anderson <anderson>
-
-	* util/outputscript.c: Make the comment be language sensitive
-
-2006-06-12  strk <strk>
-
-	* util/outputscript.c: Use hash (#) for comments, rather then /* */
-
-2006-06-12  anderson <anderson>
-
-	* util/decompile.c: Implement the GREATER than action
-
-2006-06-12  anderson <anderson>
-
-	* util/decompile.c: Handle a new construct where a block of action
-	sis being assigned to a class member
-
-2006-05-23  anderson <anderson>
-
-	* docs/index.html, docs/perl/index.html: Fix up the UI to the perl
-	docs
-
-2006-05-23  anderson <anderson>
-
-	* docs/index.html: New top level page for the documentation section
-	of the website
-
-2006-05-23  anderson <anderson>
-
-	* src/Makefile, src/ming.c, src/movie.c: Start the process of
-	creating a full documentation set for libming
-
-2006-05-23  anderson <anderson>
-
-	* perl_ext/mkdoc: SMall utility for generating documentation
-
-2006-05-23  anderson <anderson>
-
-	* docs/libming/Ming_getScale.html, docs/libming/Ming_init.html,
-	docs/libming/Ming_setCubicThreshold.html,
-	docs/libming/Ming_setErrorFunction.html,
-	docs/libming/Ming_setSWFCompression.html,
-	docs/libming/Ming_setScale.html,
-	docs/libming/Ming_setWarnFunction.html,
-	docs/libming/Ming_useSWFVersion.html,
-	docs/libming/SWFMovie_setDimension.html,
-	docs/libming/SWFMovie_setNumberOfFrames.html,
-	docs/libming/SWFMovie_setRate.html,
-	docs/libming/destroySWFMovie.html, docs/libming/index.html,
-	docs/libming/newSWFMovie.html,
-	docs/libming/newSWFMovieWithVersion.html, docs/man/Ming_getScale.3,
-	docs/man/Ming_init.3, docs/man/Ming_setCubicThreshold.3,
-	docs/man/Ming_setErrorFunction.3,
-	docs/man/Ming_setSWFCompression.3, docs/man/Ming_setScale.3,
-	docs/man/Ming_setWarnFunction.3, docs/man/Ming_useSWFVersion.3,
-	docs/man/SWFMovie_setDimension.3,
-	docs/man/SWFMovie_setNumberOfFrames.3, docs/man/SWFMovie_setRate.3,
-	docs/man/destroySWFMovie.3, docs/man/newSWFMovie.3,
-	docs/man/newSWFMovieWithVersion.3, docs/perl/SWF.html,
-	docs/perl/SWF::Action.html, docs/perl/SWF::Bitmap.html,
-	docs/perl/SWF::Button.html, docs/perl/SWF::Constants.html,
-	docs/perl/SWF::DisplayItem.html, docs/perl/SWF::Fill.html,
-	docs/perl/SWF::Font.html, docs/perl/SWF::Gradient.html,
-	docs/perl/SWF::Morph.html, docs/perl/SWF::Movie.html,
-	docs/perl/SWF::MyConfig.html, docs/perl/SWF::Shape.html,
-	docs/perl/SWF::Sound.html, docs/perl/SWF::SoundInstance.html,
-	docs/perl/SWF::SoundStream.html, docs/perl/SWF::Sprite.html,
-	docs/perl/SWF::Text.html, docs/perl/SWF::TextField.html,
-	docs/perl/SWF::VideoStream.html, docs/perlman/SWF.3pm,
-	docs/perlman/SWF::Action.3pm, docs/perlman/SWF::Bitmap.3pm,
-	docs/perlman/SWF::Button.3pm, docs/perlman/SWF::Constants.3pm,
-	docs/perlman/SWF::DisplayItem.3pm, docs/perlman/SWF::Fill.3pm,
-	docs/perlman/SWF::Font.3pm, docs/perlman/SWF::Gradient.3pm,
-	docs/perlman/SWF::Morph.3pm, docs/perlman/SWF::Movie.3pm,
-	docs/perlman/SWF::MyConfig.3pm, docs/perlman/SWF::Shape.3pm,
-	docs/perlman/SWF::Sound.3pm, docs/perlman/SWF::SoundInstance.3pm,
-	docs/perlman/SWF::SoundStream.3pm, docs/perlman/SWF::Sprite.3pm,
-	docs/perlman/SWF::Text.3pm, docs/perlman/SWF::TextField.3pm,
-	docs/perlman/SWF::VideoStream.3pm: Generated Documentation
-
-2006-05-23  anderson <anderson>
-
-	* src/blocks/blocktypes.h, src/blocks/dbl.h, src/blocks/font.h: Use
-	C style comments instead of C++ style comments
-
-2006-05-19  akleine <akleine>
-
-	* util/decompile.c: added handling of SWFACTION_CHR code
-
-2006-05-19  strk <strk>
-
-	* NEWS, src/blocks/error.c: Had default error message handler exit
-	with EXIT_FAILURE code, rather then with EXIT_SUCCESS code.
-
-2006-05-19  strk <strk>
-
-	* Makefile-real: Don't try to remove 'test' on make clean, it's a
-	directory now!
-
-2006-05-16  anderson <anderson>
-
-	* test/Movie/NumFrames/TestList, test/Movie/NumFrames/makefile,
-	test/Movie/NumFrames/test01.c, test/Movie/NumFrames/test01.php,
-	test/Movie/NumFrames/test01.pl, test/Movie/NumFrames/test01.ref: 
-	Basic tests
-
-2006-05-16  anderson <anderson>
-
-	* test/Movie/Dimension/TestList, test/Movie/Dimension/makefile,
-	test/Movie/Dimension/test01.c, test/Movie/Dimension/test01.php,
-	test/Movie/Dimension/test01.pl, test/Movie/Dimension/test01.ref,
-	test/Movie/Rate/TestList, test/Movie/Rate/makefile,
-	test/Movie/Rate/test01.c, test/Movie/Rate/test01.php,
-	test/Movie/Rate/test01.pl, test/Movie/Rate/test01.ref: Add tests for
-	setRate() and setDimension()
-
-2006-05-16  anderson <anderson>
-
-	* test/Movie/new/TestList, test/Movie/new/makefile,
-	test/Movie/new/test01.c, test/Movie/new/test01.php,
-	test/Movie/new/test01.pl, test/Movie/new/test01.ref,
-	test/Movie/new/test02.c, test/Movie/new/test02.php,
-	test/Movie/new/test02.pl, test/Movie/new/test02.ref,
-	test/Movie/new/test03.c, test/Movie/new/test03.php,
-	test/Movie/new/test03.pl, test/Movie/new/test03.ref,
-	test/Movie/new/test04.c, test/Movie/new/test04.php,
-	test/Movie/new/test04.pl, test/Movie/new/test04.ref,
-	test/Movie/new/test05.c, test/Movie/new/test05.php,
-	test/Movie/new/test05.pl, test/Movie/new/test05.ref, test/dotests: 
-	New testing framework. This is just the beginning, but it should be
-	enough for people to see the concept and discuss it. One important
-	feature, is that tests exists for each language binding for each
-	API.
-
-2006-05-06  strk <strk>
-
-	* ChangeLog, util/action.c: Fixed compiler warning (UI32 printed
-	with format %x => %lx)
-
-2006-05-06  strk <strk>
-
-	* ChangeLog, src/movie.c, util/main.c, util/makeswf.c: Fixed support
-	for builds w/out zlib in SWF_output and listswf.  Added handler for
-	Ming's warning in command line compiler
-
-2006-05-06  strk <strk>
-
-	* ChangeLog: Updated
-
-2006-05-05  strk <strk>
-
-	* configure.in: Fixed zlib detection macros. Removed HAVE_ZLIB
-	definition (must fix ifdefs around)
-
-2006-05-04  strk <strk>
-
-	* util/makeswf.c: fixed read past end of allocated memory in error
-	handler
-
-2006-05-04  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Removed special handling of the
-	'this' token, to fix bug listed in TODO file (to be updated)
-
-2006-04-29  vapour <vapour>
-
-	* src/ming.h.in: Applying patch from Frank Kromann, that nukes a
-	couple of compiler warnings for undefined symbols on Win32.
-
-2006-04-28  strk <strk>
-
-	* TODO: Added sample failing code to actioncompiler bugfix item in
-	TODO list
-
-2006-04-25  vapour <vapour>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.y: 
-	Patches by Frank Kromann, to make things compile on Win32.
-
-2006-04-21  vapour <vapour>
-
-	* util/decompile.c, util/makeswf.c: Added vasprintf() function from
-	http://unixpapa.com/incnote/stdio.html, for those platforms missing
-	it.
-
-2006-04-19  vapour <vapour>
-
-	* INSTALL.txt: Updated with instructions to run the autogen script,
-	for people using a development snapshot.
-
-2006-04-19  vapour <vapour>
-
-	* configure.in: Reverted the AC_INIT macro to the top line,
-	otherwise version numbering wasn't going quite right.
-
-2006-04-19  vapour <vapour>
-
-	* Makefile-real: Now removes the leftover libming file.
-
-2006-04-19  vapour <vapour>
-
-	* util/Makefile: It turns out that some platforms (i.e. MinGW) are
-	very sensitive to where the library names are given on a gcc command
-	line.  Moved them to the proper location, and voila, things all
-	worked.
-
-2006-04-19  vapour <vapour>
-
-	* configure.in: Improved the checking for gif and ungif libs.  Now
-	works properly on MinGW.
-
-2006-04-19  vapour <vapour>
-
-	* src/Makefile: It turns out that the placement of -l options and .o
-	files on a line is very important.  Having the .o files after the -l
-	options meant they libraries weren't being seen for those files,
-	thus erroring out on MinGW.
-
-2006-04-19  vapour <vapour>
-
-	* Makefile.config.in, configure.in: Actively making detection of
-	zlib, png, and (un)gif libraries more reliable.
-
-2006-04-19  vapour <vapour>
-
-	* util/makeswf.c: + Forced use of getopt on Windows.  + Changed to
-	use memset rather than bzero.  bzero not on MinGW.
-
-2006-04-19  vapour <vapour>
-
-	* configure.in, util/makeswf.h: Automatically detect the presence of
-	getopt and getopt_long functions.
-
-2006-04-19  vapour <vapour>
-
-	* configure.in: Added check for mkstemp function.
-
-2006-04-19  vapour <vapour>
-
-	* util/main.c: Added ifdef, to workaround the lack of mkstemp on
-	MinGW.
-
-2006-04-19  vapour <vapour>
-
-	* configure.in: Had to set HAVE_LIBZ differently.
-
-2006-04-19  vapour <vapour>
-
-	* util/decompile.c, util/makeswf.c: Added liberal use of ifdefs to
-	avoid vasprintf on the platforms that don't have it.  I make no
-	guarantees of the functional integrity on them now. ;(
-
-2006-04-19  vapour <vapour>
-
-	* configure.in: + Added a check for the vasprintf function and a few
-	comments.  + Small tweak to hopefully get zlib support working on
-	MinGW again.
-
-2006-04-19  vapour <vapour>
-
-	* util/dbl2png.c, util/main.c: Liberally adding #ifdefs, to try and
-	make the non-detection of zlib still allow compilation.  Expecting
-	this will break MinGW's zlib support for the moment, but that can be
-	looked at afterwards.
-
-2006-04-19  vapour <vapour>
-
-	* src/blocks/fromswf.c, src/blocks/gifdbl.c, src/blocks/pngdbl.c,
-	src/movie.c, util/gif2dbl.c, util/gif2mask.c, util/png2dbl.c: 
-	Liberally adding #ifdefs, to try and make the non-detection of zlib
-	still allow compilation.  Expecting this will break MinGW's zlib
-	support for the moment, but that can be looked at afterwards.
-
-2006-04-19  vapour <vapour>
-
-	* .cvsignore: + As configure isn't included with our package any
-	more, we can ignore it.  + Also added further ming library names in
-	local directory to ignore.
-
-2006-04-18  vapour <vapour>
-
-	* README: Updated to reflect the new name of the installation
-	instructions file.
-
-2006-04-18  vapour <vapour>
-
-	* Makefile-real, man/Makefile, php_ext/Makefile, util/Makefile,
-	util/old/Makefile: Updated to use the automatically determined
-	"platform correct" install script.
-
-2006-04-18  vapour <vapour>
-
-	* Makefile.config.in: Updated to pass the INSTALL variables through
-	to the Makefiles.
-
-2006-04-18  vapour <vapour>
-
-	* configure.in: Added initial flags for supporting Solaris.
-
-2006-04-17  vapour <vapour>
-
-	* configure.in: Correct shared library extension (dll) is set for
-	MinGW now.
-
-2006-04-17  vapour <vapour>
-
-	* configure.in: Updated to determine the platform we're compiling on
-	using config.guess, config.sub, etc.
-
-2006-04-17  vapour <vapour>
-
-	* config/config-ml.in: Added GNU config-ml.in, from its source at
-	http://cvs.savannah.gnu.org/viewcvs/gcc/gcc/config-ml.in
-
-2006-04-17  vapour <vapour>
-
-	* config/symlink-tree: Added GNU symlink-tree, from its source at
-	http://cvs.savannah.gnu.org/viewcvs/gcc/gcc/symlink-tree
-
-2006-04-17  vapour <vapour>
-
-	* config/texinfo.tex: Added GNU texinfo.tex, from its source at
-	http://cvs.savannah.gnu.org/viewcvs/texinfo/texinfo/doc/texinfo.tex
-
-2006-04-17  vapour <vapour>
-
-	* config/install-sh: Added GNU install-sh, from its source at
-	http://cvs.savannah.gnu.org/viewcvs/automake/automake/lib/install-sh
-
-2006-04-17  vapour <vapour>
-
-	* config/config.sub: Added GNU config.guess, from its source at
-	http://cvs.savannah.gnu.org/viewcvs/config/config/config.sub
-
-2006-04-17  vapour <vapour>
-
-	* config/config.guess: Added GNU config.guess, from its source at
-	http://cvs.savannah.gnu.org/viewcvs/config/config/config.guess
-
-2006-04-16  vapour <vapour>
-
-	* INSTALL, INSTALL.txt, Makefile-real: Small compatibility fixes for
-	MinGW.
-
-2006-04-16  vapour <vapour>
-
-	* configure.in: Added check for zdll, for MinGW platform.
-
-2006-04-13  akleine <akleine>
-
-	* CREDITS, util/decompile.c: Made ternary operation "condition ?
-	aaaa : bbbb " work for the first time.  (Needs some more work to
-	differ between this and usual if/else stuff.)
-
-2006-04-11  strk <strk>
-
-	* TODO: Added note about broken actioncompiler to fix before 0.4
-	release
-
-2006-04-05  vapour <vapour>
-
-	* ChangeLog, INSTALL, NEWS, README, configure.in, perl_ext/SWF.pm: 
-	Updated to 0.4.0-beta.
-
-2006-04-05  vapour <vapour>
-
-	* src/ming.c: Reverted Ming_scale back to 20.
-
-2006-04-05  vapour <vapour>
-
-	* ming.i: Added the Matrix handling functions created earlier today,
-	that seemed appropriate.
-
-2006-04-05  vapour <vapour>
-
-	* src/blocks/shape.c: Added SWFShape_moveScaledPenTo() contributed
-	by Uwe Traum.
-
-2006-04-05  vapour <vapour>
-
-	* src/blocks/matrix.c, src/blocks/matrix.h, src/blocks/swf.h,
-	src/displaylist.c, src/displaylist.h, src/ming.h.in,
-	src/position.c, src/position.h: Added the
-	SWFDisplayItem_getMatrix(), SWFPosition_getMatrix(),
-	SWFMatrix_getScaleX(), SWFMatrix_getRotate0(),
-	SWFMatrix_getRotate1(), SWFMatrix_getScaleY(),
-	SWFMatrix_getTranslateX(), and SWFMatrix_getTranslateY() functions.
-
-2006-04-05  vapour <vapour>
-
-	* src/blocks/matrix.h: Re-ordered functions alphabetically for
-	neatness, rather than the no-real-order before.
-
-2006-04-05  vapour <vapour>
-
-	* src/blocks/fromswf.c, src/blocks/shape.c: Removed the hard coded
-	scaling to 20x.
-
-2006-04-05  vapour <vapour>
-
-	* src/blocks/fillstyle.c: Updated newSWFBitmapFillStyle to use
-	Ming_scale rather than a hardcoded scaling value of 20.
-
-2006-04-05  vapour <vapour>
-
-	* src/movie.c: Removed the hard coded scaling to 20x. (untested)
-
-2006-04-05  vapour <vapour>
-
-	* src/ming.c: Reset the hard coded Ming_scale to 1.0 rather than 20.
-
-2006-03-23  akleine <akleine>
-
-	* util/decompile.c, util/parser.c: made  "do {...} while(...)"  loop
-	detection work now - (this needs a bugfix in parser.c: added a
-	missing statement in SWFACTION_IF section for case of jump backward
-	)
-
-2006-03-20  akleine <akleine>
-
-	* util/decompile.c: enhancement of "continue" and "break" statement
-	detection
-
-2006-03-14  akleine <akleine>
-
-	* util/decompile.c: added an initial recognition of FOR loops, add a
-	bugfix in decompileIF() plus some more string function handlers
-
-2006-03-12  akleine <akleine>
-
-	* util/decompile.c: 1. Partial rewriting of decompileIF() to handle more    difficult conditions: someting like    "if (x>2 && 7>y || callme(123) || false) { this(); } else {
-	   that(); }" 2. Introduced parentheses around terms for operator precedence    (to be continued) 3. usual bugfixes
-
-2006-03-06  akleine <akleine>
-
-	* util/decompile.c: rewrote decompileDEFINEFUNCTION(), added some of
-	the BIT* operations, extended the string package by adding a
-	switcher to a temporary buffer
-
-2006-03-03  akleine <akleine>
-
-	* util/decompile.c: some bugfixes: added a missing INDENT, enhanced
-	isLogicalOp() also added 2 SWFACTION_...CLIP calls
-
-2006-03-01  strk <strk>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Applied patch by Tim Knip: 1. supports multiple classes in one file (I think) 2. supports SWFACTION_EXTENDS => class A extends B 3. supports SWFACTION_IMPLEMENTSOP => class A implements C 4. supports SWFACTION_CASTOP (sort of: sometimes bugged now) 5. supports SWFACTION_DEFINEFUNCTION2 if SWF_version > 6
-
-2006-02-28  akleine <akleine>
-
-	* util/decompile.c: something around "switch", "if" and "if_w_else"
-	statements
-
-2006-02-27  akleine <akleine>
-
-	* util/decompile.c: some more stuff around function calls and also
-	reintroduced some missed logical ops
-
-2006-02-26  akleine <akleine>
-
-	* util/decompile.c: added SWFACTION_MODULO, plus 2 bugfixes
-
-2006-02-22  akleine <akleine>
-
-	* util/swftypes.h: changed "Offset" field in struct SWF_ACTION....
-	from UI16 to UI32 for handling bigger *.swf files
-
-2006-02-21  strk <strk>
-
-	* configure: Removed ./configure, we must remember to generate it at
-	release time
-
-2006-02-20  akleine <akleine>
-
-	* util/decompile.c: added initial approach for array handling
-
-2006-02-18  strk <strk>
-
-	* NEWS: Added date of 0.3 final release (0.3.0)
-
-2006-02-18  strk <strk>
-
-	* NEWS, configure, configure.in, util/Makefile: Made dbl2png build
-	depend on libpng library detection
-
-2006-02-16  akleine <akleine>
-
-	* util/decompile.c: enhanced handling of nested function calls, also
-	added bugfix malloc size
-
-2006-02-15  anderson <anderson>
-
-	* ChangeLog, configure: Change to 0.3.0 final release
-
-2006-02-14  akleine <akleine>
-
-	* util/decompile.c: replaced old 'funcret' workaround  [ in
-	decompileCALLMETHOD() ]
-
-2006-02-13  akleine <akleine>
-
-	* util/decompile.c: 2 bugfixes: in decrement and newobject calls
-
-2006-02-11  anderson <anderson>
-
-	* ChangeLog, NEWS: Update updates
-
-2006-02-11  anderson <anderson>
-
-	* ch/c/Makefile.win, ch/c/handmade/SWFMovie_output_chdl.c,
-	ch/chfhandmade/SWFMovie_output.chf, ch/demos/action.c,
-	ch/demos/button.c, ch/demos/cxform.c, ch/demos/drag.c,
-	ch/demos/gradient.c, ch/demos/gradientxform.c, ch/demos/jpegfill.c,
-	ch/demos/png.c, ch/pkgcreate.ch, ch/readme.txt: Updated to 0.3 from
-	Stephen Nestinger
-
-2006-02-10  akleine <akleine>
-
-	* util/decompile.c: added two more stack operations: dup and swap
-
-2006-02-10  akleine <akleine>
-
-	* util/png2dbl.c: bugfix in cast op:  makes work *.dbl files from
-	GRAY images
-
-2006-02-10  anderson <anderson>
-
-	* php_ext/README, php_ext/README.PHP4, php_ext/README.PHP5: Try to
-	be more clear about the PHP4/PHP5 support
-
-2006-02-10  anderson <anderson>
-
-	* TODO: Add more item that need to be done
-
-2006-02-09  strk <strk>
-
-	* NEWS: updated
-
-2006-02-08  anderson <anderson>
-
-	* src/actiontypes.h: The new unified definition of action type
-	values
-
-2006-02-08  anderson <anderson>
-
-	* src/actioncompiler/action.h, src/actioncompiler/assembler.c,
-	src/actioncompiler/compile.c, src/actioncompiler/compileaction.c,
-	src/actioncompiler/listaction.c, src/actioncompiler/main.c,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, util/action.h: Unify remaining
-	definitions of action values
-
-2006-02-08  anderson <anderson>
-
-	* util/action.c, util/decompile.c: Oops. There are 2 pools in use.
-	Make them static so they don't interfere with each other
-
-2006-02-08  anderson <anderson>
-
-	* Makefile.config.in: Set up LDFLAGS also
-
-2006-02-08  anderson <anderson>
-
-	* src/actioncompiler/compileaction.c,
-	src/actioncompiler/swf5compiler.flex, src/blocks/fromswf.c,
-	src/blocks/gifdbl.c, src/blocks/input.c, src/blocks/input.h,
-	src/blocks/output.c, src/blocks/output.h, src/blocks/pngdbl.c,
-	util/dbl2png.c, util/decompile.c, util/gif2dbl.c, util/gif2mask.c,
-	util/listfdb.c, util/parser.c, util/swftypes.h: Clean up some more
-	compiler warnings
-
-2006-02-08  strk <strk>
-
-	* ChangeLog: updated
-
-2006-02-06  strk <strk>
-
-	* src/actioncompiler/listaction.c: Fixed default out of switch
-
-2006-02-06  strk <strk>
-
-	* src/actioncompiler/action.h, src/actioncompiler/listaction.c: 
-	Added SWFACTION_DEFINEFUNCTION2 - dump of it is unimplemented
-
-2006-02-03  strk <strk>
-
-	* src/actioncompiler/action.h, src/actioncompiler/listaction.c: 
-	Added GREATERTHEN (0x67) and STRING_GREATERTHEN (0x68) opcodes
-
-2006-02-03  strk <strk>
-
-	* src/actioncompiler/action.h, src/actioncompiler/listaction.c: 
-	Added SWFACTION_ACSTOBJECT (0x2b)
-
-2006-02-03  strk <strk>
-
-	* src/actioncompiler/action.h: Fixed SWFACTION_IMPLEMENTS
-	(0x2b=>0x2c)
-
-2006-02-03  strk <strk>
-
-	* src/actioncompiler/action.h, src/actioncompiler/listaction.c: 
-	Added SWFACTION_IMPLEMENTS (0x2C) and SWFACTION_EXTENDS (0x69)
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/SWF/Bitmap.pm, perl_ext/SWF/Constants.pm,
-	perl_ext/SWF/Sound.pm, perl_ext/SWF/TextField.pm,
-	perl_ext/SWF/VideoStream.pm: fixing pod errors
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/SWF/Button.pm: added setMenu in documentation
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/SUPPORT: links to mailing lists updated
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/SWF.pm: update of documentation, version set to 0.3beta2
-	(still hardcoded here)
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/SWF.xs: added getScale, setCubicThreshold(num),
-	setSWFCompression(level)
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/Makefile.PL: removed a call to unexistent function
-
-2006-02-01  peterdd <peterdd>
-
-	* perl_ext/README: update for release
-
-2006-01-30  anderson <anderson>
-
-	* php_ext/ming.c: Mostly just trivial reformatting to eliminate the
-	diff noise when compared against the upstream file. This leaves just
-	the interesting stuff that needs to be manually resolved. NB: it
-	looks like PHP 4.3 and 4.4 are missing the new APIs unless they have
-	been recently added upstream. I know PHP4 is frozen for maintainace
-	but it is still useful for OS providors to be able to get a patch
-	for PHP4 that goes with Ming 0.3.0.
-
-2006-01-30  anderson <anderson>
-
-	* Makefile-real: prune the old utilities from the release tarballs.
-
-2006-01-30  anderson <anderson>
-
-	* util/Makefile, util/dbl2png.c: Add a new dbl2png utility from
-	Albrecht Kleine <kleine at ak.sax.de>
-
-2006-01-30  anderson <anderson>
-
-	* configure: Set the MICRO version to beta2
-
-2006-01-30  anderson <anderson>
-
-	* configure.in: Set the version to beta2
-
-2006-01-30  anderson <anderson>
-
-	* ChangeLog: Last Chagelog updates
-
-2006-01-30  anderson <anderson>
-
-	* Makefile: The target is Changelog (lower 'l', not ChangeLog (cap
-	'L') so it always runs, and noesn't think the file already exists
-
-2006-01-30  anderson <anderson>
-
-	* NEWS, TODO: Update docs
-
-2006-01-26  strk <strk>
-
-	* macros/ming.m4: Added 'makeswf' detection code and usage docs
-
-2006-01-26  strk <strk>
-
-	* util/ming-config.in: Added --bindir
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/.cvsignore: added SoundInstance.c SoundStream.c
-	VideoStream.c
-
-2006-01-25  strk <strk>
-
-	* macros/ming.m4: Added m4 macro for client code use
-
-2006-01-25  strk <strk>
-
-	* .cvsignore, py_ext/.cvsignore, util/.cvsignore: Updated cvsignore
-	files
-
-2006-01-25  strk <strk>
-
-	* Makefile, Makefile-real, Makefile.config.in, configure,
-	configure.in, util/Makefile, util/ming-config.in: Added ming-config
-	script for client applications use.  Changed MING_VER to
-	MING_VERSION.  Moved maintainer-clean, ChangeLog and release rules
-	from Makefile to Makefile.real having it use MING_VERSION.
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/glyph.cgi: fix typo
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/shape.cgi: fixed
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/keypress.cgi: fixed
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/SWF/VideoStream.pm: added stub for documentation of
-	VideoStream
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/video.cgi: a videostream example
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/sound.cgi: included Constants
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/textfield.cgi: add a textfield example
-
-2006-01-25  peterdd <peterdd>
-
-	* : arial like font for build tests and examples
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/common/README: add
-
-2006-01-25  peterdd <peterdd>
-
-	* : file for build tests and examples
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/glyph.cgi: fixed
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/morph.cgi: fixed and improved
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/sprite.cgi: fixed
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/animation.cgi, perl_ext/examples/text.cgi: 
-	comment out my libpath
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/text.cgi: fixed and improved
-
-2006-01-25  peterdd <peterdd>
-
-	* perl_ext/examples/animation.cgi: fixed and improved
-
-2006-01-24  peterdd <peterdd>
-
-	* perl_ext/Makefile.PL: fixing paths
-
-2006-01-24  peterdd <peterdd>
-
-	* perl_ext/Makefile.PL: fixing paths
-
-2006-01-24  peterdd <peterdd>
-
-	* perl_ext/Makefile.PL: a first step: take mingversion from global
-	../configure.in, use of ../src/ming_config.h for detection of
-	optional libs
-
-2006-01-24  anderson <anderson>
-
-	* ChangeLog: Updates
-
-2006-01-24  anderson <anderson>
-
-	* Makefile: Don't record changes to ChangeLog itself
-
-2006-01-24  anderson <anderson>
-
-	* Makefile: Split the rest of the language modules into seperate
-	tarballs. Add a convvenience target for updating the Changelog
-
-2006-01-24  anderson <anderson>
-
-	* php_ext/README, rb_ext/README: Addpointers to current version of
-	the module in other projects
-
-2006-01-23  whamann <whamann>
-
-	* src/blocks/placeobject.c: placeobject was saving name and mask
-	depth in wrong order, fixed
-
-2006-01-12  anderson <anderson>
-
-	* ChangeLog: Update changelog. Gotta love cvs2cl 8-)
-
-2006-01-06  anderson <anderson>
-
-	* Makefile: Add a target for building rleease tarballs
-
-2006-01-06  anderson <anderson>
-
-	* Makefile-real: Finish unhooking the php dir from the build
-
-2006-01-05  anderson <anderson>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: Fix a problem where 2
-	sequential escaped chars would not get proccessed correctly. The 2nd
-	one would not be unescaped since the 2nd escape was being consumed
-	in the wrong place.
-
-2005-12-09  strk <strk>
-
-	* ch/Makefile, ch/c/Makefile.win, ch/include/ming.h,
-	ch/pkgcreate.ch, ch/readme.txt: Applied patch from Stephen Nestinger
-	to remove ming.h duplication
-
-2005-12-06  strk <strk>
-
-	* Makefile-real, Makefile.config.in, configure, configure.in,
-	src/.cvsignore, src/ming.h, src/ming.h.in: Moved version info into
-	configure.in.  ming.h generated by ./configure (to add version
-	defines).  version info in Makefile.config set by ./configure
-
-2005-12-06  anderson <anderson>
-
-	* configure: Regen to match configure.in - Adds EXTRA_BINS for gif
-	tools
-
-2005-12-06  strk <strk>
-
-	* configure.in, util/Makefile: gif binaries build triggered by
-	avalability of gif lib
-
-2005-11-28  anderson <anderson>
-
-	* Makefile-real, Makefile.config.in, configure, configure.in,
-	src/Makefile: Create a way to pass in additional flags when building
-	share library objects.  This is used on Linux to pass in -fPIC.
-	Similar can be done for other OSes.  Recognize Linux, and set the
-	SONAME correctly
-
-2005-11-28  anderson <anderson>
-
-	* py_ext/Makefile: provide a way to pass in a different prefix when
-	building packages
-
-2005-11-28  anderson <anderson>
-
-	* src/Makefile: Add additional dependencies
-
-2005-11-24  strk <strk>
-
-	* php_ext/ming.c, php_ext/php_ming.h: License change reverted
-	(LGPL->PHP) until someone more informed then me will take care of
-	it.
-
-2005-11-23  anderson <anderson>
-
-	* php_ext/ming-dev.c, php_ext/ming-streams.c: Remove obsolete files
-
-2005-11-23  anderson <anderson>
-
-	* php_ext/Makefile: Install to DESTDIR
-
-2005-11-23  strk <strk>
-
-	* php_ext/ming-dev.c, php_ext/ming-streams.c, php_ext/ming.c,
-	php_ext/php_ming.h: Fixed license header (PHP->LGPL)
-
-2005-11-14  anderson <anderson>
-
-	* util/read.c, util/read.h: Remove unused indent code
-
-2005-11-14  anderson <anderson>
-
-	* util/action.c, util/decompile.c, util/outputtxt.c, util/parser.c,
-	util/swftypes.h: small cleanups to allow building w/ gcc-2.95
-
-2005-11-14  strk <strk>
-
-	* NEWS: updated to use exported name of Fromswf(): SWFPrebuildClip
-
-2005-10-18  anderson <anderson>
-
-	* src/actioncompiler/swf5compiler.flex: Add missing bounds check
-	that can cause SIGSEG
-
-2005-10-15  anderson <anderson>
-
-	* util/Makefile: Also build gif2dbl and gif2mask
-
-2005-10-15  anderson <anderson>
-
-	* util/Makefile: Remove duplicate makeswf from the list of binaries
-
-2005-10-03  strk <strk>
-
-	* util/main.c: Removed example call from main.c, as it would refer
-	to swftoperl while being used by all outputs
-
-2005-09-13  anderson <anderson>
-
-	* util/action.c, util/main.c, util/outputtxt.c: Try to make the
-	output easier to read. Leave out some details unless -v (verbose) is
-	passed on the command line. Also, indent actions according to their
-	nesting level.
-
-2005-09-13  anderson <anderson>
-
-	* util/Makefile: Assume we are beyond the point of no return now 8-)
-	Rename the new binaries to that same names as the old binaries.
-	Make sure we are building all of the old binaries also.  This will
-	make package upgrades easier.
-
-2005-09-13  anderson <anderson>
-
-	* util/listmp3.c: Initialize some variable which might get used
-	before they are otherwise set
-
-2005-09-13  anderson <anderson>
-
-	* util/listfdb.c, util/makefdb.c: Fix to build again w/ new includ
-	patch & symbols
-
-2005-09-07  anderson <anderson>
-
-	* util/read.c: compiler complaint: put data decls before functions
-	calls & initialize offset for compilers that think it might be used
-	before being set
-
-2005-09-07  anderson <anderson>
-
-	* util/decompile.c: compiler complaint: decompileActions() really
-	should be a void return
-
-2005-09-06  strk <strk>
-
-	* mingpp.h, src/ming.h, src/movie.c: Applied patch by Darren Cook
-	making exposure of fileOutputMethod function useless
-
-2005-09-01  anderson <anderson>
-
-	* util/action.c, util/action.h, util/decompile.c, util/decompile.h: 
-	New decompiler that goes with the new parser. This handles Flash 7.
-	This decompiler is passed an entire block of actions which were
-	collected by the parser code. This allows the decompiler to look
-	forward and backward a few actions to help make it's decisions.  This is not yet complete, but is working well enough for people to
-	look at and comment on. There are still a few things in the old code
-	to be reapplied to this new code.
-
-2005-08-31  anderson <anderson>
-
-	* util/outputtxt.c: When built for listaction, include actions in
-	some less obvious places
-
-2005-08-22  strk <strk>
-
-	* NEWS: Added case-sensitive actionscript compiler change
-
-2005-08-17  anderson <anderson>
-
-	* util/Makefile, util/outputtxt.c: Restore the listaction command
-
-2005-08-16  anderson <anderson>
-
-	* util/action.c, util/action.h, util/outputtxt.c, util/parser.c,
-	util/parserdecl.h, util/swftypes.h: action.c: Add specifiy fuctions
-		  for more Actions including IF and DEFINEFUNCTION* which have their
-		  own blocks of actions wthat get skipped if they aren't explicitely
-	handled.  outputtxt.c: fill in missing StraightEdge detail, pass
-		     action number to outputSWF_ACTION() parser.c: Change how
-		  parseSWF_ACTIONRECORD() is called. It now has access to the entire
-		  block of action record,s not just a single record.  Implement IF
-		  parsing which puts the conditional block of action in a seperate
-	block hanging off of this record.  swftypes.h: Add the Offset to all
-	records types.
-
-2005-08-15  strk <strk>
-
-	* ChangeLog, NEWS: Initial import
-
-2005-08-14  krechert <krechert>
-
-	* configure, configure.in: add -fPIC to CFLAGS for x86_64 machines
-
-2005-08-12  whamann <whamann>
-
-	* ch/Makefile, ch/c/Make.inc, ch/c/Makefile, ch/c/Makefile.win,
-	ch/c/handmade/Ming_setErrorFunction_chdl.c,
-	ch/c/handmade/Ming_setWarnFunction_chdl.c,
-	ch/c/handmade/SWFMovie_output_chdl.c,
-	ch/chfhandmade/Ming_setErrorFunction.chf,
-	ch/chfhandmade/Ming_setWarnFunction.chf,
-	ch/chfhandmade/SWFMovie_output.chf, ch/demos/action.c,
-	ch/demos/button.c, ch/demos/cxform.c, ch/demos/drag.c,
-	ch/demos/gradient.c, ch/demos/gradientxform.c, ch/demos/jpegfill.c,
-	ch/demos/png.c, ch/include/blocklist.h, ch/include/blocks/action.h,
-	ch/include/blocks/bitmap.h, ch/include/blocks/block.h,
-	ch/include/blocks/blocktypes.h, ch/include/blocks/browserfont.h,
-	ch/include/blocks/button.h, ch/include/blocks/character.h,
-	ch/include/blocks/cxform.h, ch/include/blocks/dbl.h,
-	ch/include/blocks/error.h, ch/include/blocks/exports.h,
-	ch/include/blocks/fillstyle.h, ch/include/blocks/font.h,
-	ch/include/blocks/fontinfo.h, ch/include/blocks/fromswf.h,
-	ch/include/blocks/gradient.h, ch/include/blocks/imports.h,
-	ch/include/blocks/input.h, ch/include/blocks/jpeg.h,
-	ch/include/blocks/libswf.h, ch/include/blocks/linestyle.h,
-	ch/include/blocks/matrix.h, ch/include/blocks/method.h,
-	ch/include/blocks/morph.h, ch/include/blocks/output.h,
-	ch/include/blocks/outputblock.h, ch/include/blocks/placeobject.h,
-	ch/include/blocks/rect.h, ch/include/blocks/shape.h,
-	ch/include/blocks/sound.h, ch/include/blocks/soundinstance.h,
-	ch/include/blocks/soundstream.h, ch/include/blocks/sprite.h,
-	ch/include/blocks/swf.h, ch/include/blocks/text.h,
-	ch/include/blocks/textfield.h, ch/include/blocks/ttffont.h,
-	ch/include/blocks/utf8.h, ch/include/blocks/videostream.h,
-	ch/include/displaylist.h, ch/include/fill.h,
-	ch/include/font_util.h, ch/include/gc.h, ch/include/libming.h,
-	ch/include/ming.h, ch/include/ming_config.h, ch/include/movie.h,
-	ch/include/movieclip.h, ch/include/position.h,
-	ch/include/shape_cubic.h, ch/include/shape_util.h,
-	ch/include/text_util.h, ch/pkgcreate.ch, ch/pkginstall.ch,
-	ch/readme.txt: Initial revision
-
-2005-08-10  anderson <anderson>
-
-	* util/outputscript.c, util/outputtxt.c: Don't compare the type
-	value to the number of Blocks we can output. They aren't really the
-	same thing, and we end up skipping some of the later blocktypes that
-	happen to have type values greater than the number of entries in the
-	array.
-
-2005-08-09  strk <strk>
-
-	* INSTALL: Revision by Darren Cook
-
-2005-08-08  strk <strk>
-
-	* src/ming_config.h.in: Fixed documentation of TRACK_ALLOCS
-
-2005-07-08  strk <strk>
-
-	* src/blocks/font.c: Applied patch from Uwe Traum initializing new
-	elems of codeTable
-
-2005-06-13  anderson <anderson>
-
-	* ChangeLog, util/action.c, util/action.h, util/outputtxt.c: Start
-	implementing more detailed output for actions >=0x80 add output for
-	action that are tucked away inside other blocks like
-	CLIPACTIONRECORDs.
-
-2005-06-13  anderson <anderson>
-
-	* util/Makefile: Use a var for the long list of objects
-
-2005-06-09  anderson <anderson>
-
-	* ChangeLog, util/outputtxt.c, util/parser.c, util/swftypes.h: Fix
-	many warnings Implemenent IMPORTASSET and output more info for
-	DEFINESPRITE
-
-2005-06-09  anderson <anderson>
-
-	* ChangeLog: Format the CodeTable output of DEFINEFONT2 to display 2
-	or 4 digits depending on FontFlagsWideCodes.
-
-2005-06-08  anderson <anderson>
-
-	* util/outputtxt.c: Format the CodeTable output of DEFINEFONT2 to
-	display 2 or 4 digits depending on FontFlagsWideCodes.
-
-2005-06-04  strk <strk>
-
-	* CREDITS, ChangeLog: Added strk and Stuart
-
-2005-05-30  anderson <anderson>
-
-	* util/swftypes.h: Fix how we define SWF_ACTION record within
-	actions. This was why some records were getting steeped on becasue
-	the arrays elements were using the wrong size of type
-
-2005-05-30  anderson <anderson>
-
-	* util/decompile.c, util/decompile.h, util/outputscript.c,
-	util/outputtxt.c, util/parser.c, util/swftypes.h: Break decompiles a
-	bit less now: 1) Restore the indent parameter in calls to decompile5Action(). It's
-	   removal indavertantly left gIndent uninitialized which caused the
-	   code to loop for a very very long time.  2) The SWFACTION_WIHT blocks weren't being parsed right. The SWF
-	   Spec seems to describes the block incorrectly.
-
-2005-05-30  anderson <anderson>
-
-	* util/parser.c, util/swftypes.h: Parse more Block types
-
-2005-05-30  anderson <anderson>
-
-	* util/decompile.c, util/decompile.h, util/outputdecl.h,
-	util/outputscript.c, util/outputtxt.c, util/parser.c,
-	util/parserdecl.h, util/swftypes.h: 1) define structures for all action through v7 2) Rename some actions to better match SWF File Format Specification 3) Parse all actions and build data structures instead of just
-	calling decompile() 4) Change the decompiler to work off of the new data structures
-	   instead of the file stream. There is much more work needed here to
-	   restore the full functionallity of decompile.  5) Fill in the implmentation for several mroe block types
-
-2005-05-30  anderson <anderson>
-
-	* util/main.c: Make an error fatal for now to make it more obvious
-	during develpment
-
-2005-05-30  anderson <anderson>
-
-	* util/action.c, util/action.h: 1) Add definitions for all action through v7 2) Rename a few action to better match the SWF File Format
-	Specification
-
-2005-05-30  anderson <anderson>
-
-	* util/Makefile: listswf2 is now somewhat functional, so build it
-	again
-
-2005-05-30  anderson <anderson>
-
-	* util/blocktypes.c: Add SWF_INITACTION and remove some bounds
-	checking which is incorrect
-
-2005-05-30  anderson <anderson>
-
-	* util/read.c, util/read.h: Add readBytes() which is a sized read
-	like readSizedString(), but doesn't try to inteprete the contents.
-	Add peekBytes() which is similar to dumpBytes, but it rewinds the
-	file offset.
-
-2005-04-24  strk <strk>
-
-	* Makefile-real, Makefile.config.in, configure, configure.in,
-	java_ext/native/Makefile, php_ext/Makefile, src/Makefile,
-	tcl_ext/Makefile, util/Makefile, util/old/Makefile: Applied patch by
-	Motoi Washida <a66 at h8.dion.ne.jp> for Darwin build cleanup
-
-2005-04-18  strk <strk>
-
-	* util/Makefile: Added missing makeswf to BINARIES variable
-
-2005-04-15  strk <strk>
-
-	* src/blocks/fromswf.c: Initialized some vars to make compiler happy
-
-2005-04-15  strk <strk>
-
-	* php_ext/Makefile, php_ext/Makefile.in: Build scripts cleanup
-
-2005-04-15  strk <strk>
-
-	* util/decompile.c, util/swftoscript.c, util/swftoscript.h: Removed
-	obsolete files
-
-2005-04-15  strk <strk>
-
-	* util/Makefile: Fixed wrong dependency for swftophp2 and
-	swftopython
-
-2005-04-14  strk <strk>
-
-	* README: Added note about makeswf(1) being released GPL
-
-2005-04-14  strk <strk>
-
-	* util/decompile.c, util/old/Makefile, util/old/blocktypes.c,
-	util/old/blocktypes.h, util/old/decompile.c, util/old/decompile.h,
-	util/old/libswf.h, util/old/listswf.c, util/old/output.h,
-	util/old/swftoscript.c, util/old/swftoscript.h: More cleanups in
-	old/ dir, small fix in decompile.c
-
-2005-04-14  strk <strk>
-
-	* util/outputtxt.c: Put some NODECOMPILE blocks back in (but it's
-	not working).
-
-2005-04-14  strk <strk>
-
-	* util/Makefile: Removed listswf2 build (NODECOMPILE is not
-	implemented yet).
-
-2005-04-14  strk <strk>
-
-	* util/decompile.c: Fixed bogus handling of 'with' code
-
-2005-04-14  strk <strk>
-
-	* util/old/Makefile, util/old/action.h: Removed duplicated action.h,
-	code will use the ../action.h
-
-2005-04-14  strk <strk>
-
-	* .cvsignore, src/.cvsignore, util/.cvsignore, util/old/.cvsignore: 
-	Updated
-
-2005-04-14  strk <strk>
-
-	* Makefile.am, c++_ext/Makefile.am, src/Makefile.am,
-	src/actioncompiler/Makefile.am, src/blocks/Makefile.am,
-	util/Makefile.am: Removed to avoid users confusion
-
-2005-04-11  strk <strk>
-
-	* util/decompile.c, util/main.c, util/outputdecl.h,
-	util/outputscript.c, util/outputtxt.c: New fixed by Stuart R.
-	Anderson
-
-2005-04-11  strk <strk>
-
-	* util/decompile.c, util/decompile.h, util/main.c,
-	util/old/Makefile, util/old/listswf.c, util/outputscript.c: Cleanups
-	by Stuart Anderson
-
-2005-04-09  strk <strk>
-
-	* util/main.c: Added missing prototypes, minor cleanups.
-
-2005-04-09  strk <strk>
-
-	* util/outputtxt.c: Implemented outputHeader
-
-2005-04-09  strk <strk>
-
-	* util/main.c: Fixed a bug in cws2fws missing to allow read on
-	decompressed file.
-
-2005-04-09  strk <strk>
-
-	* util/parser.c: Applied patch for version 5 movies handling.
-
-2005-04-07  strk <strk>
-
-	* util/old/listswf.c: Incremented memory allocated for dictionary
-	entries
-
-2005-04-07  strk <strk>
-
-	* util/Makefile, util/blocktypes.h, util/decompile.c,
-	util/decompile.h, util/decompile4.c, util/listswf.c, util/main.c,
-	util/old/Makefile, util/old/action.h, util/old/bindump.c,
-	util/old/blocktypes.c, util/old/blocktypes.h, util/old/decompile.c,
-	util/old/decompile.h, util/old/decompile4.c, util/old/hexdump.c,
-	util/old/libswf.h, util/old/listswf.c, util/old/output.h,
-	util/old/read.c, util/old/read.h, util/old/swftoscript.c,
-	util/old/swftoscript.h, util/parser.c, util/read.h,
-	util/swftoperl.c, util/swftoperl.h, util/swftophp.c,
-	util/swftophp.h: Moved old decompiler under old/
-
-2005-04-07  strk <strk>
-
-	* util/outputtxt.c: Cleanups
-
-2005-04-07  strk <strk>
-
-	* util/outputscript.c: Cleanups.
-
-2005-04-07  strk <strk>
-
-	* util/Makefile, util/action.c, util/blocktypes.c,
-	util/decompile.c, util/decompile.h, util/listswf.c, util/main.c,
-	util/outputdecl.h, util/outputscript.c, util/outputtxt.c,
-	util/parser.c, util/parser.h, util/parserdecl.h, util/read.c,
-	util/swfoutput.h, util/swftoscript.c, util/swftoscript.h,
-	util/swftypes.h: Imported Stuart Anderson new code for decompiling
-	utils.
-
-2005-04-01  strk <strk>
-
-	* util/decompile.c, util/listswf.c: Code cleanups, no more warnings
-	on freeBSD.
-
-2005-04-01  strk <strk>
-
-	* Makefile.config.in, configure, configure.in, src/Makefile: Added
-	primitive (and limited) support for Darwin builds.
-
-2005-03-31  strk <strk>
-
-	* Makefile, Makefile-real: Fixed install-static rule
-
-2005-03-31  strk <strk>
-
-	* configure: Updated to match configure.in
-
-2005-03-31  strk <strk>
-
-	* ChangeLog, Makefile.config.in, configure.in, py_ext/.cvsignore,
-	py_ext/Makefile: Initial build scripts support for python wrapper.
-
-2005-03-30  strk <strk>
-
-	* Makefile.config.in, configure, configure.in: Fixed missing CC and
-	CXX variables (weren't set by configure)
-
-2005-03-29  whamann <whamann>
-
-	* src/blocks/soundstream.c: now that ID3 tags or just binary 0's are
-	correctly skipped, remembering the initial position in the stream
-	helps a lot
-
-2005-03-29  strk <strk>
-
-	* util/Makefile, util/decompile.c, util/decompile.h,
-	util/decompile4.c, util/decompile5.c, util/swftoscript.c: Renamed
-	decompile.c to decompile4.c and decompile.c to decompile.c.  The new
-	non-versioned file is the only to be used, the other is left but
-	obsoleted, removed all refs to it in Makefile.  Changed use of
-	tmpnam with mkstemp, which is more secure.  Changed Stack type to
-	never destroy it's strings.  It will leak, but it's most common use
-	will be single-shot decompile of an swfmovie. At least won't
-	segfault now...
-
-2005-03-28  strk <strk>
-
-	* util/makeswf.c: Added frame layout printing.
-
-2005-03-27  strk <strk>
-
-	* Makefile, Makefile-real, Makefile.config.in, Rules.make.in,
-	c++_ext/Makefile, config.make.in, configure, configure.in,
-	man/Makefile, php_ext/Makefile, src/Makefile,
-	src/actioncompiler/Makefile, src/blocks/Makefile, util/Makefile: 
-	Merged Rules.make and config.make into a single Makefile.config
-	file.
-
-2005-03-27  strk <strk>
-
-	* man/makeswf.1: cleanups
-
-2005-03-27  strk <strk>
-
-	* LICENSE_GPL2: Added GPL2 license, for code released with that
-	license (makeswf).
-
-2005-03-27  strk <strk>
-
-	* Makefile-real, Rules.make.in, man/Makefile, man/makeswf.1: Added
-	makeswf manual page.
-
-2005-03-26  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.y: removed two redundant
-	declarations - now 79 shift/reduce and 87 reduce/reduce conflicts
-	left
-
-2005-03-26  whamann <whamann>
-
-	* src/blocks/fromswf.c: removed some code no longer needed
-
-2005-03-25  strk <strk>
-
-	* php_ext/Makefile: Modified to include appropriate file for CC
-	definition.
-
-2005-03-25  strk <strk>
-
-	* src/Makefile: Modified static and dynamic rules to avoid
-	recompilation when unneeded
-
-2005-03-22  strk <strk>
-
-	* Makefile-real: Broader libs match for clean rule.
-
-2005-03-22  strk <strk>
-
-	* Makefile-real: src/ming_config.h cleanup
-
-2005-03-22  strk <strk>
-
-	* util/Makefile: Changed all rules to use dynamic linkage
-
-2005-03-22  strk <strk>
-
-	* Rules.make.in, src/Makefile, util/Makefile: Library version split
-	into MAJOR,MINOR,MICRO
-
-2005-03-22  strk <strk>
-
-	* Makefile-real: static library built reintroduced by default
-
-2005-03-22  strk <strk>
-
-	* src/Makefile: Added libming.so symlink
-
-2005-03-22  strk <strk>
-
-	* util/Makefile: Made install rule to only install buildable
-	binaries.
-
-2005-03-22  strk <strk>
-
-	* util/Makefile: Enhanced to work with older compilers.
-
-2005-03-22  strk <strk>
-
-	* Makefile, config.make.in, configure, configure.in, util/Makefile: 
-	configure script included in CVS, handled optional binaries build
-	for systems w/out GIF and/or PNG.
-
-2005-03-22  strk <strk>
-
-	* util/makeswf.c: Changed calling interface: 	- all arguments are source files 	- each source file will be stored in a separate 	  frame, in the order they appear 	- output will be "out.swf" unless -o <output> is used
-
-2005-03-22  strk <strk>
-
-	* Makefile-real, Rules.make.in, util/Makefile: Used bindir,
-	includedir and libdir from autoconf. Made util build and install
-	happen by default, and use @bindir@
-
-2005-03-22  strk <strk>
-
-	* util/Makefile: Cleanups, use of user-provided --prefix
-
-2005-03-22  strk <strk>
-
-	* src/ming_config.h: this will be produced by autoconf
-
-2005-03-22  strk <strk>
-
-	* src/Makefile: Fixed cleanup of shared lib
-
-2005-03-22  strk <strk>
-
-	* configure.in, src/ming_config.h.in: ming_config.h generated from
-	autoconf
-
-2005-03-22  strk <strk>
-
-	* Makefile: improved dependencies
-
-2005-03-21  strk <strk>
-
-	* autogen.sh: simplified
-
-2005-03-21  strk <strk>
-
-	* configure.in: Modified to work with older autoconf versions
-
-2005-03-21  strk <strk>
-
-	* Rules.make.in, config.make.in: These are handled by autoconf
-
-2005-03-21  strk <strk>
-
-	* Makefile, Makefile-real: Renamed Makefile to Makefile-real, added
-	a Makefile wrapper
-
-2005-03-21  strk <strk>
-
-	* Makefile: More cleanups
-
-2005-03-21  strk <strk>
-
-	* Rules.make, config.make: Will be created running ./configure
-
-2005-03-21  strk <strk>
-
-	* configure.in: simplified
-
-2005-03-21  strk <strk>
-
-	* Makefile: Added distclean rule and let PREFIX be get from
-	Rules.make
-
-2005-03-03  whamann <whamann>
-
-	* src/blocks/fromswf.c: wrong call parameter in previous fix -- oops
-
-2005-02-16  whamann <whamann>
-
-	* src/blocks/font.c, src/blocks/fromswf.c: better morph parsing
-	destroyfont erratically was called with no font
-
-2005-02-14  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex: Applied patch from Uwe Traum
-	handling exponential notation and fixing a bug in the unescape
-	function.
-
-2005-02-13  whamann <whamann>
-
-	* src/blocks/fromswf.c: fix two bugs in prebuiltclip handling, one
-	incorrect freeing if the input is compressed the other one: do not
-	consider the special character id -1 (which occasionally occurs with
-	bitmap fills) while scanning the clip
-
-2005-01-02  whamann <whamann>
-
-	* src/blocks/fromswf.c, src/blocks/gifdbl.c, util/gif2dbl.c: fixed
-	crash on swfprebuiltclip - thanks F. Kromann gif import problem -
-	lib_gif.h declares a byte as a char which should rather be unsigned,
-	so I added masking This will occasionally turn transparent gif into
-	non-transparent BTW: neither the inline code nor the util
-	de-interlace progressive images
-
-2004-12-29  krechert <krechert>
-
-	* src/blocks/videostream.c: fixed compiler warning
-
-2004-12-29  krechert <krechert>
-
-	* perl_ext/Makefile.PL: add #include src/libming.h to SWF.h
-
-2004-12-18  krechert <krechert>
-
-	* src/blocks/soundstream.c: [no log message]
-
-2004-12-09  whamann <whamann>
-
-	* src/blocks/input.c: even memory buffers want there offset updated
-	by reading :)
-
-2004-12-07  krechert <krechert>
-
-	* src/blocks/soundstream.c: skip additional data before real mp3
-	header
-
-2004-11-10  strk <strk>
-
-	* util/makeswf.c: Added support for specifying output compression
-	level
-
-2004-11-10  strk <strk>
-
-	* src/actioncompiler/Makefile,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: Parser made case-sensitive,
-	changed few lagacy function token definitions to allow for some
-	case-mIxIng
-
-2004-11-10  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: More debugging calls.
-
-2004-11-09  strk <strk>
-
-	* util/makeswf.c: Added -v flag in usage string (already supported
-	but not documented)
-
-2004-11-05  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.y: added support for geturl(url)
-	as needed for javascript calls etc.  note: this is exactly the same
-	as geturl(url,'')
-
-2004-11-03  strk <strk>
-
-	* util/makeswf.c, util/makeswf.h: Introduced a default include path
-	to easy code sharing.
-
-2004-11-02  strk <strk>
-
-	* util/makeswf.c: Fixed a bug in -I and -D handling.
-
-2004-11-02  strk <strk>
-
-	* util/Makefile: Fixed makeswf build rule
-
-2004-10-27  strk <strk>
-
-	* util/listswf.c: Changed Push record display to take less space.
-
-2004-10-27  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Commented in DEBUG define (left
-	from previous tests)
-
-2004-10-27  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Fixed bug in: new obj; new
-	nmsp.obj; new obj(..); new nsp.obj(..); Added support for: new
-	nsp['obj']; new nsp['obj](..);
-
-2004-10-22  strk <strk>
-
-	* src/actioncompiler/listaction.c: Moved variable declarations
-	before block body, for older compilers support.
-
-2004-10-22  strk <strk>
-
-	* util/action.h, util/listswf.c: Added listing support for
-	ActionNewMethod (listed as NewMethod)
-
-2004-10-22  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Added support for 'new
-	this.that;' syntax (ActionNewMethod: 0x53).  Fixed expr_or_obj rule
-	to use IDENTIFIER instead of identifier.
-
-2004-10-19  whamann <whamann>
-
-	* win32/libming.dsp: new version contributed by Frank Kromann <frank
-	at kromann dot info> Comments: the user MUST specify the path to
-	flex and bison in visual studio under tools|options -> directoriesn
-	and executable files
-
-2004-10-15  strk <strk>
-
-	* mingpp.h: Applyed minguts fix for SWFFont constructor
-
-2004-10-07  strk <strk>
-
-	* util/Makefile, util/swftoscript.c, util/swftoscript.h: Added
-	unified swf2script by Stuart Anderson <anderson at netsweng.com>.
-
-2004-10-06  strk <strk>
-
-	* src/blocktypes.h: Removed. Use blocks/blocktypes.h instead
-
-2004-10-06  strk <strk>
-
-	* util/Makefile, util/README, util/TIPS, util/listfdb.c,
-	util/listmp3.c, util/png2swf.c, util/raw2adpcm.c, util/swftoperl.c,
-	util/swftophp.c: Big cleanup. make all_binaries work.  Some of the
-	tools got removed from the list.  Readme made more readable. Tips
-	moved to TIPS.
-
-2004-10-06  strk <strk>
-
-	* src/libming.h, src/ming.h: fileOutputMethod moved from ming.h to
-	libming.h.  Waiting for contestors to raise their hands ;)
-
-2004-10-06  strk <strk>
-
-	* util/Makefile: Modified all: rule to use a pager
-
-2004-10-06  strk <strk>
-
-	* src/actioncompiler/listaction.c: omitted unused variable, for
-	compiler happyness
-
-2004-10-06  strk <strk>
-
-	* ChangeLog: updated
-
-2004-10-05  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, util/Makefile, util/action.h,
-	util/listswf.c: Added TargetPath support (0x45)
-
-2004-10-05  strk <strk>
-
-	* src/actioncompiler/swf5compiler.y: Added DELETE in function_call
-	(already in void_function_call)
-
-2004-10-05  strk <strk>
-
-	* src/actioncompiler/action.h: Added comments about VAREQUALS
-	actually being DEFINELOCAL.  Commented out ming.h include (for
-	future use by utils)
-
-2004-10-03  strk <strk>
-
-	* mingpp.h: Applied patched by Darren Cook <darren at dcook.org>
-
-2004-10-02  whamann <whamann>
-
-	* src/blocks/blocktypes.h, src/blocks/fromswf.c, src/blocktypes.h: 
-	add INITCLIP to tags that may occur in prebuiltclip
-
-2004-10-01  strk <strk>
-
-	* Rules.make: INCLUDES variable defined avoiding recursion (for bsd
-	make)
-
-2004-10-01  strk <strk>
-
-	* php_ext/Makefile: Changed PHPSRC default assignment to work undef
-	BSDmake
-
-2004-10-01  strk <strk>
-
-	* py_ext/Makefile: Added stub
-
-2004-10-01  strk <strk>
-
-	* Rules.make: Fixed to be supported by OpenBSD.
-
-2004-10-01  strk <strk>
-
-	* src/actioncompiler/action.h, src/actioncompiler/swf5compiler.y: 
-	Fixed a bug in SWFACTION_DELETE and SWFACTION_DELETEVAR handling.
-
-2004-10-01  strk <strk>
-
-	* util/action.h, util/listswf.c: Added SWFACTION_DELETEVAR read
-	support.
-
-2004-09-29  strk <strk>
-
-	* util/makeswf.c: ImportAssets executed even if import file is not
-	found on filesystem.  A warning is issued in that case.
-
-2004-09-28  strk <strk>
-
-	* util/blocktypes.h, util/listswf.c: Cleanup. listswf_nd now
-	compiles with no warnings.
-
-2004-09-28  strk <strk>
-
-	* util/makeswf.c: Forced imported assets inclusion by mean of
-	instantiation.  Symbols are instantiated inside a __shared_assets
-	clip, which in turn is made invisible.
-
-2004-09-28  strk <strk>
-
-	* util/blocktypes.c, util/blocktypes.h, util/listswf.c: Added
-	ImportAssets block
-
-2004-09-28  strk <strk>
-
-	* util/makeswf.c: Added assets import support.
-
-2004-09-28  strk <strk>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: Allow dollar sign in
-	identifiers.
-
-2004-09-28  strk <strk>
-
-	* util/action.h, util/listswf.c: Added SWFACTION_STRICTEQ support
-	(strict equal)
-
-2004-09-28  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex: Moved === and !== support
-	inside AS_V6 context.  Added Wolf's patch for r:1 bug.
-
-2004-09-28  strk <strk>
-
-	* util/makeswf.c: Added -v switch to set output version.  Added
-	notice about output configuration.
-
-2004-09-27  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex: Made strict equality produce
-	ACTION_EQUALS for swf < 6.
-
-2004-09-27  strk <strk>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: Added support for strict equality
-	(===) and inequality (!==) operators.
-
-2004-09-25  strk <strk>
-
-	* util/makeswf.c: Added -C to cpp call
-
-2004-09-25  strk <strk>
-
-	* util/makeswf.c: Post-processed files are kept and their name is
-	shown to the user to allow for error Line finding.
-
-2004-09-13  strk <strk>
-
-	* src/actioncompiler/Makefile.am: Copied some rules from original
-	Makefile to bypass build errors.
-
-2004-09-09  krechert <krechert>
-
-	* src/actioncompiler/swf4compiler.flex: automake patch broke compile
-
-2004-09-09  krechert <krechert>
-
-	* src/font_util.c: [no log message]
-
-2004-09-09  krechert <krechert>
-
-	* src/font_util.c: closes bug #1023574. thanks to Michal Czerwinski
-	xkret at removeit.poczta.onet.pl
-
-2004-09-01  whamann <whamann>
-
-	* src/actioncompiler/action.h, src/actioncompiler/listaction.c,
-	src/actioncompiler/main.c: these files also affected by try / catch
-	code addition
-
-2004-09-01  whamann <whamann>
-
-	* mingpp.h: more mingpp.h patch
-
-2004-08-31  whamann <whamann>
-
-	* mingpp.h: added decls for functions in the library - contributed
-	by minguts
-
-2004-08-31  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: added try/catch/finally and throw
-	keywords
-
-2004-08-31  whamann <whamann>
-
-	* autogen.sh, src/Makefile.am, src/actioncompiler/Makefile.am,
-	src/blocks/Makefile.am, util/Makefile.am: more automake patches from
-	David Schleef
-
-2004-08-25  whamann <whamann>
-
-	* Makefile.am, autogen.sh, c++_ext/Makefile.am, configure.in,
-	java_ext/MANIFEST, perl_ext/MANIFEST, php_ext/MANIFEST,
-	py_ext/MANIFEST, rb_ext/MANIFEST,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex, tcl_ext/MANIFEST,
-	win32/MANIFEST: automake patches contributed by David Schleef
-	<ds at schleef.org>
-
-2004-08-21  whamann <whamann>
-
-	* src/blocks/fromswf.c: fix to allow import of swf with videostream
-
-2004-08-09  whamann <whamann>
-
-	* perl_ext/Movie.xs, php_ext/ming.c, php_ext/php_ming.h,
-	src/blocks/outputblock.c, src/blocks/outputblock.h, src/ming.h,
-	src/movie.c: named anchors - works like frame labels
-
-2004-07-31  krechert <krechert>
-
-	* Rules.make, c++_ext/Makefile, src/ming_config.h: C++ build fixes
-	by Glunz Wolfgang <wolfgang.glunz\@\siemens.com>
-
-2004-07-31  krechert <krechert>
-
-	* java_ext/SWFBitmap.java, java_ext/SWFBitmapI.java,
-	java_ext/SWFColor.java, java_ext/SWFFillI.java,
-	java_ext/SWFGradient.java, java_ext/SWFGradientI.java,
-	java_ext/SWFMovie.java, java_ext/SWFMovieI.java,
-	java_ext/SWFShape.java, java_ext/SWFTextField.java,
-	java_ext/SWFTextFieldI.java, java_ext/native/SWFBitmap.h,
-	java_ext/native/SWFNative.cc, java_ext/native/SWFShape.h,
-	java_ext/native/SWFTextField.h: cleanup patch by Gerrit Riessen
-	gerrit.riessen\@\web.de
-
-2004-07-31  whamann <whamann>
-
-	* mingpp.h: sound support for c++ contributed by minguts at yahoo.com
-
-2004-07-28  krechert <krechert>
-
-	* php_ext/ming.c: removed obsolete comment
-
-2004-07-28  krechert <krechert>
-
-	* php_ext/ming.c: hopefully php_stream stuff is fixed now !
-
-2004-07-22  strk <strk>
-
-	* src/blocks/fromswf.c: got rid of warnings
-
-2004-07-22  strk <strk>
-
-	* src/blocks/dbl.c: fixed ming_gc_add_node call to use new
-	dtorfunctype cast
-
-2004-07-21  strk <strk>
-
-	* Makefile, src/blocks/fromswf.c: install calls made with the -c
-	(copy for BSD install) bug fix in fromswf.c (error -> SWF_error)
-
-2004-07-20  sspickle <sspickle>
-
-	* py_ext/Zwiff/README.txt: note about crashing Zope on certain
-	errors..
-
-2004-07-19  strk <strk>
-
-	* util/Makefile, util/makeswf.c, util/makeswf.h: GNU_SOURCE define
-	in makeswf.c, makeswf.h dependency in Makefile
-
-2004-07-19  strk <strk>
-
-	* util/Makefile: added makeswf in all_binaries rule
-
-2004-07-19  strk <strk>
-
-	* util/README: Added makeswf note
-
-2004-07-19  strk <strk>
-
-	* util/.cvsignore: added makeswf
-
-2004-07-15  strk <strk>
-
-	* util/makeswf.c: Added -D and -I switched for preprocessor control
-
-2004-07-15  sspickle <sspickle>
-
-	* py_ext/.cvsignore: ignore .gdb stuff
-
-2004-07-14  sspickle <sspickle>
-
-	* py_ext/ming.py: change jpeg/dbl/etc bitmap creation
-
-2004-07-14  sspickle <sspickle>
-
-	* py_ext/Makefile, py_ext/ming.py: change jpeg/dbl bitmap creation
-
-2004-07-14  sspickle <sspickle>
-
-	* src/test.c: fixed jpeg example
-
-2004-07-12  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.y: fix rules for for ( var varname
-	in obj_ref ) with an expr as obj_ref
-
-2004-07-10  krechert <krechert>
-
-	* src/blocks/videostream.c: removed debug output
-
-2004-07-09  sspickle <sspickle>
-
-	* py_ext/ming.i, py_ext/ming.py, py_ext/setup.py: more fixes..
-
-2004-07-09  sspickle <sspickle>
-
-	* py_ext/setup.py: remove fink dependency...
-
-2004-07-09  sspickle <sspickle>
-
-	* py_ext/INSTALL, py_ext/ming.py, py_ext/shape.py: merged with main
-	branch
-
-2004-07-09  sspickle <sspickle>
-
-	* py_ext/.cvsignore, py_ext/INSTALL, py_ext/README,
-	py_ext/Zwiff/.cvsignore, py_ext/Zwiff/README.txt,
-	py_ext/Zwiff/__init__.py, py_ext/Zwiff/setFlags.py, py_ext/ming.i,
-	py_ext/ming.py, py_ext/ming_wrap.c, py_ext/mingc.py,
-	py_ext/setup.py, py_ext/shape.py, py_ext/test.py: merged with main
-	branch
-
-2004-07-06  krechert <krechert>
-
-	* src/blocks/videostream.c: support Screen Video Bitstream video
-	codec
-
-2004-07-06  sspickle <sspickle>
-
-	* py_ext/.cvsignore: ignore things that don't need to be versioned..
-
-2004-07-05  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.y: added missing case for lvalue =
-	(lvalue assignop expr) and similar constructs
-
-2004-06-29  whamann <whamann>
-
-	* c++_ext/test.cpp, mingpp.h: changes contributed by
-	wolfgang.glunz at siemens.com to make it compile on windows
-
-2004-06-27  whamann <whamann>
-
-	* src/actioncompiler/compile.c, src/blocks/font.c,
-	src/blocks/fromswf.c, src/blocks/input.c, src/blocks/jpeg.c,
-	src/blocks/mp3.c, src/blocks/shape.c, src/blocks/soundstream.c,
-	src/blocks/text.c, src/blocks/videostream.c, src/fill.c, src/gc.c,
-	src/gc.h, src/movie.c, src/movieclip.c, src/test.c: cleanup in
-	fromswf.c some changes contributed by wolfgang.glunz at siemens.com to
-	make compilers happy
-
-2004-06-26  whamann <whamann>
-
-	* src/blocks/fromswf.c: fixed function names
-
-2004-06-25  whamann <whamann>
-
-	* php_ext/ming.c, php_ext/php_ming.h, src/ming.h: added php binding
-	for prebuiltclip - contributed by alby at thirteen.net
-
-2004-06-03  krechert <krechert>
-
-	* php_ext/ming.c: SWFMing_setCompression -> Ming_setCompression
-
-2004-06-03  krechert <krechert>
-
-	* java_ext/Makefile, java_ext/SWFSoundStream.java,
-	java_ext/SWFVideoStream.java, java_ext/native/SWFSoundStream.h,
-	java_ext/native/SWFVideoStream.h: added missing files. Thanks to
-	Michael A. Thompson
-
-2004-05-31  whamann <whamann>
-
-	* src/blocks/Makefile: first attempt at adding existing SWF files to
-	ming generated movies: this will open a movie, add its exports, if
-	any to the main movie, and convert the movie inta a placable clip
-	Pitfalls: loading a swf file into a mc generates a new namespace,
-	while this method does not - it is possible that two swf files
-	contribute the same exports.  fonts are (not yet) merged, so if
-	existing swf movies add the same font, there will be duplicate
-	storage.  Further, if the same font appears twice and is used within
-	a html-enabled textfield, chances are that the wrong set of
-	characters will be available.
-
-2004-05-31  whamann <whamann>
-
-	* src/blocks/block.c, src/blocks/blocktypes.h,
-	src/blocks/character.c, src/blocks/fromswf.c, src/blocks/fromswf.h,
-	src/ming.h, src/test.c: first attempt at adding existing SWF files
-	to ming generated movies: this will open a movie, add its exports,
-	if any to the main movie, and convert the movie inta a placable clip
-	Pitfalls: loading a swf file into a mc generates a new namespace,
-	while this method does not - it is possible that two swf files
-	contribute the same exports.  fonts are (not yet) merged, so if
-	existing swf movies add the same font, there will be duplicate
-	storage.  Further, if the same font appears twice and is used within
-	a html-enabled textfield, chances are that the wrong set of
-	characters will be available.
-
-2004-05-18  krechert <krechert>
-
-	* win32/libming.dsp: Bug #893027 Missing files in VC project
-	workspace
-
-2004-05-18  krechert <krechert>
-
-	* perl_ext/Movie.xs: [no log message]
-
-2004-05-18  krechert <krechert>
-
-	* perl_ext/Movie.xs: compile-fix for SWFMovie_output() and
-	SWFMovie_save()
-
-2004-05-18  strk <strk>
-
-	* src/blocks/text.c: added garbage collection support
-
-2004-05-18  strk <strk>
-
-	* src/gc.c: cleanup
-
-2004-05-10  strk <strk>
-
-	* src/blocks/shape.c: Fixed newSWFShapeFromBitmap() coding errors:
-	variable declarations appeared after control structures.
-
-2004-04-29  strk <strk>
-
-	* src/blocks/bitmap.c, src/blocks/dbl.c, src/blocks/dbl.h,
-	src/blocks/pngdbl.c: Plugged leak in readPNG. Added GC support for
-	SWFDBLBitmapData.
-
-2004-04-29  strk <strk>
-
-	* src/gc.c: changed garbage collector to consider nodelist changes
-	after destructors call
-
-2004-04-29  strk <strk>
-
-	* src/position.c: Made SWFFill matrix transformations on solid fills
-	harmless
-
-2004-04-29  strk <strk>
-
-	* util/makeswf.c: moved copyright notice on top
-
-2004-04-29  strk <strk>
-
-	* src/ming.c: removed obsoleted code from Ming_cleanup()
-
-2004-04-29  strk <strk>
-
-	* src/mem.c, src/mem.h: dropped
-
-2004-04-28  strk <strk>
-
-	* src/blocks/input.c, src/blocks/jpeg.c, src/fill.c: Added garbage
-	collection support.
-
-2004-04-28  strk <strk>
-
-	* src/blocks/shape.c, src/movieclip.c: Garbage collection support
-	added.
-
-2004-04-28  strk <strk>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: rewritten the unescape
-	function to avoid calling strcpy with overlapping arguments
-
-2004-04-28  strk <strk>
-
-	* src/gc.h, src/ming.h: moved Ming_collectGarbage() prototype from
-	gc.h to ming.h
-
-2004-04-28  strk <strk>
-
-	* src/gc.c: node removal releases node memory, garbage collector
-	gets to next node before calling destructor
-
-2004-04-28  strk <strk>
-
-	* src/ming_config.h: TRACK_ALLOCS defaults to 1
-
-2004-04-28  strk <strk>
-
-	* src/movie.c: GC support for movie
-
-2004-04-28  strk <strk>
-
-	* src/libming.h: include gc.h instead of mem.h
-
-2004-04-28  strk <strk>
-
-	* src/ming_config.h: removed WRAP_MEMORY_MANAGEMENT, added
-	TRACK_ALLOCS
-
-2004-04-28  strk <strk>
-
-	* src/Makefile: substituted mem.o with gc.o
-
-2004-04-28  strk <strk>
-
-	* src/gc.c, src/gc.h: initial import
-
-2004-04-26  strk <strk>
-
-	* util/Makefile, util/makeswf.c, util/makeswf.h: Added simple
-	commandline actionscript compiler.
-
-2004-04-26  strk <strk>
-
-	* util/png2dbl.c: Fixed variable declarations, added needed byte
-	typedef.
-
-2004-04-22  strk <strk>
-
-	* src/ming.c: Allowed version to be set to 7
-
-2004-04-19  strk <strk>
-
-	* src/blocks/shape.c, src/blocks/shape.h, src/ming.h, src/movie.c,
-	src/movieclip.c: Added newSWFShapeFromBitmap(SWFBitmap bm, int
-	flags) to the API.  In this way user can have more control over
-	bitmap shape creation.
-
-2004-04-19  strk <strk>
-
-	* util/listswf.c: More specific about gradient (linear/radial) and
-	bitmap (tiled/clipped) fill styles
-
-2004-04-15  krechert <krechert>
-
-	* php_ext/ming.c: fixes bug 920062 931267 929055. Thanks to Anoakie
-	Turner.
-
-2004-04-15  krechert <krechert>
-
-	* src/blocks/text.c: fixes bug 924647 small mem-leak. Thankes to
-	Gene Thomas
-
-2004-04-15  krechert <krechert>
-
-	* php_ext/ming.c: php_ext: changed ZEND_API conditional form '>' to
-	'>='
-
-2004-04-15  strk <strk>
-
-	* src/blocks/shape.c: removed useless variable declaration
-
-2004-04-14  krechert <krechert>
-
-	* src/blocks/videostream.c: videostream: ignore audio tags
-
-2004-04-14  krechert <krechert>
-
-	* php_ext/ming.c: php_ext: fixed warings
-
-2004-04-14  krechert <krechert>
-
-	* src/blocks/soundstream.c: * soundstream: bug fix #855471 thanks to St�phane Corth�sy * soundstream: bug fix #877479 thanks to Denis Malinovsky
-
-2004-04-13  krechert <krechert>
-
-	* java_ext/Makefile, java_ext/SWFAction.java,
-	java_ext/SWFActionI.java, java_ext/SWFBitmap.java,
-	java_ext/SWFBitmapI.java, java_ext/SWFButton.java,
-	java_ext/SWFButtonI.java, java_ext/SWFColor.java,
-	java_ext/SWFDisplayItem.java, java_ext/SWFDisplayItemI.java,
-	java_ext/SWFFill.java, java_ext/SWFFillI.java,
-	java_ext/SWFFont.java, java_ext/SWFFontI.java,
-	java_ext/SWFGradient.java, java_ext/SWFGradientI.java,
-	java_ext/SWFMatrix.java, java_ext/SWFMorph.java,
-	java_ext/SWFMorphI.java, java_ext/SWFMovie.java,
-	java_ext/SWFMovieClip.java, java_ext/SWFMovieClipI.java,
-	java_ext/SWFMovieI.java, java_ext/SWFObject.java,
-	java_ext/SWFObjectI.java, java_ext/SWFShape.java,
-	java_ext/SWFShapeI.java, java_ext/SWFSound.java,
-	java_ext/SWFText.java, java_ext/SWFTextField.java,
-	java_ext/SWFTextFieldI.java, java_ext/SWFTextI.java,
-	java_ext/Tests/Simple.java, java_ext/Tests/SlideShow.java,
-	java_ext/native/Makefile, java_ext/native/SWFMovie.h,
-	java_ext/native/SWFNative.cc, java_ext/native/SWFSound.h,
-	java_ext/native/SWFUtilities.h: java extension: fixes
-
-2004-04-08  strk <strk>
-
-	* src/blocks/shape.c, src/ming.h: Added SWFShape_hideLine()
-	interface.
-
-2004-04-06  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2004-04-01  strk <strk>
-
-	* src/actioncompiler/Makefile, src/blocks/Makefile: Updated to be
-	accepted by BSD-make
-
-2004-04-01  strk <strk>
-
-	* Makefile: Updated to be accepted by BSD-make
-
-2004-03-31  strk <strk>
-
-	* src/mem.c, src/mem.h: Added deeper checks on passed nodes.
-	Defaults to avoid checking.
-
-2004-03-31  strk <strk>
-
-	* src/actioncompiler/compile.c: initialized global **constants
-
-2004-03-31  strk <strk>
-
-	* src/mem.c: Added compile-time option to check passed pointers
-
-2004-03-31  strk <strk>
-
-	* src/shape_util.c: Added <stdlib> include before local ones
-
-2004-03-31  strk <strk>
-
-	* src/libming.h, src/mem.c, src/mem.h: Added memory wrapping
-	functions.  Inverted wrapping mechanism. All wrapper code has to be
-	explicit.
-
-2004-03-30  strk <strk>
-
-	* config.make, src/Makefile, src/Makefile.am,
-	src/actioncompiler/assembler.c, src/actioncompiler/listaction.c,
-	src/actioncompiler/main.c, src/blocks/action.c,
-	src/blocks/bitmap.c, src/blocks/block.c, src/blocks/browserfont.c,
-	src/blocks/button.c, src/blocks/character.c, src/blocks/dbl.c,
-	src/blocks/error.c, src/blocks/fillstyle.c, src/blocks/font.c,
-	src/blocks/fontinfo.c, src/blocks/gifdbl.c, src/blocks/gradient.c,
-	src/blocks/imports.c, src/blocks/jpeg.c, src/blocks/method.c,
-	src/blocks/morph.c, src/blocks/output.c, src/blocks/outputblock.c,
-	src/blocks/placeobject.c, src/blocks/pngdbl.c, src/blocks/read.c,
-	src/blocks/rect.c, src/blocks/shape.c, src/blocks/sound.c,
-	src/blocks/soundinstance.c, src/blocks/soundstream.c,
-	src/blocks/text.c, src/blocks/ttffont.c, src/blocks/utf8.c,
-	src/blocks/videostream.c, src/displaylist.c, src/fill.c,
-	src/font_util.c, src/libming.h, src/ming.c, src/ming.h,
-	src/ming_config.h, src/movie.c, src/movieclip.c, src/shape_util.c,
-	src/test.c, src/text_util.c: Made all files include "libming.h".
-	Added a WRAP_MEMORY_MANAGEMENT define in src/ming_config.h.  Added
-	mem.c mem.h modules with MM wrapping mechanisms.
-
-2004-03-26  strk <strk>
-
-	* src/Makefile: Applied patch from Klaus Rechert <klaus at rechert.de>
-
-2004-03-26  strk <strk>
-
-	* php_ext/ming.c, php_ext/php_ming.h: Added patch from Klaus Rechert
-	<klaus at rechert.de> to make use of new movie compression interface.
-
-2004-03-25  strk <strk>
-
-	* php_ext/Makefile: Added compiler tips on how to find php includes
-
-2004-03-25  strk <strk>
-
-	* mingpp.h, src/libming.h, src/ming.c, src/ming.h, src/movie.c: 
-	Reverted SWFMovie_save() and SWFMovie_output APIs back to their
-	original signature. Added Ming_setSWFCompression() to handle
-	compression.
-
-2004-02-17  whamann <whamann>
-
-	* mingpp.h: fixes contributed by Pete Schwamb pete at the-valley.org
-
-2004-02-17  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.y: memory leak fixes contributed
-	by Pete Schwamb pete at the-valley.org
-
-2004-02-17  whamann <whamann>
-
-	* src/blocks/shape.c: rewrite some code so that a broken compiler
-	can handle it :)
-
-2004-02-11  whamann <whamann>
-
-	* util/decompile5.c: change so that an array reference item[1]
-	rather than item.1 is generated from push item, getvariable, push 1,
-	getmember
-
-2004-02-08  erich <erich>
-
-	* ChangeLog: updated
-
-2004-02-08  erich <erich>
-
-	* config.make: should fix the python build issue
-
-2004-02-04  erich <erich>
-
-	* ChangeLog: Generated new changelog using cvs2cl.pl
-
-2004-02-03  erich <erich>
-
-	* ChangeLog, Makefile, php_ext/Makefile, py_ext/Makefile,
-	src/Makefile, tcl_ext/Makefile, util/Makefile: Replaced make by
-	$(MAKE) in the makefile, that should help those BSD users with gmake
-
-2004-02-02  vapour <vapour>
-
-	* Rules.make, configure.in, perl_ext/SWF.pm, src/ming.h: Updated the
-	version number to be 0.3beta1.
-
-2004-02-02  vapour <vapour>
-
-	* README: Removed the installation instructions, as they're already
-	in the INSTALL file.
-
-2004-02-02  vapour <vapour>
-
-	* INSTALL: Updated to reflect the new Ming tarball name, plus
-	removed reference to commenting out the GIF and PNG support.
-
-2004-02-02  vapour <vapour>
-
-	* src/ming.h: Changed the version number to reflect reality.
-
-2004-02-02  vapour <vapour>
-
-	* config.make: Added the EXTRA_LIBS environment variable to get the
-	PHP module working.
-
-2004-01-18  whamann <whamann>
-
-	* php_ext/ming.c, src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex, src/blocks/blocktypes.h,
-	src/blocks/character.c, src/blocks/gifdbl.c, src/blocks/imports.h,
-	src/blocks/input.c, src/blocks/pngdbl.c, src/blocks/soundstream.c,
-	src/blocks/text.c, src/blocks/textfield.c, src/ming.h, src/movie.c,
-	src/movie.h, util/png2dbl.c, win32/libming.dsp: patches by Wolfgang
-	Glunz <wolfgang.glunz at siemens.com> fix a few types so the stricter
-	c++ typechecking is happy too
-
-2004-01-18  vapour <vapour>
-
-	* Makefile: Small fix to run make clean in perl_ext when
-	appropriate.
-
-2004-01-18  vapour <vapour>
-
-	* Makefile: Small fix to also remove the leftover libming.so and
-	libming.a
-
-2004-01-18  vapour <vapour>
-
-	* INSTALL: Added a missing line.
-
-2004-01-18  vapour <vapour>
-
-	* README: Changed the "Last Modified" line to be correct.
-
-2004-01-18  vapour <vapour>
-
-	* CREDITS: Added Klaus Rechert, Mohammad Haque, and myself to the
-	CREDITS.
-
-2004-01-18  vapour <vapour>
-
-	* Makefile, config.make, src/actioncompiler/Makefile,
-	src/blocks/Makefile: Further patches by Mohammad Haque to organise
-	the Makefiles.
-
-2004-01-18  vapour <vapour>
-
-	* Rules.make, c++_ext/Makefile, py_ext/Makefile, util/Makefile: 
-	Further refactoring by Mohammad of the Makefiles.
-
-2004-01-18  vapour <vapour>
-
-	* perl_ext/Makefile.PL: Fixed the Makefile to correctly find
-	src/ming.h
-
-2004-01-18  vapour <vapour>
-
-	* INSTALL, Makefile, README, config.h, configure.in, ming.h,
-	php_ext/Makefile, php_ext/ming-dev.c, php_ext/ming-streams.c,
-	php_ext/ming.c, src/blocks/dbl.c, src/blocks/gifdbl.c,
-	src/blocks/pngdbl.c, src/config.h, src/ming.h, src/ming_config.h,
-	src/test.c, util/png2swf.c: Mohammad Haque's changes to start
-	cutting down the number of header files that were spread around.
-
-2004-01-17  vapour <vapour>
-
-	* src/Makefile, src/actioncompiler/Makefile, src/blocks/Makefile: 
-	Added the CFLAGS and EXTRALIBS bits from Mohammad Haque.  Haven't included the -dynamiclib (or something like that)
-	replacements for the -shared options, as we should work out a
-	solution that helps more people first.
-
-2004-01-17  vapour <vapour>
-
-	* perl_ext/VideoStream.xs: Added Klaus' perl_ext/VideoStream.xs
-	file, as I forgot to include it before.
-
-2004-01-17  vapour <vapour>
-
-	* php_ext/Makefile: Swapped around the -I arguments, at Klaus'
-	suggestion.
-
-2004-01-17  vapour <vapour>
-
-	* perl_ext/Makefile.PL, perl_ext/perl_swf.h, perl_ext/typemap,
-	php_ext/ming.c, php_ext/php_ming.h, src/ming.h: Klaus' patches for
-	video streaming support.
-
-2004-01-17  vapour <vapour>
-
-	* php_ext/Makefile: Altered the Makefile to pick up the CFLAGS
-	environment variable.
-
-2004-01-17  vapour <vapour>
-
-	* src/blocks/input.c: Patch by Mohammad Haque to fix the missing
-	SWFInput_getUInt24_BE bug.
-
-2004-01-15  vapour <vapour>
-
-	* util/Makefile, util/raw2adpcm.c: Patches by goto
-	<harpy at lily.freemail.ne.jp> to fix util/raw2adpcm and also add some
-	help text to it.
-
-2004-01-15  vapour <vapour>
-
-	* INSTALL, README: Split the old README into both an INSTALL and a
-	README now.
-
-2004-01-15  vapour <vapour>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: Patches by goto
-	<harpy at lily.freemail.ne.jp> to fix the YY_PROTO errors.
-
-2004-01-15  vapour <vapour>
-
-	* src/blocks/blocktypes.h, src/displaylist.c: Fixes by Klaus Rechert
-	to help get video streaming working.
-
-2004-01-11  whamann <whamann>
-
-	* php_ext/ming.c: added a conditional to use php streams rather than
-	files, sockets, ...  depending on module api.  This is supposed to
-	fix the "missing symbol ... _le_socket" error If anyone knows the
-	proper php release date for the switch, please report
-
-2004-01-11  whamann <whamann>
-
-	* src/blocks/Makefile, src/blocks/Makefile.am, src/blocks/input.h,
-	src/blocks/videostream.c, src/blocks/videostream.h,
-	src/displaylist.c, src/ming.h: Ming Video streams, contributed by
-	Klaus Rechert <klaus at geekserver.net>
-
-2004-01-11  whamann <whamann>
-
-	* src/actioncompiler/compile.h, src/actioncompiler/main.c: wrong
-	constant value, after header restructuring the actioncompiler test
-	program was missing a declaration
-
-2003-12-14  whamann <whamann>
-
-	* src/blocks/font.c: fix pointer relocation problem on 64bit
-	machines - thanks to Benjamin Osheroff <ben at gimbo.net>
-
-2003-12-14  whamann <whamann>
-
-	* src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.y: changed associativity of ? : from
-	left to right - thanks joerg_richter69 at hotmail.com
-
-2003-12-14  whamann <whamann>
-
-	* c++_ext/Makefile, java_ext/native/Makefile, perl_ext/Makefile.PL,
-	perl_ext/SoundStream.xs, php_ext/Makefile, php_ext/ming.c,
-	py_ext/Makefile, py_ext/ming.py, src/blocks/bitmap.c,
-	src/blocks/dbl.c, src/blocks/font.c, src/blocks/gifdbl.c,
-	src/blocks/pngdbl.c, src/blocks/shape.h, src/blocks/soundstream.c,
-	src/blocks/soundstream.h, src/config.h, src/font_util.h,
-	src/ming.h, src/shape_cubic.h, src/shape_util.h, util/action.h,
-	util/blocktypes.h, util/makefdb.c, util/output.h, util/read.h,
-	util/swftophp.c: cleanup patch by michael.schmitt at teststep.org - see
-	changelog for details
-
-2003-11-08  whamann <whamann>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex, src/blocks/shape.c: [no log
-	message]
-
-2003-11-08  whamann <whamann>
-
-	* perl_ext/Font.xs, src/Makefile, src/actioncompiler/Makefile,
-	src/actioncompiler/action.h, src/actioncompiler/assembler.c,
-	src/actioncompiler/assembler.h, src/actioncompiler/compile.c,
-	src/actioncompiler/compile.h, src/actioncompiler/compileaction.c,
-	src/actioncompiler/listaction.c, src/actioncompiler/main.c,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, src/blocklist.c,
-	src/blocklist.h, src/blocks/Makefile, src/blocks/action.c,
-	src/blocks/action.h, src/blocks/bitmap.c, src/blocks/bitmap.h,
-	src/blocks/block.c, src/blocks/block.h, src/blocks/blocktypes.h,
-	src/blocks/browserfont.c, src/blocks/browserfont.h,
-	src/blocks/button.c, src/blocks/button.h, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/cxform.c, src/blocks/cxform.h,
-	src/blocks/dbl.c, src/blocks/dbl.h, src/blocks/error.c,
-	src/blocks/error.h, src/blocks/exports.h, src/blocks/fillstyle.c,
-	src/blocks/fillstyle.h, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/fontinfo.h, src/blocks/gifdbl.c, src/blocks/gradient.c,
-	src/blocks/gradient.h, src/blocks/imports.c, src/blocks/imports.h,
-	src/blocks/input.c, src/blocks/input.h, src/blocks/jpeg.c,
-	src/blocks/jpeg.h, src/blocks/linestyle.c, src/blocks/linestyle.h,
-	src/blocks/matrix.c, src/blocks/matrix.h, src/blocks/method.c,
-	src/blocks/method.h, src/blocks/morph.c, src/blocks/morph.h,
-	src/blocks/mp3.c, src/blocks/output.c, src/blocks/output.h,
-	src/blocks/outputblock.c, src/blocks/outputblock.h,
-	src/blocks/placeobject.c, src/blocks/placeobject.h,
-	src/blocks/pngdbl.c, src/blocks/rect.c, src/blocks/rect.h,
-	src/blocks/shape.c, src/blocks/shape.h, src/blocks/sound.c,
-	src/blocks/sound.h, src/blocks/soundinstance.c,
-	src/blocks/soundinstance.h, src/blocks/soundstream.c,
-	src/blocks/soundstream.h, src/blocks/sprite.c, src/blocks/sprite.h,
-	src/blocks/text.c, src/blocks/text.h, src/blocks/textfield.c,
-	src/blocks/textfield.h, src/blocks/ttffont.c, src/blocks/ttffont.h,
-	src/blocks/utf8.c, src/blocks/utf8.h, src/blocktypes.h,
-	src/displaylist.c, src/displaylist.h, src/fill.h, src/font_util.c,
-	src/font_util.h, src/libming.h, src/ming.c, src/ming.h,
-	src/movie.c, src/movie.h, src/movieclip.c, src/movieclip.h,
-	src/position.c, src/position.h, src/shape_cubic.c,
-	src/shape_cubic.h, src/shape_util.c, src/shape_util.h,
-	src/text_util.c, src/text_util.h: big cleanup patch by Michael
-	Schmitt <Michael.Schmitt at teststep.org>
-
-2003-11-07  whamann <whamann>
-
-	* src/blocks/gifdbl.c, src/blocks/pngdbl.c: fixed function names to
-	go in sync with the declarations in ming.h
-
-2003-11-03  whamann <whamann>
-
-	* php_ext/ming.c, src/blocks/soundstream.c,
-	src/blocks/soundstream.h, src/movie.c, src/movie.h, src/movieclip.c: 
-	contributed by Klaus Rechert <klaus at geekserver.net> soundstream (and
-	the php streammp3() function) now accept an extra skip parameter
-	specifying the amount of time to skip at the beginning of sound.
-	Note - the skipped sound will NOT be exported to the swf file.  It
-	is not tested whether streammp3 returns the correct number of frames
-	with skipping.
-
-2003-10-15  peterdd <peterdd>
-
-	* ChangeLog: swf decompression for swftoperl
-
-2003-10-15  peterdd <peterdd>
-
-	* util/Makefile: -lz for swf decompression, added swftoperl to
-	install:
-
-2003-10-15  peterdd <peterdd>
-
-	* util/swftoperl.c: automatic decompression added, fix for -a
-
-2003-10-10  whamann <whamann>
-
-	* py_ext/ming.py: new setmatrix function contributed by Dirk Datzert
-	<dirk.datzert at tks-rasselstein.thyssenkrupp.com>
-
-2003-10-10  whamann <whamann>
-
-	* src/blocks/bitmap.c, src/blocks/gifdbl.c, src/blocks/pngdbl.c: 
-	brought declarations and actual function names in sync contributed
-	by fabiano at x3ng.com.br
-
-2003-10-10  whamann <whamann>
-
-	* util/Makefile, util/png2swf.c: Contributed by Fabiano Weimar dos
-	Santos <fabiano at x3ng.com.br>
-
-2003-09-25  whamann <whamann>
-
-	* util/Makefile, util/decompile.c, util/decompile.h,
-	util/decompile5.c, util/swftoperl.c, util/swftophp.c: changed
-	swftophp / swftoperl to decode actions according to movie version,
-	also added -a flag to skip decoding of actions completely
-
-2003-09-21  whamann <whamann>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h: ensure
-	that constant pool cannot grow beyond 64K and overflow the size for
-	a single action - patch provided by strk <strk at keybit.net>
-
-2003-09-16  peterdd <peterdd>
-
-	* ChangeLog: added buttonsound decompilation to swftoperl.c
-
-2003-09-16  peterdd <peterdd>
-
-	* util/swftoperl.c: added functions for buttonsound and
-	soundinstance
-
-2003-09-13  peterdd <peterdd>
-
-	* ChangeLog: soundconstants for perl and small swftoperl.c fix
-
-2003-09-13  peterdd <peterdd>
-
-	* perl_ext/Constants.xs, perl_ext/Exports.c,
-	perl_ext/SWF/Constants.pm: added SWF::Sound-constants
-
-2003-09-12  whamann <whamann>
-
-	* src/blocks/output.c, src/blocks/output.h, src/movie.c: changed
-	SWFMovie_output - there is now a new method SWFOutput
-	SWFMovie_toOutput(movie, level) which is intended to deliver a movie
-	as a binary string to the language bindings
-
-2003-09-12  whamann <whamann>
-
-	* ming.h: Michael Schmitt somewhat beautified ming.h
-
-2003-09-12  whamann <whamann>
-
-	* py_ext/ming.py, src/blocks/sound.c, src/blocks/sound.h,
-	src/blocks/soundstream.c, src/blocks/soundstream.h: fixes by David
-	McNab <david at rebirthing.co.nz> fix sound declarations in ming.h /
-	ming.i, add interface functions required by python to open sound
-	files
-
-2003-09-12  whamann <whamann>
-
-	* php_ext/ming.c, php_ext/php_ming.h, py_ext/ming.py,
-	src/displaylist.c, src/displaylist.h, src/position.c,
-	src/position.h: Patches contributed by David McNab
-	<david at rebirthing.co.nz> Add a bunch of get_ methods to retrieve the
-	position, scale, ...  of displayitems to the core and the python
-	binding Added similar calls to the php binding Note: there are
-	already functions in the perl binding
-
-2003-09-12  whamann <whamann>
-
-	* py_ext/Makefile: fixes by David McNab <david at rebirthing.co.nz> to
-	fix python build process
-
-2003-09-12  whamann <whamann>
-
-	* Makefile, README, TODO: forgot to update TODO ...
-
-2003-09-12  peterdd <peterdd>
-
-	* util/swftoperl.c: setMenu(); for SWF::Button added
-
-2003-09-11  peterdd <peterdd>
-
-	* util/cws2fws: [no log message]
-
-2003-09-11  peterdd <peterdd>
-
-	* util/swftoperl.c: added onClipEvent to printPlaceObject2
-
-2003-08-29  peterdd <peterdd>
-
-	* src/actioncompiler/swf4compiler.flex: fixed nasty typo
-
-2003-08-28  whamann <whamann>
-
-	* config.h, config.make: conditional code: use these two files to
-	control whether you want to include gif or png converters
-
-2003-08-12  whamann <whamann>
-
-	* php_ext/ming.c, php_ext/php_ming.h, src/Makefile,
-	src/blocks/Makefile, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/imports.c, src/blocks/imports.h, src/blocks/textfield.c,
-	src/movie.c, src/movie.h, src/test.c: allow to import movieclips and
-	fonts from a shared library and to export font for shared lib usage
-	Implemented in library and php binding at the moment: -- code to use
-	library -- $movie->importChar("libfile.swf", "myclip"); $font =
-	$movie->importFont("libfile.swf", "font1");
-	$textfield->setFont($font); -- code to export library -- $font = new
-	SWFFont(".....fdb"); $fontchar = $movie->addFont($font);
-	$fontchar->addChars("abcd...."); $movie->addExport($fontchar,
-	"font1"); -- note that font sharing is known to be flaky, so please
-	test finished apps with many players
-
-2003-08-06  erich <erich>
-
-	* CREDITS: added Jim Tittsler (jtittsler)
-
-2003-08-06  erich <erich>
-
-	* ChangeLog: one more patch from jtittsler
-
-2003-08-06  erich <erich>
-
-	* ming.i: accepted jtittslers fourth patch for newer swig version
-
-2003-08-06  erich <erich>
-
-	* ChangeLog: added my changes and patches from jtittsler
-
-2003-08-06  erich <erich>
-
-	* ChangeLog: added my changes and patches from jtissler
-
-2003-08-06  erich <erich>
-
-	* py_ext/shape.py: modified to reflect web page version. thanks to
-	Jim Tittsler (jtittsler)
-
-2003-08-06  erich <erich>
-
-	* py_ext/ming.py: added compression level argument, optional. thanks
-	to Jim Tittsler (jtittsler)
-
-2003-08-06  erich <erich>
-
-	* ming.i: updating the swig file to track recent changes
-
-2003-08-06  erich <erich>
-
-	* util/raw2adpcm.c: fix for gcc 3.3.x which does no longer support
-	certain multiline strings
-
-2003-08-06  erich <erich>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: fixes for flex 2.5
-
-2003-08-03  whamann <whamann>
-
-	* php_ext/ming.c: fixed problem with bitmap creation - if bitmap
-	cannot be read or converted, no longer wants to bless a null pointer
-	into a swfbitmap resource
-
-2003-08-03  whamann <whamann>
-
-	* src/Makefile, src/blocks/Makefile, src/blocks/dbl.c,
-	src/blocks/dbl.h, src/blocks/gifdbl.c, src/blocks/pngdbl.c: added
-	support for including png and gif images - requires -lpng, -lgif or
-	-lungif, and -lz edit config.h and config.make if you dont have /
-	want these
-
-2003-07-20  whamann <whamann>
-
-	* php_ext/ming.c, src/blocks/soundstream.c: added new function
-	SWFSoundStream_getFrames() to return the length of a sound stream in
-	frames PHP interface: $nframes = $movie->streammp3($fp);
-
-2003-07-18  whamann <whamann>
-
-	* src/blocks/linestyle.c: allow line color change even if line width
-	is zero
-
-2003-07-14  whamann <whamann>
-
-	* mingpp.h: added flags parameter to SWFsound declarations; this
-	accepts sample rate, mono / stereo, 8/16 bit parameters
-
-2003-07-08  whamann <whamann>
-
-	* ming.h: sound related defines added....
-
-2003-06-18  whamann <whamann>
-
-	* perl_ext/Button.xs, perl_ext/Makefile.PL, perl_ext/Movie.xs,
-	perl_ext/MovieClip.xs, perl_ext/SWF/SoundInstance.pm,
-	perl_ext/SWF/SoundStream.pm, perl_ext/Sound.xs,
-	perl_ext/SoundInstance.xs, perl_ext/SoundStream.xs,
-	perl_ext/perl_swf.h, perl_ext/typemap, php_ext/ming.c,
-	php_ext/php_ming.h, src/blocks/button.c, src/blocks/sound.c,
-	src/blocks/sound.h, src/blocks/soundinstance.c, src/displaylist.c,
-	src/test.c: adding event sounds $s = new SWFSound(....,
-	SWF_SOUND_44KHZ|SWF_SOUND_STEREO) $si = $movie->startSound($s)
-	$si->loopCount(4) $si = $button->addSound($s, SWFBUTTON_MOUSEDOWN)
-	$si->noMultiple()
-
-2003-06-18  whamann <whamann>
-
-	* php_ext/Makefile: added -lz flag for compiling in the zlib
-	compression
-
-2003-06-04  whamann <whamann>
-
-	* php_ext/ming-streams.c, src/actioncompiler/swf5compiler.y,
-	util/decompile.c: ming.h - added missing swfbutton_setmenu()
-	decompile.c - another const char * swf5compiler.y - fixed delete
-	operator ming-streams.c - updated from ming-dev.c for recent php
-	versions
-
-2003-05-09  whamann <whamann>
-
-	* src/blocks/font.c, src/blocks/shape.c: fix to shape->drawGlyph()
-	and font->getShape() problem: font files definitely will state 1
-	fill style and 0 line styles. Some font files use 1 bit to encode
-	the line style, others use 0 bits. Code now uses actual number of
-	bits here
-
-2003-04-10  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.y: fixes for empty actions and do
-	{} while
-
-2003-04-10  peterdd <peterdd>
-
-	* ChangeLog: fixed morph.c and sync versionnumber for perl_ext
-
-2003-04-10  peterdd <peterdd>
-
-	* src/blocks/morph.c: fixed 2 typos
-
-2003-04-10  peterdd <peterdd>
-
-	* perl_ext/SWF.pm: synchronized the versionnumber
-
-2003-04-06  whamann <whamann>
-
-	* perl_ext/Shape.xs, php_ext/ming.c: more type casts
-
-2003-04-06  whamann <whamann>
-
-	* php_ext/ming.c, src/actioncompiler/assembler.c,
-	src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/compileaction.c,
-	src/actioncompiler/listaction.c, src/actioncompiler/main.c,
-	src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, src/blocklist.c,
-	src/blocks/block.c, src/blocks/browserfont.c,
-	src/blocks/browserfont.h, src/blocks/button.c,
-	src/blocks/character.c, src/blocks/cxform.c, src/blocks/dbl.c,
-	src/blocks/error.c, src/blocks/error.h, src/blocks/fillstyle.c,
-	src/blocks/font.c, src/blocks/gradient.c, src/blocks/input.c,
-	src/blocks/jpeg.c, src/blocks/linestyle.c, src/blocks/matrix.c,
-	src/blocks/method.c, src/blocks/morph.c, src/blocks/output.c,
-	src/blocks/outputblock.c, src/blocks/outputblock.h,
-	src/blocks/placeobject.c, src/blocks/read.c, src/blocks/rect.c,
-	src/blocks/shape.c, src/blocks/sound.c, src/blocks/soundinstance.c,
-	src/blocks/soundstream.c, src/blocks/sprite.c, src/blocks/swf.h,
-	src/blocks/text.c, src/blocks/textfield.c, src/blocks/textfield.h,
-	src/blocks/utf8.c, src/displaylist.c, src/font_util.c, src/ming.c,
-	src/ming.h, src/movie.c, src/movie.h, src/movieclip.c,
-	src/movieclip.h, src/position.c, src/shape_cubic.c,
-	src/shape_util.c, src/shape_util.h, src/text_util.c,
-	util/blocktypes.c, util/decompile.c, util/decompile5.c,
-	util/listswf.c, util/png2dbl.c, util/read.h: changes by Wolfgang
-	Glunz to make things compile with c++ - mostly added type decls
-
-2003-04-01  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2003-03-28  whamann <whamann>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: replaced constant 0 by EOF in
-	comment parsing functions
-
-2003-03-28  whamann <whamann>
-
-	* src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: allow windows line endings in
-	actionscript return can now return an anonymous object - should also
-	be possible to pass one to a function etc.
-
-2003-02-13  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2003-02-09  whamann <whamann>
-
-	* src/blocks/text.c: fixed segfault for zero-length string:
-	computeAdvances did calculate width of 1st character anyways
-	zero-length may occur from addString("") or by changing attributes
-	twice in a row
-
-2003-02-07  whamann <whamann>
-
-	* src/blocks/button.c: -fix for buttons with bitmaps - please
-	try
-
-2003-02-01  soheil <soheil>
-
-	* perl_ext/TODO: Updated
-
-2003-02-01  soheil <soheil>
-
-	* perl_ext/SWF/TextField.pm: Updated/Fixed documentation
-
-2003-02-01  soheil <soheil>
-
-	* perl_ext/SWF/Shape.pm: Added getPen() documentation
-
-2003-02-01  soheil <soheil>
-
-	* perl_ext/TextField.xs: Replaced setMargin wuth setMargins
-
-2003-01-25  soheil <soheil>
-
-	* perl_ext/README: Updated.
-
-2003-01-25  soheil <soheil>
-
-	* perl_ext/SUPPORT: Initial import to CVS
-
-2003-01-21  soheil <soheil>
-
-	* perl_ext/Movie.xs: Renamed SWFMovie_xs_output to SWFMovie_output
-
-2003-01-21  soheil <soheil>
-
-	* perl_ext/SWF/Movie.pm: Added SWF::Movie::output()
-
-2003-01-21  soheil <soheil>
-
-	* perl_ext/Makefile.PL: Added SWF::MyConfig.pm
-
-2003-01-20  soheil <soheil>
-
-	* perl_ext/CREDITS: Initial import to CVS
-
-2003-01-19  soheil <soheil>
-
-	* perl_ext/SWF/.cvsignore: initial import to cvs
-
-2003-01-19  soheil <soheil>
-
-	* perl_ext/SWF.pm: Fixed my Email address
-
-2003-01-11  soheil <soheil>
-
-	* perl_ext/Exports.c: Added SWFTEXTFIELD_AUTOSIZE
-
-2003-01-11  soheil <soheil>
-
-	* perl_ext/SWF/Constants.pm: - Added SWFTEXTFIELD_USEFONT & SWFTEXTFIELD_AUTOSIZE - Fixed Typo & my email address
-
-2003-01-11  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2003-01-11  staybyte <staybyte>
-
-	* src/actioncompiler/swf5compiler.y: fix incorrect %token and %type
-	syntax
-
-2003-01-11  staybyte <staybyte>
-
-	* src/blocks/jpeg.c: accept SFO1 baseline jpegs
-
-2003-01-08  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2003-01-07  whamann <whamann>
-
-	* perl_ext/Constants.xs, php_ext/ming.c, src/blocks/swf.h,
-	src/blocks/textfield.h: new constant SWFTEXTFIELD_AUTOSIZE
-
-2003-01-07  whamann <whamann>
-
-	* perl_ext/Button.xs, php_ext/ming.c, php_ext/php_ming.h,
-	src/actioncompiler/compile.c, src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, src/blocks/button.c,
-	src/blocks/button.h, src/blocks/swf.h, src/blocks/text.c,
-	src/blocks/text.h, src/blocks/textfield.c, src/blocks/textfield.h,
-	src/movie.c: assorted changes: font handling - got rid of two
-	annoying segfaults button - support "track as menu" behaviour
-	compiler - finished things like ~ or &= ops compiler - if (...) {
-	.... } else { /*empty*/ } no longer crashes
-
-2003-01-06  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2003-01-04  soheil <soheil>
-
-	* perl_ext/Morph.xs: Added refcnt of SWF::Shape
-
-2003-01-04  soheil <soheil>
-
-	* perl_ext/t/png.t, perl_ext/t/sound.t: No. of tests is printed
-	after skip_test();
-
-2003-01-04  soheil <soheil>
-
-	* perl_ext/t/filljpeg.t: No. of tests is now printed after
-	skip_test();
-
-2002-12-31  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-12-21  whamann <whamann>
-
-	* win32/libming.dsp: changes by Frank Kromann: debug build passes
-	debug options to flex and bison file removed and added again -
-	should retain windows line endings now
-
-2002-12-21  whamann <whamann>
-
-	* win32/libming.dsp: [no log message]
-
-2002-12-16  whamann <whamann>
-
-	* src/actioncompiler/action.h, src/actioncompiler/compile.c,
-	src/actioncompiler/compile.h, src/actioncompiler/listaction.c,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y, src/blocks/placeobject.c,
-	win32/libming.dsp: compiler changes: added switch() added x
-	instanceof y returning out of a switch pops stack popping stack when
-	breaking / returning out of for/in does not work yet support for
-	more than 256 constants in the pool placeobject - different format of placeobject record for MX does not
-	include the keycode so far nor any methods to set those bits libming.dsp provided by Frank Kromann - calls up flex and bison
-
-2002-12-10  whamann <whamann>
-
-	* src/blocks/font.c, src/blocks/shape.c, src/font_util.c,
-	win32/libming.dsp: added Frank Kromann's changes - optimizing
-	compile could swap bytes on windows added a change to drawglyph to
-	allow styles in the fonts - some fonts use 1 linestyle
-
-2002-12-01  whamann <whamann>
-
-	* perl_ext/Font.xs: removed SWFFont_addChars
-
-2002-11-25  whamann <whamann>
-
-	* mingpp.h: checking in mingpp.h again - contributions from Fabiano
-	Weimar dos Santos and John Blanco
-
-2002-11-22  whamann <whamann>
-
-	* src/actioncompiler/swf4compiler.y: c++ support for compressed
-	movies removed duplicate declaration in swf4compile.y contributed by
-	Fabiano Weimar dos Santos
-
-2002-11-20  raff <raff>
-
-	* src/font_util.h: This definition is also in text_util.h I don't know why there are two, but they should at least be the
-	same.  (as in text_util.h, I am adding the extra "len" argument, since
-	that's how the function is implemented).
-
-2002-11-19  peterdd <peterdd>
-
-	* perl_ext/Shape.xs: added drawCubic and drawCubicTo
-
-2002-11-19  whamann <whamann>
-
-	* src/blocks/textfield.c: another take at textfields with/without
-	embedding
-
-2002-11-15  whamann <whamann>
-
-	* ming.h: header changes for - text field handling - codepage / utf8 fonts - save compressed
-
-2002-11-15  raff <raff>
-
-	* src/text_util.h: If I trust the implementation, this function
-	needs an additional parameter (at least to make Ming compile).
-
-2002-11-14  whamann <whamann>
-
-	* php_ext/ming.c, src/.cvsignore, src/blocks/font.c,
-	src/blocks/font.h, src/blocks/text.c, src/blocks/textfield.c,
-	src/blocks/textfield.h, src/movie.c, src/movie.h, src/text_util.h: 
-	another take at dynamic textfields with embedded font, this time
-	they seem to work also removed one source of segfaults from the font
-	handling code
-
-2002-11-13  whamann <whamann>
-
-	* src/blocks/font.c: avoid compiler warnings with a pointer union
-
-2002-11-13  whamann <whamann>
-
-	* src/movie.c: 2002-22-13 17:00  peterdd * perl_ext/Movie.xs perl_ext/Shape.xs src/shape_util.h
-	src/shape_util.c getPen, getPenX and getPenY added for the
-	interfaces (Movie.c) 2002-11-07 13:50  peterdd         *
-
-	perl_ext/Movie.xs,perl_ext/SWF/Movie.pm,perl_ext/SWF/TextField.pmdocumentation for SWF::Movie and SWF::TextField save/output-
-	method of the perl-ming extension now supports flash6 compression
-	protect for perl_ext added
-
-2002-11-13  peterdd <peterdd>
-
-	* perl_ext/Movie.xs: changed save and output back because normal
-	output routine handles compression too
-
-2002-11-13  peterdd <peterdd>
-
-	* perl_ext/Shape.xs: added getPen getPenX getPenY
-
-2002-11-13  peterdd <peterdd>
-
-	* src/shape_util.c, src/shape_util.h: added getPen getPenX and
-	getPenY
-
-2002-11-12  zebulon75018 <zebulon75018>
-
-	* tcl_ext/Makefile, tcl_ext/README, tcl_ext/test.tcl: First commit
-	for the tcl extension After making the mingc.so try tclsh test.tcl ,
-	it's the shape example.
-
-2002-11-12  whamann <whamann>
-
-	* perl_ext/Constants.xs, perl_ext/DisplayItem.xs,
-	perl_ext/Exports.c, perl_ext/Font.xs, perl_ext/Movie.xs,
-	perl_ext/SWF.xs, perl_ext/Text.xs, perl_ext/TextField.xs,
-	php_ext/ming.c, php_ext/php_ming.h, src/actioncompiler/compile.c,
-	src/actioncompiler/listaction.c, src/actioncompiler/swf5compiler.y,
-	src/blocks/character.c, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/read.c, src/blocks/shape.c, src/blocks/swf.h,
-	src/blocks/text.c, src/blocks/text.h, src/blocks/textfield.c,
-	src/blocks/textfield.h, src/displaylist.c, src/displaylist.h,
-	src/font_util.h, src/ming.c, src/movie.h, src/text_util.c,
-	src/text_util.h: changed: - use addString() and getWidth() for codepage text again use
-	addUTF8String() and getUTF8Width() for unicode text - modified the drawshape function to handle some existing fonts that
-	specify 1 bit (rather than 0 bits) for the number of line styles added: - endMask() for mask operations use: 	$mask_instance = $movie->add($shape); // mask shape 	// add more characters on top of the mask 	$mask_instance->endMask(); - font embedding for text fields use: 	$tf = new SWFTextField(.... | SWFTEXTFIELD_USEFONT); 	$tf->setFont($font); 	$tf->addChars("0123456789"); will create a text field that uses
-	font embedding only for numbers.  Note a) adding chars actually adds
-	to a font instance rather than the text field, so if one text field
-	is set up for digits and the other for alphabet, both will have all
-	alphanumerics available Note b) with html text fields, it is
-	possible to mix fonts. With FP5, both browser and embedded fonts
-	could be mixed. FP6 now requires all fonts to be embedded - Ming_useConstants(flag) function to disable the use of constant
-	pool in actionscripts ... would make sense to disable if you create
-	100 buttons with simple script - added a few existing functions to the php and perl interfaces: 	$textfield->setPadding() 	$movie->addExport() 	$movie->writeExports() - new function $font->getShape(code) returns the character shape as
-	a multiline text. It is meant to be split into lines, where every
-	line represents a line or curve segment. For a possible use see
-	http://www.neuralust.com/~mingdocs/code/knifeexample.swf
-
-2002-11-07  peterdd <peterdd>
-
-	* perl_ext/SWF/TextField.pm: typofixes
-
-2002-11-07  peterdd <peterdd>
-
-	* perl_ext/SWF/Movie.pm: added documentation for SWF::Movie
-
-2002-11-07  peterdd <peterdd>
-
-	* perl_ext/Movie.xs: added protect and compressed output
-
-2002-11-07  peterdd <peterdd>
-
-	* perl_ext/Movie.xs: save method now supports compression.
-
-2002-10-22  peterdd <peterdd>
-
-	* util/swftoperl.c: fixed Content-type:
-
-2002-10-07  peterdd <peterdd>
-
-	* perl_ext/examples/morph.cgi: fix: added an extra frame at end of
-	morph.
-
-2002-10-07  peterdd <peterdd>
-
-	* perl_ext/SWF/TextField.pm: added some documentation
-
-2002-10-07  peterdd <peterdd>
-
-	* util/ming.css: deleted unused stuff
-
-2002-09-24  soheil <soheil>
-
-	* perl_ext/TODO: Updated
-
-2002-09-24  soheil <soheil>
-
-	* perl_ext/README: Fixed my email address
-
-2002-09-24  soheil <soheil>
-
-	* perl_ext/.cvsignore: - Added BOOT.xsh - Added generated .c files
-
-2002-09-24  soheil <soheil>
-
-	* perl_ext/DisplayItem.xs, perl_ext/SWF/DisplayItem.pm: Added
-	$displayItem->getDepth()
-
-2002-09-20  peterdd <peterdd>
-
-	* util/ming.css: added a stylesheet for swftoperl.html
-
-2002-09-20  peterdd <peterdd>
-
-	* ChangeLog: added swftoperl
-
-2002-09-20  peterdd <peterdd>
-
-	* util/TODO: a new TODO for util/ :-)
-
-2002-09-20  peterdd <peterdd>
-
-	* util/README: more structure for the README
-
-2002-09-20  peterdd <peterdd>
-
-	* util/swftoperl.html: instructions for swftoperl
-
-2002-09-20  peterdd <peterdd>
-
-	* util/Makefile: added make swftoperl
-
-2002-09-20  peterdd <peterdd>
-
-	* util/swftoperl.c: initial import
-
-2002-09-20  peterdd <peterdd>
-
-	* util/swftoperl.h: for swftoperl
-
-2002-09-04  erich <erich>
-
-	* ChangeLog: fixed perl_ext
-
-2002-09-04  erich <erich>
-
-	* CREDITS: added myself ;)
-
-2002-09-04  erich <erich>
-
-	* perl_ext/Makefile.PL: fix perl extension
-
-2002-09-03  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-09-03  opaque_ndst <opaque_ndst>
-
-	* src/blocks/block.c, src/blocks/blocktypes.h, src/blocks/font.c,
-	src/blocks/font.h: made SWFFont a SWFBlock type again so we can use
-	destroySWFBlock in the wrapper code and ignore whether it's an
-	SWFFont or SWFBrowserFont
-
-2002-08-31  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-31  opaque_ndst <opaque_ndst>
-
-	* ming.h, src/blocks/text.c, src/blocks/text.h: changed
-	SWFText_addString to SWFText_addUTF8String, replaced
-	SWFText_addString with old behavior
-
-2002-08-28  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-28  opaque_ndst <opaque_ndst>
-
-	* TODO, src/blocks/block.c, src/blocks/cxform.c, src/blocks/dbl.c,
-	src/blocks/error.c, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/input.c, src/blocks/jpeg.c, src/blocks/matrix.c,
-	src/blocks/method.c, src/blocks/read.c, src/blocks/sound.c,
-	src/blocks/soundstream.c, src/blocks/text.c, src/blocks/utf8.c,
-	src/movie.c, src/position.c, src/shape_cubic.c, src/shape_util.c,
-	win32/libming.dsp: type casts to quell warnings on windows
-
-2002-08-27  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-27  opaque_ndst <opaque_ndst>
-
-	* src/blocks/input.c: fixed really stupid problem with indeterminate
-	function call ordering
-
-2002-08-19  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-19  staybyte <staybyte>
-
-	* src/movie.c: remove automatic version number change to 6
-
-2002-08-19  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-19  staybyte <staybyte>
-
-	* src/actioncompiler/swf5compiler.y: correct entry for action script
-	command delete
-
-2002-08-18  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-18  staybyte <staybyte>
-
-	* ming.h, ming.i, php_ext/ming-dev.c, php_ext/ming.c, src/Makefile,
-	src/blocks/method.c, src/blocks/method.h, src/movie.c, src/movie.h: 
-	add flash mx compression support
-
-2002-08-14  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/text.c: fixed unitialized memory problem causing buggy
-	advance lists
-
-2002-08-14  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c: fixed stupid typo causing crashing
-	on compilation
-
-2002-08-13  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/ming.h: added missing semicolon
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/font_util.c, src/font_util.h: functions to let ming keep fonts
-	across process lifetime
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added font_util.o
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/ming.c: added font_util.h include
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/blocklist.c, src/blocks/font.c, src/movie.c: fixed memory
-	leaks
-
-2002-08-13  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/text.c: fixed bug with calling getScaledStringWidth
-	after text object's been added to movie (and thereby "resolved",
-	replacing textrecords' fonts with fontchars)
-
-2002-08-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/font.c: fixed an off-by-one malloc bug
-
-2002-08-12  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-12  opaque_ndst <opaque_ndst>
-
-	* ming.h, src/blocks/font.c, src/blocks/font.h, src/blocks/text.c,
-	src/blocks/text.h, src/ming.c, src/ming.h: fixed wide font support
-
-2002-08-08  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-08  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming-dev.c: ming.c for PHP-4.3.0dev
-
-2002-08-08  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-08  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c: ming.c from php-4.2.2
-
-2002-08-08  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* HISTORY, TODO: [no log message]
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/Makefile, src/fill.c, src/ming.c, src/ming.h, src/position.c,
-	src/position.h, src/shape_cubic.c, src/shape_util.c: formatting
-	changes, cosmetic only
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocktypes.h: added DEFINEEDITTEXT (textfield) type
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/Makefile, src/blocks/action.c, src/blocks/bitmap.c,
-	src/blocks/block.c, src/blocks/block.h, src/blocks/browserfont.c,
-	src/blocks/cxform.c, src/blocks/dbl.c, src/blocks/error.c,
-	src/blocks/fillstyle.c, src/blocks/fontinfo.c,
-	src/blocks/gradient.c, src/blocks/jpeg.c, src/blocks/libswf.h,
-	src/blocks/linestyle.c, src/blocks/matrix.c, src/blocks/method.c,
-	src/blocks/method.h, src/blocks/morph.c, src/blocks/mp3.c,
-	src/blocks/output.c, src/blocks/outputblock.c,
-	src/blocks/placeobject.c, src/blocks/read.c, src/blocks/rect.c,
-	src/blocks/rect.h, src/blocks/shape.c, src/blocks/shape.h,
-	src/blocks/sprite.c, src/blocks/sprite.h, src/blocks/textfield.h,
-	src/blocks/ttffont.c: removed superfluous sec_free calls, formatting
-	changes (cosmetic only)
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/sound.c, src/blocks/soundinstance.c,
-	src/blocks/soundstream.c: added Goto's sound code, with support for
-	adpcm and raw pcm (untested)
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/input.c, src/blocks/input.h: added read method for
-	many-byte reading.  Should replace getc..
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/text_util.c, src/text_util.h: added SWFText_setSpacing
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/Makefile, src/actioncompiler/assembler.c,
-	src/actioncompiler/compile.c, src/actioncompiler/compileaction.c: 
-	removed superfluous sec_free calls formatted code (cosmetic only)
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocklist.c, src/blocklist.h, src/blocks/character.c,
-	src/blocks/character.h, src/displaylist.c, src/displaylist.h,
-	src/movie.c, src/movie.h, src/movieclip.c, src/movieclip.h: rewrote
-	dependency inheritance code to deal with SWFFontCharacters, fix
-	block ordering bugs
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/button.c: added Goto's button sound code (untested)
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/textfield.c: changed default flags to fix problem
-	reported (long ago..) by Wolfgang Hamann
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/font.c, src/blocks/font.h, src/blocks/text.c,
-	src/blocks/text.h: factored SWFFontCharacter out of SWFFont-   contains the movie-specific information in a font   allows SWFFont objects to be used across multiple movies added (untested) 16-bit font support
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/blocks/utf8.c, src/blocks/utf8.h: UTF8 decoding code for
-	international text support
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* src/test.c: updated ming calls, compiles again
-
-2002-08-07  opaque_ndst <opaque_ndst>
-
-	* util/listswf.c: replaced changed code- font offset table really
-	does contain nGlyphs+1 entries
-
-2002-08-05  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-08-05  opaque_ndst <opaque_ndst>
-
-	* src/blocks/loadfont.c: code moved to font.c
-
-2002-07-22  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-22  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h, src/actioncompiler/assembler.c,
-	src/actioncompiler/assembler.h, src/actioncompiler/compile.c,
-	src/actioncompiler/compile.h, src/actioncompiler/compileaction.c,
-	src/actioncompiler/listaction.c, src/actioncompiler/main.c,
-	src/blocklist.c, src/blocklist.h, src/blocks/action.c,
-	src/blocks/action.h, src/blocks/bitmap.c, src/blocks/bitmap.h,
-	src/blocks/block.c, src/blocks/block.h, src/blocks/blocktypes.h,
-	src/blocks/browserfont.c, src/blocks/browserfont.h,
-	src/blocks/button.c, src/blocks/button.h, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/cxform.c, src/blocks/cxform.h,
-	src/blocks/dbl.c, src/blocks/dbl.h, src/blocks/error.c,
-	src/blocks/error.h, src/blocks/exports.h, src/blocks/fillstyle.c,
-	src/blocks/fillstyle.h, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/fontinfo.c, src/blocks/fontinfo.h,
-	src/blocks/gradient.c, src/blocks/gradient.h, src/blocks/input.c,
-	src/blocks/input.h, src/blocks/jpeg.c, src/blocks/jpeg.h,
-	src/blocks/libswf.h, src/blocks/linestyle.c,
-	src/blocks/linestyle.h, src/blocks/loadfont.c, src/blocks/matrix.c,
-	src/blocks/matrix.h, src/blocks/method.c, src/blocks/method.h,
-	src/blocks/morph.c, src/blocks/morph.h, src/blocks/mp3.c,
-	src/blocks/output.c, src/blocks/output.h, src/blocks/outputblock.c,
-	src/blocks/outputblock.h, src/blocks/placeobject.c,
-	src/blocks/placeobject.h, src/blocks/read.c, src/blocks/rect.c,
-	src/blocks/rect.h, src/blocks/shape.c, src/blocks/shape.h,
-	src/blocks/sound.c, src/blocks/sound.h, src/blocks/soundinstance.c,
-	src/blocks/soundinstance.h, src/blocks/soundstream.c,
-	src/blocks/soundstream.h, src/blocks/sprite.c, src/blocks/sprite.h,
-	src/blocks/swf.h, src/blocks/text.c, src/blocks/text.h,
-	src/blocks/textfield.c, src/blocks/textfield.h,
-	src/blocks/ttffont.c, src/blocks/ttffont.h, src/blocktypes.h,
-	src/displaylist.c, src/displaylist.h, src/fill.c, src/fill.h,
-	src/libming.h, src/ming.c, src/ming.h, src/movie.c, src/movie.h,
-	src/movieclip.c, src/movieclip.h, src/position.c, src/position.h,
-	src/shape_cubic.c, src/shape_cubic.h, src/shape_util.c,
-	src/shape_util.h, src/test.c, src/text_util.c, src/text_util.h: 
-	rolled back indentation changes
-
-2002-07-22  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-22  staybyte <staybyte>
-
-	* ming.h, mingpp.h, src/actioncompiler/assembler.c,
-	src/actioncompiler/assembler.h, src/actioncompiler/compile.c,
-	src/actioncompiler/compile.h, src/actioncompiler/compileaction.c,
-	src/actioncompiler/listaction.c, src/actioncompiler/main.c,
-	src/blocklist.c, src/blocklist.h, src/blocks/action.c,
-	src/blocks/action.h, src/blocks/bitmap.c, src/blocks/bitmap.h,
-	src/blocks/block.c, src/blocks/block.h, src/blocks/blocktypes.h,
-	src/blocks/browserfont.c, src/blocks/browserfont.h,
-	src/blocks/button.c, src/blocks/button.h, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/cxform.c, src/blocks/cxform.h,
-	src/blocks/dbl.c, src/blocks/dbl.h, src/blocks/error.c,
-	src/blocks/error.h, src/blocks/exports.h, src/blocks/fillstyle.c,
-	src/blocks/fillstyle.h, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/fontinfo.c, src/blocks/fontinfo.h,
-	src/blocks/gradient.c, src/blocks/gradient.h, src/blocks/input.c,
-	src/blocks/input.h, src/blocks/jpeg.c, src/blocks/jpeg.h,
-	src/blocks/libswf.h, src/blocks/linestyle.c,
-	src/blocks/linestyle.h, src/blocks/loadfont.c, src/blocks/matrix.c,
-	src/blocks/matrix.h, src/blocks/method.c, src/blocks/method.h,
-	src/blocks/morph.c, src/blocks/morph.h, src/blocks/mp3.c,
-	src/blocks/output.c, src/blocks/output.h, src/blocks/outputblock.c,
-	src/blocks/outputblock.h, src/blocks/placeobject.c,
-	src/blocks/placeobject.h, src/blocks/read.c, src/blocks/rect.c,
-	src/blocks/rect.h, src/blocks/shape.c, src/blocks/shape.h,
-	src/blocks/sound.c, src/blocks/sound.h, src/blocks/soundinstance.c,
-	src/blocks/soundinstance.h, src/blocks/soundstream.c,
-	src/blocks/soundstream.h, src/blocks/sprite.c, src/blocks/sprite.h,
-	src/blocks/swf.h, src/blocks/text.c, src/blocks/text.h,
-	src/blocks/textfield.c, src/blocks/textfield.h,
-	src/blocks/ttffont.c, src/blocks/ttffont.h, src/blocktypes.h,
-	src/displaylist.c, src/displaylist.h, src/fill.c, src/fill.h,
-	src/libming.h, src/ming.c, src/ming.h, src/movie.c, src/movie.h,
-	src/movieclip.c, src/movieclip.h, src/position.c, src/position.h,
-	src/shape_cubic.c, src/shape_cubic.h, src/shape_util.c,
-	src/shape_util.h, src/test.c, src/text_util.c, src/text_util.h: 
-	indent sources
-
-2002-07-22  staybyte <staybyte>
-
-	* php_ext/ming.c, php_ext/php_ming.h: add swfbutton_addsound
-
-2002-07-21  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-20  staybyte <staybyte>
-
-	* php_ext/ming.c: backporting from php cvs tree
-
-2002-07-20  staybyte <staybyte>
-
-	* util/gif2dbl.c: fixed spelling mistake
-
-2002-07-20  staybyte <staybyte>
-
-	* src/blocks/character.c, src/blocks/character.h, src/blocks/dbl.c: 
-	fixed proto mismatch
-
-2002-07-20  staybyte <staybyte>
-
-	* perl_ext/t/fill.t, perl_ext/t/sound.t, perl_ext/t/sprite.t: add nl
-	at end of files
-
-2002-07-17  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* ming.h: changed SWFMovie_add second arg back to void* to keep
-	existing code from complaining
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/blocks/morph.c: changed getdependencies function to new format
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/blocks/mp3.c: added (empty, for now) getMP3Size function
-
-2002-07-15  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/test.c: updated to make it compile again..
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/blocklist.c, src/blocklist.h, src/blocks/character.c,
-	src/blocks/character.h, src/displaylist.c, src/displaylist.h,
-	src/movie.c, src/movie.h, src/movieclip.c, src/movieclip.h: added
-	sound code to SWFMovie and SWFMovieClip changed getdependency
-	function slightly moved resolvedependency function to blocklist.c
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/blocks/button.c, src/blocks/button.h: added sound code
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/Makefile, src/blocks/Makefile, util/Makefile: straightened out
-	OFILES added new sound code
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/blocks/sound.c, src/blocks/sound.h, src/blocks/soundstream.c,
-	src/blocks/soundstream.h: Added functions for non-streaming sounds.
-	These don't quite work yet, but they don't seem to break existing
-	code..
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* ming.h: added SWFSound and SWFSoundInstance functions
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* util/raw2adpcm.c: an ADPCM coder..
-
-2002-07-15  opaque_ndst <opaque_ndst>
-
-	* src/blocks/soundinstance.c, src/blocks/soundinstance.h: 
-	SWFSoundInstance is an instance handle for sounds, generated by
-	SWFMovie_startSound or SWFButton_addSound.  Lets you change
-	parameters like loop points and envelopes
-
-2002-07-14  opaque_ndst <opaque_ndst>
-
-	* Makefile.am, autogen.sh, configure.in, src/Makefile.am,
-	src/actioncompiler/Makefile.am, src/blocks/Makefile.am,
-	util/Makefile.am: first stab at autoconf'ing this mess
-
-2002-07-14  opaque_ndst <opaque_ndst>
-
-	* util/decompile5.c: added SWFACTION_INITARRAY handler
-
-2002-07-05  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-05  staybyte <staybyte>
-
-	* : [no log message]
-
-2002-07-05  staybyte <staybyte>
-
-	* : [no log message]
-
-2002-07-03  staybyte <staybyte>
-
-	* CHANGES, ming.h, php_ext/config.m4, php_ext/ming.c,
-	php_ext/php_ming.h, src/Makefile, src/actioncompiler/Makefile,
-	src/actioncompiler/compile.c, src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.y, src/blocklist.c,
-	src/blocks/Makefile, src/blocks/action.c, src/blocks/bitmap.c,
-	src/blocks/block.c, src/blocks/blocktypes.h,
-	src/blocks/browserfont.c, src/blocks/button.c,
-	src/blocks/character.c, src/blocks/cxform.c, src/blocks/dbl.c,
-	src/blocks/error.c, src/blocks/fillstyle.c, src/blocks/font.c,
-	src/blocks/font.h, src/blocks/fontinfo.c, src/blocks/gradient.c,
-	src/blocks/input.c, src/blocks/jpeg.c, src/blocks/libswf.h,
-	src/blocks/linestyle.c, src/blocks/loadfont.c, src/blocks/matrix.c,
-	src/blocks/method.c, src/blocks/method.h, src/blocks/morph.c,
-	src/blocks/mp3.c, src/blocks/output.c, src/blocks/outputblock.c,
-	src/blocks/placeobject.c, src/blocks/read.c, src/blocks/rect.c,
-	src/blocks/shape.c, src/blocks/sound.c, src/blocks/soundstream.c,
-	src/blocks/sprite.c, src/blocks/swf.h, src/blocks/text.c,
-	src/blocks/text.h, src/blocks/textfield.c, src/blocks/textfield.h,
-	src/blocks/ttffont.c, src/blocks/ttffont.h, src/displaylist.c,
-	src/fill.c, src/ming.c, src/ming.h, src/movie.c, src/movie.h,
-	src/position.c, util/gif2dbl.c, util/listswf.c, util/swftophp.c: 
-	fixed some problems with segfaults
-
-2002-07-03  staybyte <staybyte>
-
-	* : [no log message]
-
-2002-07-03  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-03  staybyte <staybyte>
-
-	* HISTORY: move CHANGES to HISTORY
-
-2002-07-03  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-03  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-07-03  staybyte <staybyte>
-
-	* ChangeLog: [no log message]
-
-2002-02-02  erich <erich>
-
-	* java_ext/native/SWFNative.cc: fixed rotateTo, thanks to Tod E.
-	Kurt
-
-2002-01-10  erich <erich>
-
-	* src/blocks/font.c: oops, broke that fix. next try
-
-2002-01-10  erich <erich>
-
-	* src/blocks/font.c, src/blocks/shape.c, src/blocks/text.c: included
-	fixes from Uwe Traum
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/Bitmap.xs: Fixed SWF::Bitmap::DESTROY
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/Button.xs: Fixed destroySWFButton
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/Font.xs: Fixed SWF::Font::new
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/Morph.xs: Fixed destroySWFMorph
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/Shape.xs: Fixed destroySWFShape
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/Text.xs: Fixed destroySWFText
-
-2001-12-30  soheil <soheil>
-
-	* perl_ext/TextField.xs: Fixed destroySWFTextField
-
-2001-12-24  erich <erich>
-
-	* ming.i, mingpp.h: attemt to get ming.i and mingpp.h into sync with
-	ming.h and main source...
-
-2001-12-23  opaque_ndst <opaque_ndst>
-
-	* CHANGES: [no log message]
-
-2001-12-22  opaque_ndst <opaque_ndst>
-
-	* src/shape_cubic.c: added ming.h include for defines needed on
-	win32
-
-2001-12-22  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/action.h, util/action.h, util/decompile5.c,
-	util/makefdb.c: added Wolfgang Hamann's fixes
-
-2001-12-22  opaque_ndst <opaque_ndst>
-
-	* win32/libming.dsp, win32/libming.dsw: MSVC project files from
-	Martin Weber
-
-2001-12-14  opaque_ndst <opaque_ndst>
-
-	* ming.h: added deprecated SWFFont_drawFontGlyph define for php
-
-2001-12-14  opaque_ndst <opaque_ndst>
-
-	* php_ext/config.m4, php_ext/ming.c: added Rasmus's changes for
-	4.1.0
-
-2001-12-08  erich <erich>
-
-	* mingpp.h: Reported by Raymond Penners, inconsistency to ming.h in
-	addString
-
-2001-11-29  opaque_ndst <opaque_ndst>
-
-	* CHANGES, TODO, ming.h, src/Makefile,
-	src/actioncompiler/assembler.c, src/actioncompiler/assembler.h,
-	src/blocklist.c, src/blocklist.h, src/blocks/Makefile,
-	src/blocks/action.c, src/blocks/action.h, src/blocks/bitmap.c,
-	src/blocks/bitmap.h, src/blocks/block.c, src/blocks/block.h,
-	src/blocks/browserfont.c, src/blocks/browserfont.h,
-	src/blocks/button.c, src/blocks/button.h, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/cxform.c, src/blocks/cxform.h,
-	src/blocks/dbl.c, src/blocks/dbl.h, src/blocks/exports.h,
-	src/blocks/fillstyle.c, src/blocks/fillstyle.h, src/blocks/font.c,
-	src/blocks/font.h, src/blocks/fontinfo.c, src/blocks/fontinfo.h,
-	src/blocks/gradient.c, src/blocks/gradient.h, src/blocks/input.c,
-	src/blocks/input.h, src/blocks/jpeg.c, src/blocks/jpeg.h,
-	src/blocks/linestyle.c, src/blocks/linestyle.h,
-	src/blocks/loadfont.c, src/blocks/matrix.c, src/blocks/matrix.h,
-	src/blocks/method.c, src/blocks/method.h, src/blocks/morph.c,
-	src/blocks/morph.h, src/blocks/output.c, src/blocks/output.h,
-	src/blocks/outputblock.c, src/blocks/outputblock.h,
-	src/blocks/placeobject.c, src/blocks/placeobject.h,
-	src/blocks/rect.c, src/blocks/rect.h, src/blocks/shape.c,
-	src/blocks/shape.h, src/blocks/sound.h, src/blocks/soundstream.c,
-	src/blocks/soundstream.h, src/blocks/sprite.c, src/blocks/sprite.h,
-	src/blocks/text.c, src/blocks/text.h, src/blocks/textfield.c,
-	src/blocks/textfield.h, src/displaylist.c, src/displaylist.h,
-	src/fill.c, src/fill.h, src/ming.h, src/movie.c, src/movie.h,
-	src/movieclip.c, src/movieclip.h, src/position.c, src/position.h,
-	src/shape_util.c, src/shape_util.h, src/text_util.h: general code
-	cleanup: changed void* object typedefs to struct pointers moved structure
-	definitions into .c files where possible some memory leaks plugged
-	random kruft removed
-
-2001-11-29  opaque_ndst <opaque_ndst>
-
-	* py_ext/Makefile: changed ming library linkage from static to
-	dynamic
-
-2001-10-24  erich <erich>
-
-	* php_ext/ming.c: fix for php4 rc1
-
-2001-10-24  erich <erich>
-
-	* php_ext/config.m4: added -lm so config detects ming again...
-
-2001-09-26  soheil <soheil>
-
-	* perl_ext/Changes: Updated
-
-2001-09-26  soheil <soheil>
-
-	* perl_ext/Font.xs: fixed SWF::Font::new method to accept browser
-	fonts (reported by Zbigniew).
-
-2001-09-26  soheil <soheil>
-
-	* perl_ext/DisplayItem.xs: added accessor methods
-
-2001-09-26  soheil <soheil>
-
-	* perl_ext/SWF/DisplayItem.pm: added documentation for accessor
-	methods.
-
-2001-09-25  erich <erich>
-
-	* java_ext/Makefile: added -f to rm in clean target
-
-2001-09-25  erich <erich>
-
-	* src/shape_util.h: synced with shape_util.c changes
-
-2001-09-25  erich <erich>
-
-	* java_ext/Makefile: added rm *.jar to clean target
-
-2001-09-25  erich <erich>
-
-	* java_ext/SWFMovie.java, java_ext/SWFMovieI.java: removed undefined
-	useSWFVersion, so the java extension builds
-
-2001-09-25  erich <erich>
-
-	* java_ext/SWFShape.java, java_ext/SWFShapeI.java: removed duplicate
-	drawGlyph
-
-2001-09-25  erich <erich>
-
-	* rb_ext/test.rb: trying to get this to run...
-
-2001-09-25  erich <erich>
-
-	* perl_ext/SWF/Shape.pm: fixed two typos (shpae instead of shape)
-	reported by alfie in #debian.de at IRCNet
-
-2001-09-25  erich <erich>
-
-	* util/Makefile: added listaction to clean target
-
-2001-09-25  erich <erich>
-
-	* Makefile: now honors , added -m 0644 to install
-
-2001-09-25  erich <erich>
-
-	* util/Makefile: added install target
-
-2001-09-25  erich <erich>
-
-	* src/blocks/Makefile: added -fPIC
-
-2001-09-25  erich <erich>
-
-	* src/Makefile: -fPIC fixes
-
-2001-09-25  erich <erich>
-
-	* src/actioncompiler/Makefile: added -fPIC, clean target now removes
-	autogenerated files
-
-2001-09-25  erich <erich>
-
-	* php_ext/Makefile, py_ext/Makefile: Small makefile fixes, now using
-	install instead of cp, honors DESTDIR now
-
-2001-09-25  erich <erich>
-
-	* java_ext/Makefile: added clean target
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/Sound.pm: added version
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/Changes: updated changes
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/MANIFEST: removed example files
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/t/drag.t: add SWF::Constants
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/Constants.pm, perl_ext/examples/action.cgi,
-	perl_ext/examples/alphafill.cgi: initial import to cvs
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/swf_util.c: added header files
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/perl_swf.h: added swf_stash_refcnt_inc/dec methods
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/TODO: Updated the list
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/t/button.t: - added SWF::Constants
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/TextField.pm: - added version - Moved :Text to Constants
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/Fill.pm, perl_ext/SWF/Font.pm,
-	perl_ext/SWF/Gradient.pm, perl_ext/SWF/Morph.pm,
-	perl_ext/SWF/Movie.pm, perl_ext/SWF/Shape.pm,
-	perl_ext/SWF/Sprite.pm, perl_ext/SWF/Text.pm: - added version
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/DisplayItem.pm: - added version - Moved :DisplayItem to Constants
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/Button.pm: - added version - Moved :Button to Constants.pm
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF/Action.pm, perl_ext/SWF/Bitmap.pm: - added version
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF.pm: - added Constants to @EXPORT_OK - Changed version to 0.09-dev
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/SWF.xs: Splitted the XS file
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/Makefile.PL: - added clean - added @SWF_MODULES + write_bootxs() (needed for spliting SWF.xs)
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/Exports.c: Fixed possible typo warning
-
-2001-09-24  soheil <soheil>
-
-	* perl_ext/Action.xs, perl_ext/Bitmap.xs, perl_ext/Button.xs,
-	perl_ext/Constants.xs, perl_ext/DisplayItem.xs, perl_ext/Fill.xs,
-	perl_ext/Font.xs, perl_ext/Gradient.xs, perl_ext/Morph.xs,
-	perl_ext/Movie.xs, perl_ext/MovieClip.xs, perl_ext/Shape.xs,
-	perl_ext/Sound.xs, perl_ext/Text.xs, perl_ext/TextField.xs: Initial
-	import to cvs
-
-2001-09-18  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.c: changed drawarc/circle radius arg type to float
-
-2001-09-15  opaque_ndst <opaque_ndst>
-
-	* util/png2dbl.c: added Ingo Wilken's patch for word-aligning the
-	PNG data
-
-2001-09-15  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h, src/displaylist.c, src/displaylist.h: added Uri
-	Yanover's displayitem property accessor functions
-
-2001-08-22  soheil <soheil>
-
-	* perl_ext/Changes: Updated Changes
-
-2001-08-22  soheil <soheil>
-
-	* perl_ext/TODO: updated TODO list
-
-2001-08-22  soheil <soheil>
-
-	* perl_ext/SWF/TextField.pm: - added documentation for importing constants (need to add method
-	pod)
-
-2001-08-22  soheil <soheil>
-
-	* perl_ext/examples/glyph.cgi, perl_ext/examples/keypress.cgi,
-	perl_ext/examples/text.cgi: initial import to cvs
-
-2001-08-22  soheil <soheil>
-
-	* perl_ext/SWF.xs: updated SWFMovie::addExport SWFShape::drawGlyph
-	(patch submitted by Wolfgang Hamann)
-
-2001-08-19  opaque_ndst <opaque_ndst>
-
-	* CHANGES, CREDITS: [no log message]
-
-2001-08-19  opaque_ndst <opaque_ndst>
-
-	* : updated from php4 cvs
-
-2001-08-12  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added shape_cubic
-
-2001-08-12  opaque_ndst <opaque_ndst>
-
-	* ming.h: changed version number, fixed SWFShape_drawFontGlyph macro
-
-2001-08-12  opaque_ndst <opaque_ndst>
-
-	* src/shape_cubic.c, src/shape_cubic.h, src/shape_util.c: moved
-	cubic functions to shape_cubic.c
-
-2001-08-09  soheil <soheil>
-
-	* perl_ext/SWF/DisplayItem.pm: - added documentation for importing SWFACTION_* constants - added setMask() method doc (need to explain)
-
-2001-08-09  soheil <soheil>
-
-	* perl_ext/t/.cvsignore: Fixed filename
-
-2001-08-09  soheil <soheil>
-
-	* perl_ext/t/.cvsignore: initial import to cvs
-
-2001-08-09  soheil <soheil>
-
-	* perl_ext/.cvsignore: Fixed list of files
-
-2001-08-09  soheil <soheil>
-
-	* perl_ext/SWF.xs: - added SWF::Movie::addExport() - added SWF::DisplayItem::setMaskLevel()
-
-2001-08-08  soheil <soheil>
-
-	* perl_ext/SWF/Bitmap.pm: - fixed documentation
-
-2001-08-08  soheil <soheil>
-
-	* perl_ext/SWF.pm: - added SWF::setVersion($version) perldoc
-
-2001-08-08  soheil <soheil>
-
-	* perl_ext/Exports.c: - added SWFTEXTFIELD_HASLENGTH - removed :Clip constants. ming.h doesn't have it! - added :DisplayItem constants
-
-2001-08-08  soheil <soheil>
-
-	* perl_ext/SWF.xs: - added SWF::setVersion() - added DisplayItem constants - added DisplayItem::addAction() - removed deprecated methods from SWF::Shape - added SWFTEXTFIELD_HTML and SWFTEXTFIELD_HASLENGTH to TextField
-	constants - fixed Action::new(). The script cannot be NULL
-
-2001-08-08  soheil <soheil>
-
-	* perl_ext/Makefile.PL: Fixed inlude directory for ming.h
-
-2001-08-08  soheil <soheil>
-
-	* perl_ext/Makefile.PL: Removed @supported_ming_vers. No need to
-	check ming version as we're going to distribute perl-ming though
-	CVS, ming website, or CPAN.
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/examples/animation.cgi, perl_ext/examples/morph.cgi,
-	perl_ext/examples/sprite.cgi: initial import to cvs
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/examples/jpegfill.cgi, perl_ext/examples/shape.cgi: 
-	initial import to cvs
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/Makefile.PL: added skip_test() to t/config.pl
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/t/filljpeg.t, perl_ext/t/png.t, perl_ext/t/sound.t: - if required file doesn't exist, call skip_test()
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/perl_swf.h: - added SWFSound - added debug level
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/MANIFEST: - added SWF/*.pm file - added swf_util.c - added more test files
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/SWF/Action.pm, perl_ext/SWF/Bitmap.pm,
-	perl_ext/SWF/Button.pm, perl_ext/SWF/DisplayItem.pm,
-	perl_ext/SWF/Fill.pm, perl_ext/SWF/Font.pm,
-	perl_ext/SWF/Gradient.pm, perl_ext/SWF/Morph.pm,
-	perl_ext/SWF/Movie.pm, perl_ext/SWF/Shape.pm,
-	perl_ext/SWF/Sound.pm, perl_ext/SWF/Sprite.pm,
-	perl_ext/SWF/Text.pm, perl_ext/SWF/TextField.pm,
-	perl_ext/t/00_basic.t, perl_ext/t/01_shape.t,
-	perl_ext/t/03_movie.t, perl_ext/t/button.t, perl_ext/t/drag.t,
-	perl_ext/t/fill.t, perl_ext/t/filljpeg.t, perl_ext/t/gradient.t,
-	perl_ext/t/png.t, perl_ext/t/sound.t, perl_ext/t/sprite.t: initial
-	import to cvs
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/typemap: added SWF::Sound
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/SWF.pm: 1- added import() 2- added doc
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/swf_util.c: initail import to cvs
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/SWF.xs: - Added swf_util.c - Made necessary changes to compile with 0.2-pre-a version - Fixed some of memory leaks
-
-2001-08-06  soheil <soheil>
-
-	* perl_ext/Makefile.PL: - For now, we'll only support 0.2-pre-a - Fixed DEFAULT_DIR
-
-2001-08-01  raff <raff>
-
-	* util/png2dbl.c: Maybe this fixes the strange colors in PNG images: - filler goes AFTER (RGBA) not before (ARGB ?) - do strange things with alpha channel also for RGB, since   we convert it in RGBA - added a --verbose option that may help to find problems cVS:
-
-	----------------------------------------------------------------------
-
-2001-07-29  raff <raff>
-
-	* ming.h: If the implementation uses int, the prototype should use
-	int to or very bad things will happen when you try to use the
-	advance list!
-
-2001-07-26  raff <raff>
-
-	* src/displaylist.c: I don't know why I can compile (most of the
-	times ): but just in case, let's declare functions before using
-	them.
-
-2001-07-26  raff <raff>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y: Added (only to the Flash 4
-	compiler) : - getProperty(object, property) - gotoAndPlay(frame) - gotoFrame() is really gotoAndStop - tellTarget(target) { block } - frameLoaded(expr) - callFrame(string) - don't ask me why, but I had a variable named
-	  like a frame.  Some of these changes can easily be ported (copied) to the Flash 5
-	compiler.
-
-2001-07-26  raff <raff>
-
-	* Makefile: Added entries to build and install Ming as a static
-	library.  In order to automatically build both static and dynamic libraries,
-	remove the comment (# sign) from the 'all' and 'install' targets.
-
-2001-07-26  raff <raff>
-
-	* ming.h: prototypes for Ming_setSWFVersion() and
-	SWFDisplayItem_setMaskLevel()
-
-2001-07-25  raff <raff>
-
-	* src/shape_util.h: SWFShape_drawGlyph really only has 3 parameters,
-	not 4
-
-2001-07-25  raff <raff>
-
-	* src/displaylist.c, src/displaylist.h: - added SWFDisplayItem_setMaskLevel() - in SWFDisplayItem_setDepth(), either I set the depth in the
-	  PlaceObject thing, or there is really no point of having this
-	  function (unless I am missing something).
-
-2001-07-25  raff <raff>
-
-	* src/blocks/swf.h: added prototype for
-	SWFPlaceObject2Block_setMaskLevel()
-
-2001-07-25  raff <raff>
-
-	* src/blocks/placeobject.c, src/blocks/placeobject.h: - the masklevel (clip depth) comes before the object name, not after - exported SWFPlaceObject2Block_setMaskLevel - I really need to be able to change the depth level   (SWFPlaceObject2Block_setDepth) before emitting the object, in
-	  order to properly use the masklevel.
-
-2001-07-25  raff <raff>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y: This fixes a bunch of problems
-	with parsing a "sprite path" in the Flash 4 compiler (I don't know
-	how the Flash 5 compiler works, but since this part of the code is
-	completely different it may be ok).  Now you can do things like /root/movie/submovie:variable, ./movie,
-	/movie/../anothermovie, etc. (I used to have problems with more than
-	one submovie) (note: I am not simplifying ANY path - i.e. the ones containing .. -
-	they get sent straight to the Flash player. But it seems to work,
-	so... :)
-
-2001-07-25  raff <raff>
-
-	* src/actioncompiler/Makefile: - 'make clean' now also removes the files generated by flex and
-	bison.  - added a FLEXDEBUG option, in case I really need to see what's
-	going on.
-
-2001-07-25  raff <raff>
-
-	* src/actioncompiler/main.c: I still am faithfull to the Flash 4
-	compiler, so here is a --4 option to select it (the default, as
-	before, is to use the new compiler).
-
-2001-07-24  opaque_ndst <opaque_ndst>
-
-	* src/libming.h: commented out garbage after #endif
-
-2001-07-18  raff <raff>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: added escape sequences \b, \f,
-	\n, \r, \t and a warning message for \x and \u (every other
-	character that follows a '\' is left unchanged but of course the '\'
-	is removed).
-
-2001-07-18  raff <raff>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf5compiler.flex: Strings can contain escaped
-	characters ( mainly the escape character itself '\' and quotes, so I
-	guess removing the escape character is the right thing to do - and I
-	am too lazy to find a way to do it in Flex :) One day we can support escape sequences ( \b, \f, \n, \r, \t ) and
-	hex/unicode values ( \xHH, \uHHHH ) by "fixing" the unescape
-	function.
-
-2001-07-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/libswf.h, src/libming.h: added rint define
-
-2001-07-14  opaque_ndst <opaque_ndst>
-
-	* util/listmp3.c, util/listswf.c: fixed mp3 frame parsing
-
-2001-07-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/mp3.c, src/blocks/soundstream.c,
-	src/blocks/soundstream.h: okay, I think this fixes mp3 streaming..
-
-2001-07-14  opaque_ndst <opaque_ndst>
-
-	* src/displaylist.c: removed soundrewind method call from
-	writeBlocks- what was I thinking??
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* CREDITS: [no log message]
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added libming.so to make clean
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* Makefile: changed install to libming-0.2
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/oldcompiler.flex,
-	src/actioncompiler/oldcompiler.y: [no log message]
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* java_ext/SWFShape.java, java_ext/SWFShapeI.java,
-	java_ext/native/SWFShape.h, ming.i, perl_ext/SWF.xs,
-	php_ext/ming.c, py_ext/ming.py, rb_ext/ming.rb: changed calls to
-	SWFShape_drawGlyph to SWFShape_drawSizedGlyph
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* perl_ext/README, php_ext/config.m4, py_ext/README: changed ming
-	lib requirements to 0.2-pre-a
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* java_ext/SWFMovie.java, java_ext/SWFMovieI.java,
-	java_ext/native/SWFMovie.h, perl_ext/SWF.xs, php_ext/ming.c,
-	php_ext/php_ming.h, py_ext/ming.py: added Ming_useSWFVersion
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* CHANGES, CREDITS, TODO: [no log message]
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h, src/shape_util.c, src/shape_util.h: moved sized
-	drawGlyph to drawSizedGlyph, restoring api compatibility
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/swf.h: removed unused SWFMatrix_copy
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/shape.c: fixed pen positioning in drawGlyph
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/matrix.c, src/blocks/matrix.h: added SWFMatrix_apply,
-	various small cleanups
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/swf5compiler.y: added ~ op, changed shift ops'
-	token names to avoid collision with assembler ops
-
-2001-07-12  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/swf5compiler.flex: changed shift ops' token
-	names to avoid colliding with assembler ops
-
-2001-07-11  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: various small fixes..
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* java_ext/SWFShape.java, java_ext/SWFShapeI.java,
-	java_ext/native/SWFShape.h, perl_ext/SWF.xs, py_ext/Makefile,
-	py_ext/ming.py, rb_ext/ming.rb: added size arg to SWFShape_drawGlyph
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/shape.c: now tracking pre-scaled pen in drawGlyph to
-	fix leaky shapes caused by rounding errors
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/Makefile: removed unused stuff..
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added new compiler files
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* ming.i, src/ming.c, src/ming.h: added Ming_useSWFVersion(num)
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compileaction.c: changed yyparse to
-	swf[45]parse
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/main.c: changed yyparse to swf5parse
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h: added
-	Wolfgang's patches allowing multiple data per push op
-
-2001-07-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/.cvsignore, src/actioncompiler/Makefile: added
-	new files
-
-2001-07-08  opaque_ndst <opaque_ndst>
-
-	* util/png2dbl.c: turns out 24-bit images still need the extra byte
-	padding..  weird.
-
-2001-07-08  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/swf5compiler.y: oops, forgot to change the
-	WriteU8s to WriteOps
-
-2001-07-08  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/swf4compiler.flex,
-	src/actioncompiler/swf4compiler.y,
-	src/actioncompiler/swf5compiler.flex,
-	src/actioncompiler/swf5compiler.y: split back into two separate
-	compilers, added many patches from Wolfgang Hamann
-
-2001-07-08  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.flex, src/actioncompiler/compiler.y: 
-	moved to swf[45]compiler
-
-2001-07-01  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.c, src/shape_util.h: added size arg to
-	SWFShape_drawGlyph
-
-2001-07-01  opaque_ndst <opaque_ndst>
-
-	* src/blocks/shape.c, src/blocks/shape.h, src/blocks/swf.h: added
-	size arg to SWFShape_draw[Scaled]Glyph
-
-2001-07-01  opaque_ndst <opaque_ndst>
-
-	* src/ming.c: added Ming_getScale()
-
-2001-07-01  opaque_ndst <opaque_ndst>
-
-	* ming.h, ming.i, mingpp.h: added size arg to SWFShape_drawGlyph
-	function
-
-2001-07-01  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added changes from php4 cvs:
-	removal of "inline" from get* functions changed V_FOPEN to
-	VCWD_FOPEN added RINIT function (but commented it out, it seems to
-	mess things up..)
-
-2001-07-01  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.y: added getURL as synonym for
-	loadMovie
-
-2001-06-30  opaque_ndst <opaque_ndst>
-
-	* util/decompile.c, util/listswf.c: added default case in geturl
-	args switch
-
-2001-06-30  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.y: added back some legacy functions
-	from oldcompiler.y in vain attempt at backwards compatibility
-
-2001-06-30  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.flex: added yyreset to parseInit call
-	added various legacy function calls
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c: added position increment after
-	non-branch wide instruction
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.flex: fixed error reporting- now only
-	one call to SWF_error is made
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.y: fixes the case   if((++x % 100) == 0)     foo();
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/blocks/text.c: attempting to deal with empty-stringed text
-	records
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/movieclip.c: removed initializer for now nonexistent
-	totalFrames field
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/blocks/loadfont.c: cosmetic..
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/blocks/sprite.c, src/blocks/sprite.h, src/blocks/swf.h,
-	src/movieclip.c, src/movieclip.h: added (working) setNumberOfFrames
-	to SWFSprite
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* util/swftophp.c: added Pete Schwamb's patch for saving shape type
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* mingpp.h: fixed pointer reference in SWFDisplayItem::addAction
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* perl_ext/SWF.xs: moved SWFDisplayItem_addAction w/in the
-	SWFDisplayItem methods area
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* ming.h, src/displaylist.c, src/movie.c, src/movieclip.c,
-	src/movieclip.h: added Jonathan Shore's patches for adding sound
-	streams to movie clips.  Sure, it might be defeating the purpose
-	since they're loaded in one frame, but someone might have a good use
-	for it..
-
-2001-06-20  opaque_ndst <opaque_ndst>
-
-	* src/blocks/output.c: added paranoid case to checkSize()-
-	reportedly fixes things, even though I think it shouldn't..  My
-	guess is it's an off-by-one error somewhere else that's propagating.
-
-2001-06-19  opaque_ndst <opaque_ndst>
-
-	* src/blocks/font.c: added [required] extra offset entry
-
-2001-06-19  opaque_ndst <opaque_ndst>
-
-	* src/blocks/character.c: added SWF_DEFINEFONT2 to
-	SWFCharacter_isBlock so that font block isn't destroyed by blocklist
-
-2001-06-17  raff <raff>
-
-	* util/decompile.c: same problem in the old decompiler
-
-2001-06-17  raff <raff>
-
-	* util/decompile5.c: one more call in call
-
-2001-06-17  raff <raff>
-
-	* util/decompile5.c: applying my changes to the old decompile module
-	(no pop() inside function calls) to this new version, so I can play
-	with it on Mac OSX :)
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* util/action.h: added various missed opcodes
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* util/listswf.c: cosmetic changes
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* util/Makefile: [no log message]
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* util/read.c: fixed goofo with string space allocing, hexdumping
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* util/decompile5.c: added the swf5 decompiler
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/compileaction.c,
-	src/actioncompiler/compiler.flex, src/actioncompiler/compiler.y,
-	src/actioncompiler/listaction.c, src/actioncompiler/main.c: added
-	Wolfgang Hamann's assorted patches: fixed error reporting, fixed
-	constant pool writing, numerous other small improvements
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* src/movie.c, src/movie.h: Added Wolfgang Hamann's library symbol
-	patches
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* src/blocktypes.h: added symbol export type
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* ming.h: added SWFMovie_addExport
-
-2001-06-15  opaque_ndst <opaque_ndst>
-
-	* perl_ext/Exports.c, perl_ext/Makefile.PL, perl_ext/SWF.xs: added
-	Wolfgang Hamann's changes- clip event handlers for the placeobject
-	tag, export symbols, the textfield html flag, and the
-	SWF::Ming::setScale function.
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/outputblock.c, src/blocks/outputblock.h,
-	src/blocks/swf.h: added Wolfgang Hamann's exportlist patches
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/loadfont.c: made name record large enough to hold
-	trailing '\0'.  oops.
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/font.c, src/blocks/font.h: added Wolfgang Hamann's
-	definefont2 patches allowing for wideoffset fonts
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/blocktypes.h: added export tag type
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/block.h: purely cosmetic
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/exports.h: a list of exported clip symbols
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c: added sloppy endianness code
-
-2001-06-14  opaque_ndst <opaque_ndst>
-
-	* src/blocks/sprite.c: fixed segv in completion of empty sprites
-
-2001-06-14  raff <raff>
-
-	* util/decompile.c: a bunch of fixes to make the ActionScript look
-	more like ActionScript :) - calling multiple pop() as parameters to a function is very bad,   because the C standard doesn't guarantee that they'll be called   in the order you expect. Most of the compilers push parameters   left to right, but gcc on Mac OSX has to be special!   In most of the places the pop() calls were already outside the   function calls, but a few of them didn't make it.  - SETPROPERTY wasn't correctly expanding the property name, as
-	  GETPROPERTY did - fixed a few things with strings - unknown opcodes stop the decompilation process, but ACTION_POP is
-	  a known opcode (don't know when Flash generates it, but it does!).    Still there are some cases where the decompilare get lost, mostly   after a POP, but I am not sure of what to do!
-
-2001-06-14  raff <raff>
-
-	* util/swftophp.c: the right type for DefineText2 is DEFINETEXT2 not
-	2
-
-2001-05-22  opaque_ndst <opaque_ndst>
-
-	* src/blocks/placeobject.c: Fixed memory leaks
-
-2001-05-22  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.flex, src/actioncompiler/compiler.y: 
-	Added Wolfgang Hamann's fixes, added a.i++ and a[i]++
-
-2001-05-21  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added request initializer,
-	moved Ming_init() call into it
-
-2001-05-21  jshore <jshore>
-
-	* java_ext/native/SWFAction.h, java_ext/native/SWFBitmap.h,
-	java_ext/native/SWFButton.h, java_ext/native/SWFDisplayItem.h,
-	java_ext/native/SWFFill.h, java_ext/native/SWFFont.h,
-	java_ext/native/SWFGradient.h, java_ext/native/SWFMorph.h,
-	java_ext/native/SWFMovie.h, java_ext/native/SWFMovieClip.h,
-	java_ext/native/SWFNative.cc, java_ext/native/SWFNative.h,
-	java_ext/native/SWFShape.h, java_ext/native/SWFSound.h,
-	java_ext/native/SWFText.h, java_ext/native/SWFTextField.h,
-	java_ext/native/SWFUtilities.h: new functionality
-
-2001-05-21  jshore <jshore>
-
-	* java_ext/Makefile: [no log message]
-
-2001-05-21  jshore <jshore>
-
-	* java_ext/README, java_ext/SWFAction.java,
-	java_ext/SWFActionI.java, java_ext/SWFBitmap.java,
-	java_ext/SWFBitmapI.java, java_ext/SWFButton.java,
-	java_ext/SWFButtonI.java, java_ext/SWFColor.java,
-	java_ext/SWFDimensionableI.java, java_ext/SWFDisplayItem.java,
-	java_ext/SWFDisplayItemI.java, java_ext/SWFException.java,
-	java_ext/SWFFill.java, java_ext/SWFFillI.java,
-	java_ext/SWFFont.java, java_ext/SWFFontI.java,
-	java_ext/SWFGradient.java, java_ext/SWFGradientI.java,
-	java_ext/SWFMatrix.java, java_ext/SWFMorph.java,
-	java_ext/SWFMorphI.java, java_ext/SWFMovie.java,
-	java_ext/SWFMovieClip.java, java_ext/SWFMovieClipI.java,
-	java_ext/SWFMovieI.java, java_ext/SWFObject.java,
-	java_ext/SWFObjectI.java, java_ext/SWFShape.java,
-	java_ext/SWFShapeI.java, java_ext/SWFSound.java,
-	java_ext/SWFSoundI.java, java_ext/SWFText.java,
-	java_ext/SWFTextField.java, java_ext/SWFTextFieldI.java,
-	java_ext/SWFTextI.java: new functionality & GC fixes
-
-2001-05-12  raff <raff>
-
-	* src/actioncompiler/compiler.y: oops, resolveJumps seems to now be
-	called bufferResolveJumps! (this is what happen when I make changes on one version, and check
-	in another ):
-
-2001-05-11  raff <raff>
-
-	* src/actioncompiler/compiler.y, src/actioncompiler/oldcompiler.y: 
-	This fixes a segment fault when compiling something like: 	for (;;) { 	    ...  	} In this case the conditional expression is NULL (since there isn't
-	one).  So, the code checks if the conditional expression is null and in
-	that case creates a new buffer and SKIP the code that generates the
-	conditional branch.
-
-2001-05-11  opaque_ndst <opaque_ndst>
-
-	* src/blocks/sprite.c: now adds trailing showFrame block to sprite
-	if it's not there
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h: added SWFDisplayItem_addAction
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* CHANGES, CREDITS, TODO: [no log message]
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* php_ext/Makefile: added static linkage to libdd.a w/ php_ming.so
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added
-	SWFDisplayItem::addAction
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/text_util.c: fixed descent/leading scaling
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.c: fixed line scaling
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/movieclip.h: added placeobject.h include
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/movie.c: changed default version to 5
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/displaylist.c, src/displaylist.h: added new placeobject2
-	handling
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added actioncompiler/assembler.?
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/swf.h: added placeobject functions
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/outputblock.c, src/blocks/outputblock.h: moved
-	placeobject2 stuff to placeobject.[ch]
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/output.c, src/blocks/output.h: added Jon Ribbens'
-	patches, made some other small fixes
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/action.c, src/blocks/action.h: yanked unused deprecated
-	action stuff
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/Makefile: added placeobject stuff
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/blocks/placeobject.c, src/blocks/placeobject.h: placeobject
-	stuff now a separate object
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/action.h, src/actioncompiler/compile.c,
-	src/actioncompiler/compile.h, src/actioncompiler/compiler.flex,
-	src/actioncompiler/compiler.y, src/actioncompiler/listaction.c,
-	src/actioncompiler/main.c: added new swf5 action compiler
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/assembler.c, src/actioncompiler/assembler.h: 
-	assembler support functions
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/Makefile: added assembler
-
-2001-05-09  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/oldcompiler.flex,
-	src/actioncompiler/oldcompiler.y: these are the old swf4 compiler
-	bits..
-
-2001-05-08  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/swf5compiler.y: moved this to compiler.y
-
-2001-05-07  jshore <jshore>
-
-	* java_ext/SWFAction.java, java_ext/SWFActionI.java,
-	java_ext/SWFBitmap.java, java_ext/SWFBitmapI.java,
-	java_ext/SWFButton.java, java_ext/SWFButtonI.java,
-	java_ext/SWFDisplayItem.java, java_ext/SWFDisplayItemI.java,
-	java_ext/SWFException.java, java_ext/SWFFill.java,
-	java_ext/SWFFillI.java, java_ext/SWFFont.java,
-	java_ext/SWFFontI.java, java_ext/SWFGradient.java,
-	java_ext/SWFGradientI.java, java_ext/SWFMorph.java,
-	java_ext/SWFMorphI.java, java_ext/SWFMovie.java,
-	java_ext/SWFMovieClip.java, java_ext/SWFMovieClipI.java,
-	java_ext/SWFMovieI.java, java_ext/SWFObject.java,
-	java_ext/SWFObjectI.java, java_ext/SWFShape.java,
-	java_ext/SWFShapeI.java, java_ext/SWFSound.java,
-	java_ext/SWFSoundI.java, java_ext/SWFText.java,
-	java_ext/SWFTextField.java, java_ext/SWFTextFieldI.java,
-	java_ext/SWFTextI.java, java_ext/Tests/Simple.java,
-	java_ext/Tests/SlideShow.java, java_ext/native/SWFAction.h,
-	java_ext/native/SWFBitmap.h, java_ext/native/SWFButton.h,
-	java_ext/native/SWFDisplayItem.h, java_ext/native/SWFFill.h,
-	java_ext/native/SWFFont.h, java_ext/native/SWFGradient.h,
-	java_ext/native/SWFMorph.h, java_ext/native/SWFMovie.h,
-	java_ext/native/SWFMovieClip.h, java_ext/native/SWFNative.cc,
-	java_ext/native/SWFNative.h, java_ext/native/SWFShape.h,
-	java_ext/native/SWFSound.h, java_ext/native/SWFText.h,
-	java_ext/native/SWFTextField.h, java_ext/native/SWFUtilities.h: 
-	spelling error
-
-2001-05-07  jshore <jshore>
-
-	* java_ext/README: information
-
-2001-05-07  jshore <jshore>
-
-	* java_ext/SWFAction.java, java_ext/SWFActionI.java,
-	java_ext/SWFBitmap.java, java_ext/SWFBitmapI.java,
-	java_ext/SWFButton.java, java_ext/SWFButtonI.java,
-	java_ext/SWFDisplayItem.java, java_ext/SWFDisplayItemI.java,
-	java_ext/SWFException.java, java_ext/SWFFill.java,
-	java_ext/SWFFillI.java, java_ext/SWFFont.java,
-	java_ext/SWFFontI.java, java_ext/SWFGradient.java,
-	java_ext/SWFGradientI.java, java_ext/SWFMorph.java,
-	java_ext/SWFMorphI.java, java_ext/SWFMovie.java,
-	java_ext/SWFMovieClip.java, java_ext/SWFMovieClipI.java,
-	java_ext/SWFMovieI.java, java_ext/SWFObject.java,
-	java_ext/SWFObjectI.java, java_ext/SWFShape.java,
-	java_ext/SWFShapeI.java, java_ext/SWFSound.java,
-	java_ext/SWFSoundI.java, java_ext/SWFText.java,
-	java_ext/SWFTextField.java, java_ext/SWFTextFieldI.java,
-	java_ext/SWFTextI.java, java_ext/Tests/Simple.java,
-	java_ext/Tests/SlideShow.java, java_ext/native/Makefile,
-	java_ext/native/SWFAction.h, java_ext/native/SWFBitmap.h,
-	java_ext/native/SWFButton.h, java_ext/native/SWFDisplayItem.h,
-	java_ext/native/SWFFill.h, java_ext/native/SWFFont.h,
-	java_ext/native/SWFGradient.h, java_ext/native/SWFMorph.h,
-	java_ext/native/SWFMovie.h, java_ext/native/SWFMovieClip.h,
-	java_ext/native/SWFNative.cc, java_ext/native/SWFNative.h,
-	java_ext/native/SWFShape.h, java_ext/native/SWFSound.h,
-	java_ext/native/SWFText.h, java_ext/native/SWFTextField.h,
-	java_ext/native/SWFUtilities.h: new java extension
-
-2001-05-07  jshore <jshore>
-
-	* java_ext/Makefile: [no log message]
-
-2001-05-05  opaque_ndst <opaque_ndst>
-
-	* src/blocks/output.c: added John Ribbens' fixes
-
-2001-04-20  opaque_ndst <opaque_ndst>
-
-	* mingpp.h: fixed confusion about input, added SWFSound constructor
-	from SWFInput
-
-2001-04-14  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.c: got rid of deprecated lineToRelative crap in
-	drawCharacterBounds
-
-2001-04-14  opaque_ndst <opaque_ndst>
-
-	* src/movie.c: fixed scaling in automagic bitmap shapifying
-
-2001-04-14  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c: fixed stuff.  made it work.  yep.
-
-2001-04-14  opaque_ndst <opaque_ndst>
-
-	* CHANGES: [no log message]
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/input.c: fixed typo
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h, php_ext/ming.c, src/blocks/input.c,
-	src/blocks/input.h, src/blocks/swf.h: added hacky
-	SWFInput_allocedBuffer nonsense
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* CHANGES: [no log message]
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/input.c: buffer input now frees buffer.  I don't like
-	it, but I can't see any way around it..
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/dbl.c: fixed stupid typo
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/jpeg.h: moved typedef above includes
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/input.c: forgot to inc offset on buffer's getChar.
-	oops.
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/error.h: added a little note..
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/dbl.c, src/blocks/dbl.h: added SWFInput interfaces
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/bitmap.c, src/blocks/bitmap.h, src/blocks/swf.h: added
-	newSWFBitmap_fromInput
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/ming.h, src/shape_util.h: moved setScale/Threshold over to
-	ming.h, added seterror/warn to ming.h
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* src/ming.c: added seterror/warn functions
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* php_ext/Makefile, php_ext/ming.c, php_ext/php_ming.h: added new
-	SWFInput stuff
-
-2001-04-13  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h: fixed version number, added seterror/warn
-	functions, SWFBitmap_fromInput
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* c++_ext/README, c++_ext/test.cpp: updated to match new code
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* py_ext/Makefile, py_ext/ming.py: updated for new stuff
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* CHANGES, CREDITS, Makefile, TODO, ming.i: [no log message]
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/test.c: random changes.  like it matters, anyway.  whatever.
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/ming.h: added global extern crap
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/libming.h: ifdef wrapper for unistd.h
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/movie.c: added SWFMovie_add(SWFBitmap) automagic shape
-	wrapping convenience code
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added fill.o
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/blocklist.c, src/blocklist.h, src/displaylist.c,
-	src/displaylist.h, src/movie.h, src/movieclip.c, src/movieclip.h,
-	src/position.c, src/position.h, src/text_util.c, src/text_util.h: 
-	changed 2000 to 2001
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.c, src/shape_util.h: removed annoying inline
-	functions, added
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/fill.c, src/fill.h: removed the annoying inline functions
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compile.c, src/actioncompiler/compile.h,
-	src/actioncompiler/compileaction.c, src/actioncompiler/main.c: small
-	tweaks to make things compile easier under windows
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/swf5compiler.y: first steps toward a flash 5
-	compiler.. still not really working
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/Makefile, src/blocks/action.c, src/blocks/action.h,
-	src/blocks/bitmap.c, src/blocks/bitmap.h, src/blocks/block.c,
-	src/blocks/block.h, src/blocks/blocktypes.h,
-	src/blocks/browserfont.c, src/blocks/browserfont.h,
-	src/blocks/button.c, src/blocks/button.h, src/blocks/character.c,
-	src/blocks/character.h, src/blocks/cxform.c, src/blocks/cxform.h,
-	src/blocks/fillstyle.c, src/blocks/fillstyle.h, src/blocks/font.c,
-	src/blocks/font.h, src/blocks/fontinfo.c, src/blocks/fontinfo.h,
-	src/blocks/gradient.c, src/blocks/gradient.h, src/blocks/libswf.h,
-	src/blocks/linestyle.c, src/blocks/linestyle.h,
-	src/blocks/loadfont.c, src/blocks/matrix.c, src/blocks/matrix.h,
-	src/blocks/method.c, src/blocks/method.h, src/blocks/morph.c,
-	src/blocks/morph.h, src/blocks/output.c, src/blocks/output.h,
-	src/blocks/outputblock.c, src/blocks/outputblock.h,
-	src/blocks/rect.c, src/blocks/rect.h, src/blocks/shape.c,
-	src/blocks/shape.h, src/blocks/sound.c, src/blocks/sound.h,
-	src/blocks/sprite.c, src/blocks/sprite.h, src/blocks/swf.h,
-	src/blocks/text.c, src/blocks/text.h, src/blocks/textfield.c,
-	src/blocks/textfield.h, src/blocks/ttffont.c, src/blocks/ttffont.h: 
-	changed 2000 to 2001
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/dbl.c, src/blocks/dbl.h, src/blocks/jpeg.c,
-	src/blocks/jpeg.h, src/blocks/mp3.c, src/blocks/soundstream.c,
-	src/blocks/soundstream.h: updated to use SWFInput object
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/error.c, src/blocks/error.h: new flexible error methods
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/input.c, src/blocks/input.h: new datasource abstraction
-	thingy
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* perl_ext/Changes, perl_ext/Exports.c, perl_ext/MANIFEST,
-	perl_ext/Makefile.PL, perl_ext/README, perl_ext/SWF.pm,
-	perl_ext/SWF.xs, perl_ext/TODO, perl_ext/perl_swf.h,
-	perl_ext/typemap: first include
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* ming.h, mingpp.h: hey, here's the new header files..
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* c++_ext/ming.h: moved to ../mingpp.h
-
-2001-04-12  opaque_ndst <opaque_ndst>
-
-	* util/png2dbl.c: added byteorder fix
-
-2001-03-22  opaque_ndst <opaque_ndst>
-
-	* src/blocks/text.c: now carries height from one record to the next
-	when you addString, setColor, etc.
-
-2001-03-17  opaque_ndst <opaque_ndst>
-
-	* php_ext/Makefile: replaced include nonsense with `php-config
-	--includes`
-
-2001-03-17  opaque_ndst <opaque_ndst>
-
-	* py_ext/Makefile: changed to static linkage with libming
-
-2001-03-17  opaque_ndst <opaque_ndst>
-
-	* CHANGES, README, TODO: [no log message]
-
-2001-03-17  opaque_ndst <opaque_ndst>
-
-	* src/ming.h: fixed version number
-
-2001-03-17  opaque_ndst <opaque_ndst>
-
-	* Makefile: fixed ln so ming.h gets installed
-
-2001-03-16  opaque_ndst <opaque_ndst>
-
-	* perl_ext/Makefile, perl_ext/ming_wrap.c, perl_ext/ming_wrap.doc,
-	perl_ext/mingc.pm, perl_ext/sample.pl: replaced with soheil's XS
-	module
-
-2001-03-13  opaque_ndst <opaque_ndst>
-
-	* src/blocks/text.c: removed superfluous textrecord 0/1 type
-	jostling as per Raff's investigative elucidations.
-
-2001-03-13  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.flex, src/actioncompiler/compiler.y: 
-	added Raff's getURL1 function
-
-2001-03-13  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.h: yanked SWFShape_drawGlyph
-
-2001-03-13  opaque_ndst <opaque_ndst>
-
-	* ming.h: changed SWFFont_getStringWidth return to float
-
-2001-03-13  opaque_ndst <opaque_ndst>
-
-	* ming.h, ming.i, src/blocks/font.c, src/blocks/font.h,
-	src/blocks/shape.c, src/blocks/shape.h, src/blocks/swf.h: changed
-	drawGlyph arg to unsigned char so 8-bit character codes work
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/textfield.h: fixed offbits to allow for
-	SWFTEXTFIELD_HTML
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* util/listmp3.c, util/listswf.c: added frameLen tweak
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* util/read.c: removed damn assert(0) to quell dumping
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* py_ext/ming.py: added Ming_setScale, Ming_setCubicThreshold, and
-	flags arg to SWFTextField()
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c, php_ext/php_ming.h: added Ming_setScale, changed
-	scalar args to floats
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* ming.h, ming.i: changed scalar args to floats, cleaned out some
-	non-public functions
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* TODO: [no log message]
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/blocklist.c, src/movie.c, src/movie.h: changed malloc/memset
-	to calloc, changed scalar args to floats and added scaling code
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/ming.c: added Ming_setScale, moved Ming_setCubicThreshold here
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/fill.h, src/position.c, src/position.h: changed scalar args to
-	floats, adding scaling code
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/displaylist.c, src/displaylist.h: include [empty] matrix for
-	items left at (0,0)- some things don't seem to show up otherwise
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/shape_util.c, src/shape_util.h: wrapped all metric-related
-	functions with scaled versions
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/Makefile: added text_util
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/block.c, src/blocks/browserfont.c,
-	src/blocks/button.c, src/blocks/character.c, src/blocks/cxform.c,
-	src/blocks/dbl.c, src/blocks/fontinfo.c, src/blocks/gradient.c,
-	src/blocks/jpeg.c, src/blocks/loadfont.c, src/blocks/matrix.c,
-	src/blocks/morph.c, src/blocks/output.c, src/blocks/outputblock.c,
-	src/blocks/rect.c, src/blocks/sound.c, src/blocks/sprite.c: changed
-	malloc/memset to calloc, assigning NULL to pointers manually now for
-	portability's sake
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/mp3.c, src/blocks/soundstream.c: tweaked mp3 frame size
-	calculation, seems to be more compatible
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/read.c, src/blocks/shape.c, src/blocks/shape.h: added
-	"scaled" to metric-related function names, moved cubic bezier and
-	glyph drawing code down here
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/blocks/font.c, src/blocks/font.h, src/blocks/swf.h,
-	src/blocks/text.c, src/blocks/text.h, src/blocks/textfield.c,
-	src/blocks/textfield.h: added "scaled" to all metric-related
-	function names
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/read.c: moved down to blocks along with drawGlyph
-
-2001-03-12  opaque_ndst <opaque_ndst>
-
-	* src/text_util.c, src/text_util.h: scales text/font/textfield
-	metrics by Ming_scale
-
-2001-03-07  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.c: fixed stupid setLineSpacing/setIndentation mistake
-	and goof in streamMp3(FILE *)
-
-2001-03-05  opaque_ndst <opaque_ndst>
-
-	* src/blocks/output.c: writeString now stops on null, not on < 0, so
-	we can output 8-bit chars.  oops.
-
-2001-03-05  opaque_ndst <opaque_ndst>
-
-	* py_ext/ming.py: saved a reference to font in SWFTextField::setFont
-	so that it doesn't get freed if you do t.setFont(SWFFont("boink"))
-
-2001-02-27  opaque_ndst <opaque_ndst>
-
-	* src/blocks/shape.c: added check for adding empty line/curve
-
-2001-02-26  opaque_ndst <opaque_ndst>
-
-	* py_ext/Makefile: added ming.pyc to make clean
-
-2001-02-22  raff <raff>
-
-	* util/makefdb.c, util/read.c, util/read.h: Ming currently doesn't
-	support wide-character fonts, but maybe we don't want to abort the
-	program run, since there may be other fonts we want to extract.  The "fix" is quite an hack: let the program do whatever it normally
-	does, but at the end remove the file, to avoid that using it may
-	crash the library.
-
-2001-02-21  opaque_ndst <opaque_ndst>
-
-	* TODO: added automatic bitmap-to-shape
-
-2001-02-21  opaque_ndst <opaque_ndst>
-
-	* py_ext/Makefile: added dependency on ../libming.a for
-	mingcmodule.so
-
-2001-02-21  opaque_ndst <opaque_ndst>
-
-	* py_ext/.cvsignore: added ming.pyc
-
-2001-02-21  opaque_ndst <opaque_ndst>
-
-	* src/blocks/text.c: check for string == NULL before strlen
-
-2001-02-21  opaque_ndst <opaque_ndst>
-
-	* src/blocks/dbl.c: Now grabs width and height from dbl file!
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* py_ext/.cvsignore: added ming_wrap.c and ming_wrap.doc
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* py_ext/ming_wrap.c, py_ext/ming_wrap.doc: removed swig-generated
-	files
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* util/swftophp.c: added indent arg to decompileAction calls
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/.cvsignore: added test
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* ming.h, ming.i, src/movie.h: added -1 return from SWFMovie_save if
-	named file doesn't exist
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* ming_wrap.c: removed generated file
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* .cvsignore: added ming_wrap.c generated file
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* .cvsignore, c++_ext/.cvsignore, perl_ext/.cvsignore,
-	php_ext/.cvsignore, py_ext/.cvsignore, rb_ext/.cvsignore,
-	src/.cvsignore, src/actioncompiler/.cvsignore,
-	src/blocks/.cvsignore: Dave learns what .cvsignore files are for
-
-2001-02-17  opaque_ndst <opaque_ndst>
-
-	* util/.cvsignore: Dave discovers what .cvsignore files are for..
-
-2001-02-16  opaque_ndst <opaque_ndst>
-
-	* php_ext/Makefile: Fixed botched CFILES define.  oops.
-
-2001-02-15  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/.cvsignore: added generated files lex.yy.c
-	compiler.tab.c compiler.tab.h
-
-2001-02-15  opaque_ndst <opaque_ndst>
-
-	* src/actioncompiler/compiler.tab.c,
-	src/actioncompiler/compiler.tab.h, src/actioncompiler/lex.yy.c: 
-	removed bison/flex-generated files
-
-2001-02-15  opaque_ndst <opaque_ndst>
-
-	* src/movie.c, src/movie.h: added SWFMovie_addBlock at Adam
-	Cohen-Rose's suggestion.  This helps reduce movie's dependency on
-	blockList.
-
-2001-02-12  opaque_ndst <opaque_ndst>
-
-	* php_ext/ming.dsp: MS dev studio project file.  From php's ext/ming
-
-2001-02-08  opaque_ndst <opaque_ndst>
-
-	* php_ext/config.m4: Changed withval to PHP_MING as to not hose the
-	php build
-
-2001-02-08  opaque_ndst <opaque_ndst>
-
-	* Makefile: Changed to "install" method for RPM sake
-
-2001-02-01  opaque_ndst <opaque_ndst>
-
-	* Initial revision
-
diff --git a/Makefile.am b/Makefile.am
index 72afc24..e0628bd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -67,3 +67,6 @@ DISTCLEANFILES = ming- at VERSION@* ming.spec COPYING
 
 ChangeLog Changelog:
 	cd $(srcdir) && git2cl > ChangeLog 
+
+# alias to make travis config easier
+test: check
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index 0d8031a..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,899 +0,0 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
-    esac; \
-    test $$am__dry = yes; \
-  }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
- at BUILD_PERL_EXTENSION_FALSE@am__append_1 = perl_ext
- at BUILD_PHP_EXTENSION_FALSE@am__append_2 = php_ext
- at BUILD_PYTHON_EXTENSION_FALSE@am__append_3 = py_ext
- at BUILD_TCL_EXTENSION_FALSE@am__append_4 = tcl_ext
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \
-	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/ming.spec.in $(top_srcdir)/configure AUTHORS COPYING \
-	ChangeLog INSTALL NEWS TODO config/compile config/config.guess \
-	config/config.sub config/depcomp config/install-sh \
-	config/ltmain.sh config/missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \
-	$(top_srcdir)/macros/ltoptions.m4 \
-	$(top_srcdir)/macros/ltsugar.m4 \
-	$(top_srcdir)/macros/ltversion.m4 \
-	$(top_srcdir)/macros/lt~obsolete.m4 \
-	$(top_srcdir)/macros/python.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/src/ming_config.h
-CONFIG_CLEAN_FILES = ming.spec
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-am__include_HEADERS_DIST = mingpp.h
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(includedir)"
-HEADERS = $(include_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-	distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  if test -d "$(distdir)"; then \
-    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-      && rm -rf "$(distdir)" \
-      || { sleep 5 && rm -rf "$(distdir)"; }; \
-  else :; fi
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).zip
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_LIBS = @FREETYPE_LIBS@
-GIFLIB = @GIFLIB@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTERFACE_AGE = @INTERFACE_AGE@
-INTERFACE_CURRENT = @INTERFACE_CURRENT@
-INTERFACE_REVISION = @INTERFACE_REVISION@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LEX = @LEX@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAJOR_VERSION = @MAJOR_VERSION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MATHLIB = @MATHLIB@
-MICRO_VERSION = @MICRO_VERSION@
-MING_VERSION = @MING_VERSION@
-MINOR_VERSION = @MINOR_VERSION@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PHP = @PHP@
-PHPIZE = @PHPIZE@
-PNGLIB = @PNGLIB@
-PYTHON = @PYTHON@
-PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
-PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
-PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
-PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
-PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHCFLAGS = @SHCFLAGS@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TCL = @TCL@
-TCL_INC_DIR = @TCL_INC_DIR@
-TCL_LIB_DIR = @TCL_LIB_DIR@
-VERSION = @VERSION@
-XLIB = @XLIB@
-YACC = @YACC@
-ZLIB = @ZLIB@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-ft_config = @ft_config@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# NOTES on automake requirements:
-#
-# Testing and patching scripts as of Tue Jul 11 00:00:27 CEST 2006 we got:
-#
-#	automake 1.5 is known to work
-#       automake 1.4-p6 is known *NOT* to work 
-#
-# Original automake contributor (David Schleef <ds at schleef.org>) set 
-# requirement to 1.4d, but we didn't check it
-#
-AUTOMAKE_OPTIONS = foreign dist-bzip2 dist-zip 1.4d
-ACLOCAL_AMFLAGS = -I macros
-additionnal_dist_subdirs = $(am__append_1) $(am__append_2) \
-	$(am__append_3) $(am__append_4)
- at BUILD_PERL_EXTENSION_TRUE@PERLSUBDIR = perl_ext
- at BUILD_PHP_EXTENSION_TRUE@PHPSUBDIR = php_ext
- at BUILD_PYTHON_EXTENSION_TRUE@PYSUBDIR = py_ext
- at BUILD_TCL_EXTENSION_TRUE@TCLSUBDIR = tcl_ext
-SUBDIRS = \
-        src	\
-	$(PERLSUBDIR) \
-	$(PHPSUBDIR) \
-	$(PYSUBDIR) \
-	$(TCLSUBDIR) \
-	util	\
-	docs	\
-	macros	\
-	test
-
-DIST_SUBDIRS = $(SUBDIRS) $(additionnal_dist_subdirs)
- at USE_CXX_TRUE@include_HEADERS = mingpp.h
-EXTRA_DIST = ming.spec ming.spec.in ming.i COPYING LICENSE LICENSE_GPL2 \
-	autogen.sh HISTORY
-
-DISTCLEANFILES = ming- at VERSION@* ming.spec COPYING
-all: all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
-	@:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    echo ' $(SHELL) ./config.status'; \
-	    $(SHELL) ./config.status;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	$(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	$(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-ming.spec: $(top_builddir)/config.status $(srcdir)/ming.spec.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool config.lt
-install-includeHEADERS: $(include_HEADERS)
-	@$(NORMAL_INSTALL)
-	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
-	done
-
-uninstall-includeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	$(am__remove_distdir)
-	test -d "$(distdir)" || mkdir "$(distdir)"
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    $(am__make_dryrun) \
-	      || test -d "$(distdir)/$$subdir" \
-	      || $(MKDIR_P) "$(distdir)/$$subdir" \
-	      || exit 1; \
-	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-	    $(am__relativize); \
-	    new_distdir=$$reldir; \
-	    dir1=$$subdir; dir2="$(top_distdir)"; \
-	    $(am__relativize); \
-	    new_top_distdir=$$reldir; \
-	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-	    ($(am__cd) $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$new_top_distdir" \
-	        distdir="$$new_distdir" \
-		am__remove_distdir=: \
-		am__skip_length_check=: \
-		am__skip_mode_fix=: \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-	-test -n "$(am__skip_mode_fix)" \
-	|| find "$(distdir)" -type d ! -perm -755 \
-		-exec chmod u+rwx,go+rx {} \; -o \
-	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
-dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
-
-dist-lzip: distdir
-	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-	$(am__remove_distdir)
-
-dist-lzma: distdir
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	$(am__remove_distdir)
-
-dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-	$(am__remove_distdir)
-
-dist-tarZ: distdir
-	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
-
-dist-shar: distdir
-	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
-dist-zip: distdir
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
-
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-	case '$(DIST_ARCHIVES)' in \
-	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-	*.tar.bz2*) \
-	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.lzma*) \
-	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-	*.tar.lz*) \
-	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-	*.tar.xz*) \
-	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-	*.tar.Z*) \
-	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-	*.zip*) \
-	  unzip $(distdir).zip ;;\
-	esac
-	chmod -R a-w $(distdir); chmod u+w $(distdir)
-	mkdir $(distdir)/_build
-	mkdir $(distdir)/_inst
-	chmod a-w $(distdir)
-	test -d $(distdir)/_build || exit 0; \
-	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
-	  && $(MAKE) $(AM_MAKEFLAGS) check \
-	  && $(MAKE) $(AM_MAKEFLAGS) install \
-	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-	        distuninstallcheck \
-	  && chmod -R a-w "$$dc_install_base" \
-	  && ({ \
-	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
-	  && rm -rf "$$dc_destdir" \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist \
-	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-	  && cd "$$am__cwd" \
-	  || exit 1
-	$(am__remove_distdir)
-	@(echo "$(distdir) archives ready for distribution: "; \
-	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-	@test -n '$(distuninstallcheck_dir)' || { \
-	  echo 'ERROR: trying to run $@ with an empty' \
-	       '$$(distuninstallcheck_dir)' >&2; \
-	  exit 1; \
-	}; \
-	$(am__cd) '$(distuninstallcheck_dir)' || { \
-	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-	  exit 1; \
-	}; \
-	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-	   || { echo "ERROR: files left after uninstall:" ; \
-	        if test -n "$(DESTDIR)"; then \
-	          echo "  (check DESTDIR support)"; \
-	        fi ; \
-	        $(distuninstallcheck_listfiles) ; \
-	        exit 1; } >&2
-distcleancheck: distclean
-	@if test '$(srcdir)' = . ; then \
-	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-	  exit 1 ; \
-	fi
-	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-	  || { echo "ERROR: files left in build directory after distclean:" ; \
-	       $(distcleancheck_listfiles) ; \
-	       exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(HEADERS)
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(includedir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
-	distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-includeHEADERS
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-includeHEADERS
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-	install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean clean-generic \
-	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
-	dist-zip distcheck distclean distclean-generic \
-	distclean-libtool distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-	uninstall uninstall-am uninstall-includeHEADERS
-
-
-COPYING: LICENSE
-	ln -fs $(srcdir)/LICENSE COPYING
-
-.PHONY: rpm ChangeLog
-rpm: dist
-	rpmbuild -ta ming- at VERSION@.tar.gz
-
-ChangeLog Changelog:
-	cd $(srcdir) && git2cl > ChangeLog 
-
-# 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
index 0bffbd1..3b9c21c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+0.4.6 - 2015-05-14
+
+	* Add support for building against giflib 5.1.1+ (PR #47).
+	* Fix support for bison 2.6+ (Issue #38, PR #40).
+	* Fix build on GNU/Hurd (PR #39).
+	* Fix possible buffer overflow in makeswf
+	* Change php bindings license from PHP to LGPL-2.1+ (Issue #42)
+	* Fix build of python binding with libgif (rather than libungif)
+
 0.4.5 - 2013-06-08
 
 	* Fix a build problem with perl module and Perl 5.13.10 (Debian package patch 07)
diff --git a/README b/README
index 355f59d..37078c0 100644
--- a/README
+++ b/README
@@ -1,7 +1,10 @@
 
 MING THE MODULE
 
-Last updated 14th January 2008.
+[![Build Status](http://travis-ci.org/libming/libming.png)]
+(http://travis-ci.org/libming/libming)
+
+Last updated 09th January 2014.
 
 Ming is a Flash (SWF) output library.  It can be used from PHP, Perl,
 Ruby, Python, C, C++, Java, and probably more on the way.
diff --git a/README.md b/README.md
new file mode 120000
index 0000000..100b938
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+README
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644
index e7d395d..0000000
--- a/aclocal.m4
+++ /dev/null
@@ -1,1121 +0,0 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.6], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-			     [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
-       [enable], [m4_define([am_maintainer_other], [disable])],
-       [disable], [m4_define([am_maintainer_other], [enable])],
-       [m4_define([am_maintainer_other], [enable])
-        m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
-  AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
-  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
-  MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes.	            -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
-   [am_cv_make_support_nested_variables],
-   [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
-  dnl Using `$V' instead of `$(V)' breaks IRIX make.
-  AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
-     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([macros/libtool.m4])
-m4_include([macros/ltoptions.m4])
-m4_include([macros/ltsugar.m4])
-m4_include([macros/ltversion.m4])
-m4_include([macros/lt~obsolete.m4])
-m4_include([macros/python.m4])
diff --git a/c++_ext/.gitignore b/c++_ext/.gitignore
new file mode 100644
index 0000000..bdd00a7
--- /dev/null
+++ b/c++_ext/.gitignore
@@ -0,0 +1 @@
+.AppleDouble
diff --git a/c++_ext/Makefile b/c++_ext/Makefile
new file mode 100755
index 0000000..a23ee6f
--- /dev/null
+++ b/c++_ext/Makefile
@@ -0,0 +1,11 @@
+include ../Makefile.config
+
+CFLAGS += -I..
+
+all: test
+
+test:
+	$(CXX) $(CFLAGS) $(LDFLAGS) test.cpp ../libming.a -o test $(LIBS)
+
+clean:
+	rm -f test.o test
diff --git a/c++_ext/README b/c++_ext/README
new file mode 100644
index 0000000..540155a
--- /dev/null
+++ b/c++_ext/README
@@ -0,0 +1,9 @@
+
+The c++ wrapper lets you use objects in more or less the same way you would
+with PHP or Python.  Just #include <mingpp.h> and you've got handy c++ objects
+instead of c structs.  The mingpp.h file is one level up.  It gets copied to
+the same place as ming.h when you do make install.
+
+That is all.
+
+-D
diff --git a/c++_ext/test.cpp b/c++_ext/test.cpp
new file mode 100755
index 0000000..c60bf44
--- /dev/null
+++ b/c++_ext/test.cpp
@@ -0,0 +1,21 @@
+
+#include <mingpp.h>
+
+int main()
+{
+  Ming_init();
+
+  SWFMovie *movie = new SWFMovie();
+  SWFShape *shape = new SWFShape();
+
+  shape->setLine(20, 0, 0, 0);
+  shape->movePenTo(100,100);
+  shape->drawLine(100,0);
+  shape->drawLine(0,100);
+  shape->drawLine(-100,0);
+  shape->drawLine(0,-100);
+
+  movie->add(shape);
+
+  movie->output();
+}
diff --git a/ch/Makefile b/ch/Makefile
new file mode 100644
index 0000000..b3e39c4
--- /dev/null
+++ b/ch/Makefile
@@ -0,0 +1,14 @@
+PACKAGE = chming
+
+create:
+	ch ./pkgcreate.ch
+install:
+	ch pkginstall.ch $(PACKAGE)
+uninstall:
+	ch pkginstall.ch -u $(PACKAGE)
+rmpkg:
+	rm -rf $(PACKAGE)
+clean:
+	rm -f  c/*.c
+	rm -f  chfcreate/*.h
+	cd c;  make clean
diff --git a/ch/c/Make.inc b/ch/c/Make.inc
new file mode 100644
index 0000000..d1e271b
--- /dev/null
+++ b/ch/c/Make.inc
@@ -0,0 +1,40 @@
+###################################################################### 
+#
+# Makefile fo building the dynamically loaded lib libming.dl
+# 
+###################################################################### 
+
+###################################################################### 
+# Variables
+
+LIB_NAME = libming
+TARGET = $(LIB_NAME).dl
+LNK    = ch dllink $(TARGET)
+CC     = ch dlcomp $(TARGET)
+
+######################################################################
+# Objects 
+
+OBJS  =  ming_chdl.$(OBJ)
+OBJS2 =  SWFMovie_output_chdl.$(OBJ) \
+         Ming_setWarnFunction_chdl.$(OBJ) \
+         Ming_setErrorFunction_chdl.$(OBJ)
+
+######################################################################
+# Targets
+
+all: $(TARGET)
+
+$(TARGET):  $(OBJS) $(OBJS2)
+	$(LNK) $(OBJS) $(OBJS2) $(LFLAGS)
+
+$(OBJS): 
+	$(CC) $(CFLAGS) -c $*.c $(IFLAGS)
+
+$(OBJS2): 
+	$(CC) $(CFLAGS) -c handmade/$*.c $(IFLAGS)
+
+clean:
+	rm -f *.o *.obj *.a *.dll *.exp *.lib logfile
+
+######################################################################
diff --git a/ch/c/Makefile b/ch/c/Makefile
new file mode 100644
index 0000000..3ec8baf
--- /dev/null
+++ b/ch/c/Makefile
@@ -0,0 +1,23 @@
+###################################################################### 
+#
+# Unix Makefile for building the dynamically loaded lib libming.dl
+# 
+###################################################################### 
+
+
+###################################################################### 
+# Unix Specific Variables
+###################################################################### 
+
+OBJ    = o
+IFLAGS = -I../../src/ 
+# If libgif or libpng were not used during the compilation of libming,
+# please remove it from the following line
+LFLAGS = -L../.. -L/sw/lib -lming -lgif -lpng -lz
+
+
+###################################################################### 
+# Include Make.inc
+###################################################################### 
+
+include Make.inc
diff --git a/ch/c/Makefile.win b/ch/c/Makefile.win
new file mode 100644
index 0000000..141b403
--- /dev/null
+++ b/ch/c/Makefile.win
@@ -0,0 +1,23 @@
+###################################################################### 
+#
+# Makefile fo building the dynamically loaded lib libming.dl
+# 
+###################################################################### 
+
+###################################################################### 
+# Windows Specific Variables
+###################################################################### 
+
+OBJ    = obj
+IFLAGS = -I ../../src
+
+# If libgif or libpng is not available, remove it from the following line
+LFLAGS = ../../win32/release/libming.lib ../../zlib/zlib.lib ../../libpng/libpng.lib #../../libgif/libgif.lib
+
+CFLAGS = /MD /nologo
+
+
+###################################################################### 
+# Include Make.inc
+###################################################################### 
+include Make.inc
diff --git a/ch/c/handmade/Ming_setErrorFunction_chdl.c b/ch/c/handmade/Ming_setErrorFunction_chdl.c
new file mode 100644
index 0000000..ab73120
--- /dev/null
+++ b/ch/c/handmade/Ming_setErrorFunction_chdl.c
@@ -0,0 +1,7 @@
+#include <ming.h>
+#include <ch.h>
+#include <stdio.h>
+
+EXPORTCH void Ming_setErrorFunction_chdl(void *varg) {
+   printf("ChMing V2.0.0: Ming_setErrorFunction() is not available in this version\n");
+}
diff --git a/ch/c/handmade/Ming_setWarnFunction_chdl.c b/ch/c/handmade/Ming_setWarnFunction_chdl.c
new file mode 100644
index 0000000..bb5021f
--- /dev/null
+++ b/ch/c/handmade/Ming_setWarnFunction_chdl.c
@@ -0,0 +1,7 @@
+#include <ming.h>
+#include <ch.h>
+#include <stdio.h>
+
+EXPORTCH void Ming_setWarnFunction_chdl(void *varg) {
+   printf("ChMing V2.0.0: Ming_setWarnFunction() is not available in this version\n");
+}
diff --git a/ch/c/handmade/SWFMovie_output_chdl.c b/ch/c/handmade/SWFMovie_output_chdl.c
new file mode 100644
index 0000000..125809a
--- /dev/null
+++ b/ch/c/handmade/SWFMovie_output_chdl.c
@@ -0,0 +1,34 @@
+#include <ming.h>
+#include <ch.h>
+
+static ChInterp_t interp;
+static void *fileOutputMethod_funptr;
+static void fileOutputMethod_funarg(byte b, void *data);
+
+EXPORTCH int SWFMovie_output_chdl(void *varg) {
+    va_list ap;
+    SWFMovie movie;
+    SWFByteOutputMethod method;
+    void *data;
+  //  int level;
+    int retval;
+
+    Ch_VaStart(interp, ap, varg);
+    movie = Ch_VaArg(interp, ap, SWFMovie);
+    method = Ch_VaArg(interp, ap, SWFByteOutputMethod);
+    if(method != NULL)
+    {
+       fileOutputMethod_funptr = (void *)method;
+       method = (SWFByteOutputMethod)fileOutputMethod_funarg;
+    }
+    data = Ch_VaArg(interp, ap, void *);
+    /* level = Ch_VaArg(interp, ap, int); */
+    retval = SWFMovie_output(movie, method, data); //, level);
+    Ch_VaEnd(interp, ap);
+    return retval;
+}
+
+static void fileOutputMethod_funarg(byte b, void *data)
+{
+    Ch_CallFuncByAddr(interp, fileOutputMethod_funptr, NULL, b, data);
+}
diff --git a/ch/chfhandmade/Ming_setErrorFunction.chf b/ch/chfhandmade/Ming_setErrorFunction.chf
new file mode 100644
index 0000000..fc0f25b
--- /dev/null
+++ b/ch/chfhandmade/Ming_setErrorFunction.chf
@@ -0,0 +1,10 @@
+void Ming_setErrorFunction(void *func)
+    void *fptr;
+
+    fptr = dlsym(_Chming_handle, "Ming_setErrorFunction_chdl");
+    if(fptr == NULL) {
+        fprintf(_stderr, "Error: %s(): dlsym(): %s\n", __func__,  dlerror());
+        return;
+    }
+    dlrunfun(fptr, NULL, Ming_setErrorFunction, NULL);
+}
diff --git a/ch/chfhandmade/Ming_setWarnFunction.chf b/ch/chfhandmade/Ming_setWarnFunction.chf
new file mode 100644
index 0000000..7b04135
--- /dev/null
+++ b/ch/chfhandmade/Ming_setWarnFunction.chf
@@ -0,0 +1,10 @@
+void Ming_setWarnFunction(void *func)
+    void *fptr;
+
+    fptr = dlsym(_Chming_handle, "Ming_setWarnFunction_chdl");
+    if(fptr == NULL) {
+        fprintf(_stderr, "Error: %s(): dlsym(): %s\n", __func__,  dlerror());
+        return;
+    }
+    dlrunfun(fptr, NULL, Ming_setWarnFunction, NULL);
+}
diff --git a/ch/chfhandmade/SWFMovie_output.chf b/ch/chfhandmade/SWFMovie_output.chf
new file mode 100644
index 0000000..ca66ec2
--- /dev/null
+++ b/ch/chfhandmade/SWFMovie_output.chf
@@ -0,0 +1,13 @@
+int SWFMovie_output(SWFMovie movie, SWFByteOutputMethod method, void *data){
+    //, int level) {
+    void *fptr;
+    int retval;
+
+    fptr = dlsym(_Chming_handle, "SWFMovie_output_chdl");
+    if(fptr == NULL) {
+        fprintf(_stderr, "Error: %s(): dlsym(): %s\n", __func__,  dlerror());
+        return -1;
+    }
+    dlrunfun(fptr, &retval, SWFMovie_output, movie, method, data); //, level);
+    return retval;
+}
diff --git a/ch/demos/action.c b/ch/demos/action.c
new file mode 100755
index 0000000..84fc8ae
--- /dev/null
+++ b/ch/demos/action.c
@@ -0,0 +1,60 @@
+
+#include <ming.h> /* Header files and some helping functions */
+
+int main(int argc, char *argv[])
+{
+   /* some typical movie variables */
+   SWFMovie movie;
+   SWFShape s;
+   SWFFill f;
+   SWFMovieClip p; // and not SWFSprite p ;
+   SWFDisplayItem i;
+   SWFDisplayItem pi;
+   int n;
+
+   Ming_init();
+
+   Ming_useSWFVersion(6);
+   Ming_setScale(1.00000000);
+   movie= newSWFMovieWithVersion(6);
+   SWFMovie_setDimension(movie, 6000,4000);
+   SWFMovie_setBackground(movie, 0xcc,0xcc,0xcc);
+   SWFMovie_setRate(movie, 12); 
+
+   s = newSWFShape();
+   f = SWFShape_addSolidFill(s, 0xff, 0, 0, 0xFF);
+   SWFShape_setRightFill(s, f);
+
+   SWFShape_movePenTo(s, -500,-500);
+   SWFShape_drawLineTo(s, 500,-500);
+   SWFShape_drawLineTo(s, 500,500);
+   SWFShape_drawLineTo(s, -500,500);
+   SWFShape_drawLineTo(s, -500,-500);
+
+   p = newSWFMovieClip(); // notice that it's not newSWFSprite();
+
+   i= SWFMovieClip_add((SWFMovieClip) p, (SWFBlock) s);
+   SWFDisplayItem_setDepth(i, 1);
+   SWFMovieClip_nextFrame( (SWFMovieClip) p);
+
+   for(n=0; n<5; ++n)
+   {
+     SWFDisplayItem_rotate(i, -15);
+     SWFMovieClip_nextFrame( (SWFMovieClip) p);
+   }
+
+   pi = SWFMovie_add(movie, (SWFBlock) p);
+   SWFDisplayItem_setDepth(pi, 1);
+   SWFDisplayItem_moveTo(pi, -500,2000);
+   SWFDisplayItem_setName(pi,"box");
+
+   SWFMovie_add(movie, (SWFBlock)compileSWFActionCode("x=-100;"));
+   SWFMovie_nextFrame(movie);
+   SWFMovie_add(movie, (SWFBlock)compileSWFActionCode("x+=3; box._x=x;"));
+   SWFMovie_nextFrame(movie);
+   SWFMovie_add(movie, (SWFBlock)compileSWFActionCode("gotoFrame(1); play();"));
+   SWFMovie_nextFrame(movie);
+
+   SWFMovie_save(movie, "action.swf");
+   return 0;
+}
diff --git a/ch/demos/backyard.jpg b/ch/demos/backyard.jpg
new file mode 100644
index 0000000..279037b
Binary files /dev/null and b/ch/demos/backyard.jpg differ
diff --git a/ch/demos/backyard.png b/ch/demos/backyard.png
new file mode 100644
index 0000000..ef82089
Binary files /dev/null and b/ch/demos/backyard.png differ
diff --git a/ch/demos/button.c b/ch/demos/button.c
new file mode 100755
index 0000000..b73ffa5
--- /dev/null
+++ b/ch/demos/button.c
@@ -0,0 +1,51 @@
+
+#include <ming.h>
+
+SWFShape makeRect(char r, char g, char b)
+{
+   SWFShape s;
+   SWFFill f;
+
+   s= newSWFShape();
+
+   f= SWFShape_addSolidFill(s, r, g, b, 0xFF);
+   SWFShape_setRightFill(s, f);
+   SWFShape_movePenTo(s, -50.00, -50.00);
+   SWFShape_drawLineTo(s, 50.00, -50.00);
+   SWFShape_drawLineTo(s, 50.00, 50.00);
+   SWFShape_drawLineTo(s, -50.00, 50.00);
+   SWFShape_drawLineTo(s, -50.00, -50.00);
+
+   return s;
+}
+
+int main(int argc, char *argv[])
+{
+   SWFMovie movie;
+   SWFButton b;
+   SWFDisplayItem timeline;
+
+   Ming_init();
+   Ming_useSWFVersion(5);
+
+   movie= newSWFMovie();
+   SWFMovie_setDimension(movie,320,240);
+   SWFMovie_setRate(movie, 12);
+   SWFMovie_setNumberOfFrames(movie,1);
+   SWFMovie_setBackground(movie, 0xFF, 0xFF, 0xFF);
+
+   b= newSWFButton();
+   SWFButton_addShape(b, (SWFCharacter) makeRect(0xff, 0, 0), SWFBUTTON_UP);
+   SWFButton_addShape(b, (SWFCharacter) makeRect(0, 0xff, 0), SWFBUTTON_OVER);
+   SWFButton_addShape(b, (SWFCharacter) makeRect(0, 0, 0xff), SWFBUTTON_DOWN);
+   SWFButton_addShape(b, (SWFCharacter) makeRect(0, 0, 0), SWFBUTTON_HIT);
+
+   timeline= SWFMovie_add(movie,(SWFBlock) b);
+   SWFDisplayItem_moveTo(timeline,160.00, 120.00);
+   SWFMovie_nextFrame(movie);
+   SWFMovie_save(movie, "button.swf");
+
+   return 0;
+}
+
+
diff --git a/ch/demos/cxform.c b/ch/demos/cxform.c
new file mode 100755
index 0000000..586ecb0
--- /dev/null
+++ b/ch/demos/cxform.c
@@ -0,0 +1,67 @@
+
+#include <ming.h>
+
+int main(int argc, char *argv[])
+{
+   SWFMovie m;
+   SWFShape shape;
+   SWFBitmap b;
+   SWFFill fill;
+   SWFDisplayItem i;
+   FILE *file_bitmap;
+   float n;
+   float height;
+   float width;
+   char *imageFile = "backyard.jpg";
+
+   Ming_init(argc, argv);
+   Ming_useSWFVersion(5);
+   m = newSWFMovie();
+
+   shape = newSWFShape();
+
+   if(!(file_bitmap = fopen(imageFile,"rb")))
+   {   
+      printf("Couldn't find file '%s'", imageFile);   
+   }
+
+   b = (SWFCharacter) newSWFJpegBitmap(file_bitmap);
+
+
+   SWFMovie_setDimension(m, SWFBitmap_getWidth(b), SWFBitmap_getHeight(b));
+
+   fill = SWFShape_addBitmapFill(shape, b, SWFFILL_TILED_BITMAP);
+
+   SWFShape_setRightFill(shape, fill);
+
+   height = (float) SWFBitmap_getHeight(b);
+   width = (float) SWFBitmap_getWidth(b);
+   SWFShape_drawLineTo(shape, width, 0.00);
+   SWFShape_drawLineTo(shape, width, height);
+   SWFShape_drawLineTo(shape, 0.00, height);
+   SWFShape_drawLineTo(shape, 0.00, 0.00);
+
+
+   i = SWFMovie_add(m, (SWFBlock) shape);
+
+   for(n=0; n<20.0; ++n)
+   {
+      SWFDisplayItem_multColor(i, 1.0- n/10.0, 1.0, 1.0, 1.0);
+      SWFDisplayItem_addColor(i, 0xff* n/20.0, 0, 0, 0);
+      SWFMovie_nextFrame(m);
+   }
+
+   for(n=20.0; n>0; --n)
+   {
+      SWFDisplayItem_multColor(i, 1.0- n/10.0, 1.0, 1.0, 1.0);
+      SWFDisplayItem_addColor(i, 0xff* n/20.0, 0, 0, 0);
+      SWFMovie_nextFrame(m);
+   }
+
+   SWFMovie_save(m, "cxform.swf");
+
+   fclose(file_bitmap); /* Do not close earlier or an error will happen */
+   return 0;
+}
+
+
diff --git a/ch/demos/drag.c b/ch/demos/drag.c
new file mode 100755
index 0000000..58b89bb
--- /dev/null
+++ b/ch/demos/drag.c
@@ -0,0 +1,53 @@
+
+#include <ming.h>
+
+int main(int argc, char *argv[])
+{
+   SWFMovie movie;
+   SWFShape _i1;
+   SWFFill _fill1_1;
+   SWFButton _i2;
+   char * strAction= ";";
+   SWFMovieClip _i3; // SWFSprite _i3;
+   SWFDisplayItem timeline;
+
+   Ming_init(argc, argv);
+   Ming_useSWFVersion(4);
+
+   _i1= newSWFShape();
+   /* SWFShape_setNoLineStyle(_i1);*/
+   _fill1_1= SWFShape_addSolidFill(_i1, 0xFF, 0x00, 0x00, 0xFF);
+   SWFShape_setRightFill(_i1, _fill1_1);
+   SWFShape_movePenTo(_i1, -25.00, -25.00);
+   SWFShape_drawLineTo(_i1, 25.00, -25.00);
+   SWFShape_drawLineTo(_i1, 25.00, 25.00);
+   SWFShape_drawLineTo(_i1, -25.00, 25.00);
+   SWFShape_drawLineTo(_i1, -25.00, -25.00);
+
+   _i2= newSWFButton();
+   SWFButton_addShape(_i2, (SWFCharacter) _i1, 
+      SWFBUTTON_HIT | SWFBUTTON_DOWN | SWFBUTTON_OVER | SWFBUTTON_UP);
+
+   SWFButton_addAction( _i2, compileSWFActionCode("startDrag('/test', 0);"), 
+      SWFBUTTON_MOUSEDOWN);
+
+   SWFButton_addAction(_i2, compileSWFActionCode("stopDrag();"), 
+      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);
+
+   _i3= newSWFMovieClip();
+   SWFMovieClip_add((SWFMovieClip) _i3, (SWFBlock) _i2);
+   SWFMovieClip_nextFrame((SWFMovieClip) _i3);
+
+   movie= newSWFMovie();
+   SWFMovie_setDimension(movie, 320, 240);
+
+   timeline= SWFMovie_add(movie, (SWFBlock) _i3);
+
+   SWFDisplayItem_setName(timeline, "test");
+   SWFDisplayItem_moveTo(timeline, 160,120);
+   SWFMovie_nextFrame(movie);
+
+   SWFMovie_save(movie, "drag.swf");
+
+   return 0;
+}
diff --git a/ch/demos/gradient.c b/ch/demos/gradient.c
new file mode 100755
index 0000000..85f9c78
--- /dev/null
+++ b/ch/demos/gradient.c
@@ -0,0 +1,64 @@
+
+#include <ming.h>
+
+int main(int argc, char *argv[])
+{
+   SWFMovie movie;
+   SWFShape shape1;
+   SWFGradient grad_1;
+   SWFFill fill1;
+   SWFDisplayItem timeline;
+   SWFShape shape2;
+   SWFGradient grad_2;
+   SWFFill fill2;
+
+   Ming_init(argc, argv);
+   Ming_useSWFVersion(5);
+   movie= newSWFMovie();
+   SWFMovie_setDimension(movie, 320, 240);
+
+   shape1= newSWFShape();
+
+   /* first gradient- black to white */
+   grad_1= newSWFGradient();
+   SWFGradient_addEntry(grad_1, 0, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_1, 1, 0xFF, 0xFF, 0xFF, 0xFF);
+
+   fill1= SWFShape_addGradientFill(shape1, grad_1, SWFFILL_LINEAR_GRADIENT);
+   SWFFill_scaleTo(fill1, 0.170, 0.170);
+   SWFFill_moveTo(fill1, 160.00, 120.00);
+   SWFShape_setRightFill(shape1, fill1);
+   SWFShape_drawLineTo(shape1, 320.00, 0.00);
+   SWFShape_drawLineTo(shape1, 320.00, 240.00);
+   SWFShape_drawLineTo(shape1, 0.00, 240.00);
+   SWFShape_drawLineTo(shape1, 0.00, 0.00);
+
+   timeline= SWFMovie_add(movie, (SWFBlock) shape1);
+   /* SWFDisplayItem_moveTo(timeline, 0.00, 0.00);*/
+
+   shape2= newSWFShape();
+
+   /* second gradient- radial gradient from white to red to transparent */
+   grad_2= newSWFGradient();
+   SWFGradient_addEntry(grad_2, 0, 0xFF, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_2, 1, 0xFF, 0x00, 0x00, 0x00);
+
+   fill2= SWFShape_addGradientFill(shape2, grad_2, SWFFILL_RADIAL_GRADIENT);
+   SWFFill_scaleTo(fill2, 0.120, 0.120);
+   SWFFill_moveTo(fill2, 160.00, 120.00);
+   SWFShape_setRightFill(shape2, fill2);
+   SWFShape_drawLineTo(shape2, 320.00, 0.00);
+   SWFShape_drawLineTo(shape2, 320.00, 240.00);
+   SWFShape_drawLineTo(shape2, 0.00, 240.00);
+   SWFShape_drawLineTo(shape2, 0.00, 0.00);
+
+   timeline= SWFMovie_add(movie, (SWFBlock) shape2);
+
+   SWFMovie_nextFrame(movie);
+
+   SWFMovie_save(movie, "gradient.swf");
+
+   return 0;
+}
+
+
diff --git a/ch/demos/gradientxform.c b/ch/demos/gradientxform.c
new file mode 100755
index 0000000..a917537
--- /dev/null
+++ b/ch/demos/gradientxform.c
@@ -0,0 +1,79 @@
+
+#include <ming.h>
+
+
+int main(int argc, char *argv[])
+{
+   SWFMovie movie;
+   SWFMorph p;
+   SWFShape shape_1;
+   SWFGradient grad_1;
+   SWFFill fill1;
+   SWFShape shape_2;
+   SWFGradient grad_2;
+   SWFFill fill2;
+   SWFDisplayItem timeline;
+   float n;
+
+   Ming_init(argc, argv);
+   Ming_useSWFVersion(5);
+   movie= newSWFMovie();
+   SWFMovie_setDimension(movie, 320, 240);
+
+   p= newSWFMorphShape();
+
+   grad_1= newSWFGradient();
+   SWFGradient_addEntry(grad_1, 0, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_1, 0.16, 0xFF, 0xFF, 0xFF, 0xFF);
+   SWFGradient_addEntry(grad_1, 0.32, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_1, 0.48, 0xFF, 0xFF, 0xFF, 0xFF);
+   SWFGradient_addEntry(grad_1, 0.64, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_1, 0.8, 0xFF, 0xFF, 0xFF, 0xFF);
+   SWFGradient_addEntry(grad_1, 1, 0x00, 0x00, 0x00, 0xFF);
+
+   shape_1= SWFMorph_getShape1(p);
+   fill1= SWFShape_addGradientFill(shape_1,grad_1, SWFFILL_RADIAL_GRADIENT);
+   SWFFill_scaleTo(fill1, 0.100, 0.100);
+   SWFShape_setLeftFill(shape_1, fill1);
+   SWFShape_movePenTo(shape_1, -160.00, -120.00);
+   SWFShape_drawLineTo(shape_1, 160.00, -120.00);
+   SWFShape_drawLineTo(shape_1, 160.00, 120.00);
+   SWFShape_drawLineTo(shape_1, -160.00, 120.00);
+   SWFShape_drawLineTo(shape_1, -160.00, -120.00);
+
+   grad_2= newSWFGradient();
+   SWFGradient_addEntry(grad_2, 0, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_2, 0.16, 0xFF, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_2, 0.32, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_2, 0.48, 0x00, 0xFF, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_2, 0.64, 0x00, 0x00, 0x00, 0xFF);
+   SWFGradient_addEntry(grad_2, 0.8, 0x00, 0x00, 0xFF, 0xFF);
+   SWFGradient_addEntry(grad_2, 1, 0x00, 0x00, 0x00, 0xFF);
+
+   shape_2= SWFMorph_getShape2(p);
+   fill2= SWFShape_addGradientFill(shape_2,grad_2, SWFFILL_RADIAL_GRADIENT);
+
+   SWFFill_scaleTo(fill2, 0.16, 0.16);
+   SWFFill_skewXTo(fill2, -0.50);
+   //SWFFill_rotateTo(fill2, -26.57);
+
+   SWFShape_setLeftFill(shape_2, fill2);
+   SWFShape_movePenTo(shape_2, -160.00, -120.00);
+   SWFShape_drawLineTo(shape_2, 160.00, -120.00);
+   SWFShape_drawLineTo(shape_2, 160.00, 120.00);
+   SWFShape_drawLineTo(shape_2, -160.00, 120.00);
+   SWFShape_drawLineTo(shape_2, -160.00, -120.00);
+
+   timeline= SWFMovie_add(movie,(SWFBlock) p);
+   SWFDisplayItem_moveTo(timeline, 160.00, 120.00);
+
+   for(n=0; n<=1.001; n+=0.01)
+   {
+      SWFDisplayItem_setRatio(timeline, n);
+      SWFMovie_nextFrame(movie);
+   }
+
+   SWFMovie_save(movie, "gradientxform.swf");
+
+   return 0;
+}
diff --git a/ch/demos/jpegfill.c b/ch/demos/jpegfill.c
new file mode 100755
index 0000000..7e10220
--- /dev/null
+++ b/ch/demos/jpegfill.c
@@ -0,0 +1,43 @@
+
+#include <ming.h>
+
+int main(int argc, char *argv[])
+{
+   SWFMovie m;
+   SWFShape shape;
+   FILE *file_bitmap;
+   SWFBitmap b;
+   SWFFill fill;
+   float height= 480.0;
+   float width= 640.0;
+
+
+   Ming_init(argc, argv);
+   Ming_useSWFVersion(5);
+   m= newSWFMovie();
+   SWFMovie_setDimension(m, width, height);
+
+   shape= newSWFShape();
+   if(!(file_bitmap= fopen("backyard.jpg","rb")))
+   {   
+       printf("Couldn't find file backyard.jpg");   
+   }
+   b= (SWFCharacter) newSWFJpegBitmap(file_bitmap);
+
+   fill= SWFShape_addBitmapFill(shape, b, SWFFILL_TILED_BITMAP);
+
+   SWFShape_setRightFill(shape, fill);
+   SWFShape_drawLineTo(shape, width,  0.00);
+   SWFShape_drawLineTo(shape, width, height);
+   SWFShape_drawLineTo(shape, 0.00, height);
+   SWFShape_drawLineTo(shape, 0.00, 0.00);
+
+   SWFMovie_add(m, (SWFBlock) shape);
+
+   SWFMovie_save(m, "jpegfill.swf");
+
+   fclose(file_bitmap); /* Do not close earlier or an error will happen */
+   return 0;
+}
+
+
diff --git a/ch/demos/png.c b/ch/demos/png.c
new file mode 100755
index 0000000..d3a8a2f
--- /dev/null
+++ b/ch/demos/png.c
@@ -0,0 +1,44 @@
+
+#include <ming.h>
+
+int main(int argc, char *argv[])
+{
+   SWFMovie movie;
+   SWFShape shape;
+   FILE *file_bitmap;
+   SWFBitmap bitmap;
+   SWFFill fill;
+   SWFDisplayItem timeline;
+   char *dblFile = "png.dbl";
+
+   Ming_init(argc, argv);
+   Ming_useSWFVersion(5);
+   movie= newSWFMovie();
+   SWFMovie_setDimension(movie, 32, 32);
+   SWFMovie_setRate(movie, 12);
+   SWFMovie_setNumberOfFrames(movie, 1);
+   shape= newSWFShape();
+
+   if(!(file_bitmap= fopen(dblFile,"rb")))
+   {   
+      printf("Couldn't find file %s\n", dblFile);   
+   }
+
+   bitmap = (SWFCharacter) newSWFDBLBitmap(file_bitmap);
+   fill= SWFShape_addBitmapFill(shape, bitmap, SWFFILL_TILED_BITMAP);
+   SWFShape_setRightFill(shape, fill);
+   SWFShape_drawLineTo(shape, 32.00, 0.00);
+   SWFShape_drawLineTo(shape, 32.00, 32.00);
+   SWFShape_drawLineTo(shape, 0.00, 32.00);
+   SWFShape_drawLineTo(shape, 0.00, 0.00);
+
+   timeline= SWFMovie_add(movie, (SWFBlock) shape);
+   SWFDisplayItem_moveTo(timeline, 0.00, 0.00);
+   SWFMovie_nextFrame(movie);
+   SWFMovie_save(movie, "png.swf");
+
+   fclose(file_bitmap); 
+   return 0;
+}
+
+
diff --git a/ch/demos/png.dbl b/ch/demos/png.dbl
new file mode 100644
index 0000000..a7d2d4e
Binary files /dev/null and b/ch/demos/png.dbl differ
diff --git a/src/libming.h b/ch/include/blocklist.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocklist.h
index d264458..43b7092 100644
--- a/src/libming.h
+++ b/ch/include/blocklist.h
@@ -17,71 +17,36 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* blocklist.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_BLOCKLIST_H_INCLUDED
+#define SWF_BLOCKLIST_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
 
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
+typedef struct SWFBlockList_s *SWFBlockList;
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+SWFBlockList newSWFBlockList();
+void destroySWFBlockList(SWFBlockList list);
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+void SWFBlockList_addBlock(SWFBlockList blocklist, SWFBlock block);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+void SWFBlockList_addToSprite(SWFBlockList list, SWFSprite sprite);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+int SWFBlockList_completeBlocks(SWFBlockList list);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+int SWFBlockList_writeBlocksToMethod(SWFBlockList list,
+				     SWFByteOutputMethod method, void *data);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFBlockList_resolveCharacterDependencies(SWFBlockList list,
+					       SWFCharacter character);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_BLOCKLIST_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/action.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/action.h
index d264458..1705e56 100644
--- a/src/libming.h
+++ b/ch/include/blocks/action.h
@@ -17,71 +17,25 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* action.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_ACTION_H_INCLUDED
+#define SWF_ACTION_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+#include "outputblock.h"
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+SWFAction newSWFAction();
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFAction newSWFAction_fromOutput(SWFOutput out);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void destroySWFAction(SWFAction action);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_ACTION_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/bitmap.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/bitmap.h
index d264458..bfd366d 100644
--- a/src/libming.h
+++ b/ch/include/blocks/bitmap.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* bitmap.h
+ *
  * $Id$
  * 
  * Notice: This header file contains declarations of functions and types that
@@ -26,62 +26,11 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_BITMAP_H_INCLUDED
+#define SWF_BITMAP_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* Currently, there are no internal functions or types */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_BITMAP_H_INCLUDED */
diff --git a/ch/include/blocks/block.h b/ch/include/blocks/block.h
new file mode 100644
index 0000000..60cac04
--- /dev/null
+++ b/ch/include/blocks/block.h
@@ -0,0 +1,96 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* block.h
+ *
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_BLOCK_H_INCLUDED
+#define SWF_BLOCK_H_INCLUDED
+
+#include "ming.h"
+#include "blocktypes.h"
+#include "libming.h"
+
+#define BLOCK(b) ((SWFBlock)(b))
+
+typedef void (*writeSWFBlockMethod)(SWFBlock block,
+				    SWFByteOutputMethod method, void *data);
+typedef int (*completeSWFBlockMethod)(SWFBlock block);
+
+typedef void (*destroySWFBlockMethod)(SWFBlock block);
+
+
+struct SWFBlock_s
+{
+  SWFBlocktype type;
+
+  writeSWFBlockMethod writeBlock;
+  completeSWFBlockMethod complete;
+  destroySWFBlockMethod dtor;
+
+  int length;
+  byte isDefined;
+  byte completed;
+};
+
+
+/* sets the defined flag in this block */
+void SWFBlock_setDefined(SWFBlock block);
+
+/* returns true if the block has been defined- i.e., written to the file */
+BOOL SWFBlock_isDefined(SWFBlock block);
+
+/* returns the byte length of this block */
+int SWFBlock_getLength(SWFBlock block);
+
+/* destroy this block by calling its destructor */
+void destroySWFBlock(SWFBlock block);
+
+/* calls the block's completion method and returns its byte length */
+int completeSWFBlock(SWFBlock block);
+
+/* writes this block to the given output method */
+int writeSWFBlockToMethod(SWFBlock block, SWFByteOutputMethod method, 
+                          void *data);
+
+/* initialize character values to something sane */
+void SWFBlockInit(SWFBlock block);
+
+/* return a new ShowFrame block */
+SWFBlock newSWFShowFrameBlock();
+
+/* return a new End block */
+SWFBlock newSWFEndBlock();
+
+/* return a new Protect block */
+SWFBlock newSWFProtectBlock();
+
+/* return a new empty block */
+SWFBlock newEmptySWFBlock();
+
+/* return the block's type */
+SWFBlocktype SWFBlock_getType(SWFBlock block);
+
+#endif /* SWF_BLOCK_H_INCLUDED */
diff --git a/ch/include/blocks/blocktypes.h b/ch/include/blocks/blocktypes.h
new file mode 100644
index 0000000..c2e5c59
--- /dev/null
+++ b/ch/include/blocks/blocktypes.h
@@ -0,0 +1,99 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* blocktypes.h
+ *
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_BLOCKTYPES_H_INCLUDED
+#define SWF_BLOCKTYPES_H_INCLUDED
+
+#include "ming.h"
+
+typedef enum
+{
+  SWF_UNUSEDBLOCK               = -1, // tell ming to skip this
+
+  SWF_CHARACTERSET		= 51,
+  SWF_DEFINEBITS                =  6,
+  SWF_DEFINEBITSJPEG2           = 21,
+  SWF_DEFINEBITSJPEG3           = 35,
+  SWF_DEFINEBITSPTR		= 1023,
+  SWF_DEFINEBUTTON              =  7,
+  SWF_DEFINEBUTTON2             = 34,
+  SWF_DEFINEBUTTONCXFORM        = 23,
+  SWF_DEFINEBUTTONSOUND         = 17,
+  SWF_DEFINECOMMANDOBJ		= 50,
+  SWF_DEFINEEDITTEXT		= 37,
+  SWF_DEFINEFONT                = 10,
+  SWF_DEFINEFONT2               = 48,
+  SWF_DEFINEFONTINFO            = 13,
+  SWF_DEFINELOSSLESS            = 20,
+  SWF_DEFINELOSSLESS2           = 36,
+  SWF_DEFINEMORPHSHAPE          = 46,
+  SWF_DEFINESHAPE               =  2,
+  SWF_DEFINESHAPE2              = 22,
+  SWF_DEFINESHAPE3              = 32,
+  SWF_DEFINESOUND               = 14,
+  SWF_DEFINESPRITE              = 39,
+  SWF_DEFINETEXT                = 11,
+  SWF_DEFINETEXT2               = 33,
+  SWF_DEFINETEXTFORMAT		= 42,
+  SWF_DEFINEVIDEO		= 38,
+  SWF_DOACTION                  = 12,
+  SWF_ENABLEDEBUGGER		= 58,
+  SWF_END                       =  0,
+  SWF_EXPORTASSETS              = 56,
+  SWF_FONTREF			= 52,
+  SWF_FRAMELABEL                = 43,
+  SWF_FRAMETAG			= 47,
+  SWF_FREEALL			= 31,
+  SWF_FREECHARACTER		=  3,
+  SWF_GENCOMMAND		= 49,
+  SWF_IMPORTASSETS              = 57,
+  SWF_JPEGTABLES                =  8,
+  SWF_NAMECHARACTER		= 40,
+  SWF_PATHSAREPOSTSCRIPT	= 25,
+  SWF_PLACEOBJECT               =  4,
+  SWF_PLACEOBJECT2              = 26,
+  SWF_PROTECT                   = 24,
+  SWF_REMOVEOBJECT              =  5,
+  SWF_REMOVEOBJECT2             = 28,
+  SWF_SERIALNUMBER		= 41,
+  SWF_SETBACKGROUNDCOLOR        =  9,
+  SWF_SHOWFRAME                 =  1,
+  SWF_SOUNDSTREAMBLOCK          = 19,
+  SWF_SOUNDSTREAMHEAD           = 18,
+  SWF_SOUNDSTREAMHEAD2          = 45,
+  SWF_STARTSOUND                = 15,
+  SWF_SYNCFRAME			= 29,
+  SWF_INITACTION				= 59,
+  SWF_DEFINEVIDEOSTREAM		= 60,
+  SWF_VIDEOFRAME		= 61,
+// these are pseudo definitions that do not correspond to actual swf file tags
+  SWF_PREBUILTCLIP = 254,
+  SWF_PREBUILT = 255
+} SWFBlocktype;
+
+#endif /* SWF_BLOCKTYPES_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/browserfont.h
similarity index 55%
copy from src/libming.h
copy to ch/include/blocks/browserfont.h
index d264458..f67d17f 100644
--- a/src/libming.h
+++ b/ch/include/blocks/browserfont.h
@@ -17,71 +17,23 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* browserfont.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_BROWSERFONT_H_INCLUDED
+#define SWF_BROWSERFONT_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
+#include "output.h"
 
-extern int Ming_cubicThreshold;
 extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+SWFOutput SWFBrowserFont_getOutput(SWFBrowserFont font);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_BROWSERFONT_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/button.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/button.h
index d264458..a474a40 100644
--- a/src/libming.h
+++ b/ch/include/blocks/button.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* button.h
+ *
  * $Id$
  * 
  * Notice: This header file contains declarations of functions and types that
@@ -26,62 +26,21 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_BUTTON_H_INCLUDED
+#define SWF_BUTTON_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+typedef struct SWFButtonSound_s *SWFButtonSound;
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+#define SWF_BUTTON_TRACKASMENU  (1<<0)
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+SWFBlock newDefineSWFButtonBlock(SWFButton button);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+SWFButtonSound newSWFButtonSound(SWFButton button);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFSoundInstance SWFButtonSound_setSound(SWFButtonSound sounds, SWFSound sound, byte flags);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+SWFButtonSound getButtonSound(SWFButton button);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_BUTTON_H_INCLUDED */
diff --git a/ch/include/blocks/character.h b/ch/include/blocks/character.h
new file mode 100644
index 0000000..38f3341
--- /dev/null
+++ b/ch/include/blocks/character.h
@@ -0,0 +1,127 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* character.h
+ *
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_CHARACTER_H_INCLUDED
+#define SWF_CHARACTER_H_INCLUDED
+
+#include "ming.h"
+#include "block.h"
+#include "rect.h"
+
+extern int SWF_gNumCharacters;
+
+
+#define CHARACTER(c) ((SWFCharacter)(c))
+#define CHARACTERID(c) (((SWFCharacter)(c))->id)
+
+
+/* characters are things that can be placed on the stage-
+   shapes, text, sprites.. */
+
+struct SWFCharacter_s
+{
+  struct SWFBlock_s block;
+
+  int id;
+  SWFRect bounds;
+
+  /* some characters depend on others- e.g., a shape may need a jpeg for
+     a fill or some text needs a font..  we keep track of these dependencies
+     so that we write them in the right order, regardless of when/if the user
+     adds them to the movie */
+
+  int nDependencies;
+  SWFCharacter *dependencies;
+
+  /* We shouldn't allow users to modify characters after they've been added
+     to a container- movie, sprite, or button. */
+
+  BOOL isFinished;
+};
+
+
+/* initialize character values to something sane */
+
+void SWFCharacterInit(SWFCharacter character);
+
+
+/* destroy this character */
+
+void destroySWFCharacter(SWFCharacter character);
+
+
+/* marks the given block as a dependency of the character- that is,
+   we should define the block before defining the character */
+
+void
+SWFCharacter_addDependency(SWFCharacter character, SWFCharacter dependency);
+
+
+/* returns the character's dependency list */
+
+BOOL
+SWFCharacter_getDependencies(SWFCharacter character,
+			     SWFCharacter** depsPtr, int* nDepsPtr);
+
+
+/* returns the scaled (i.e., in twips) width of the character */
+
+int
+SWFCharacter_getScaledWidth(SWFCharacter character);
+
+
+/* returns the scaled (i.e., in twips) height of the character */
+
+int
+SWFCharacter_getScaledHeight(SWFCharacter character);
+
+
+/* returns the character's SWFRect bounds object */
+
+SWFRect
+SWFCharacter_getBounds(SWFCharacter character);
+
+
+/* returns TRUE if the given block is a character type, else FALSE */
+
+BOOL
+SWFBlock_isCharacter(SWFBlock block);
+
+
+/* notify the character that it's been added to a container */
+
+void
+SWFCharacter_setFinished(SWFCharacter character);
+
+
+/* returns TRUE if the character has been added to a container */
+
+BOOL
+SWFCharacter_isFinished(SWFCharacter character);
+
+#endif /* SWF_CHARACTER_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/cxform.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/cxform.h
index d264458..c4caac8 100644
--- a/src/libming.h
+++ b/ch/include/blocks/cxform.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* cxform.h
+ *
  * $Id$
  * 
  * Notice: This header file contains declarations of functions and types that
@@ -26,62 +26,15 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_CXFORM_H_INCLUDED
+#define SWF_CXFORM_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+#include "output.h"
+#include "blocktypes.h"
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* write this color transform to the given output object-
+   shapetype indicates whether we include the alpha components */
+void SWFOutput_writeCXform(SWFOutput out, SWFCXform cXform, SWFBlocktype shapetype);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_CXFORM_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/dbl.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/dbl.h
index d264458..1611cae 100644
--- a/src/libming.h
+++ b/ch/include/blocks/dbl.h
@@ -17,71 +17,44 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* dbl.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_DBL_H_INCLUDED
+#define SWF_DBL_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
+#include "character.h"
+
+#if (USE_GIF + USE_PNG)
+struct dbl_data
+{	int length;
+	byte hasalpha, format, format2;
+	unsigned short width, height;
+	unsigned char *data;
+};
+typedef struct dbl_data *dblData;
+
+struct SWFDBLBitmapData_s
+{
+	struct SWFCharacter_s bitmap;
+	unsigned char format, format2;
+	unsigned short width, height;
+	unsigned char *data;
+	// SWFInput input;
+#if TRACK_ALLOCS
+	/* memory node for garbage collection */
+	mem_node *gcnode;
 #endif
+};
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
+SWFDBLBitmapData newSWFDBLBitmapData_fromData(dblData data);
 #endif
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_DBL_H_INCLUDED */
diff --git a/ch/include/blocks/error.h b/ch/include/blocks/error.h
new file mode 100644
index 0000000..41d2665
--- /dev/null
+++ b/ch/include/blocks/error.h
@@ -0,0 +1,28 @@
+/* error.h
+ *
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_ERROR_H_INCLUDED
+#define SWF_ERROR_H_INCLUDED
+
+#include "ming.h"
+
+/* XXX - error calls should be macros to save the file/lineno */
+
+extern void (*SWF_warn)(const char *msg, ...);
+extern void (*SWF_error)(const char *msg, ...);
+
+void warn_default(const char *msg, ...);
+void error_default(const char *msg, ...);
+
+void setSWFWarnFunction(void (*error)(const char *msg, ...));
+void setSWFErrorFunction(void (*error)(const char *msg, ...));
+
+void SWF_assert(int c);
+
+#endif /* SWF_ERROR_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/exports.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/exports.h
index d264458..944d59c 100644
--- a/src/libming.h
+++ b/ch/include/blocks/exports.h
@@ -17,71 +17,25 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* exports.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_EXPORTS_H_INCLUDED
+#define SWF_EXPORTS_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
+struct SWFExport_s
 {
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+  SWFBlock block;
+  char *name;
+};
+typedef struct SWFExport_s *SWFExports;
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_EXPORTS_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/fillstyle.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/fillstyle.h
index d264458..eea7035 100644
--- a/src/libming.h
+++ b/ch/include/blocks/fillstyle.h
@@ -17,71 +17,31 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* fillstyle.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_FILLSTYLE_H_INCLUDED
+#define SWF_FILLSTYLE_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+void SWFFill_setIdx(SWFFillStyle fill, int idx);
+int SWFFill_getIdx(SWFFillStyle fill);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+int SWFFillStyle_equals(SWFFillStyle fill1, SWFFillStyle fill2);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFOutput_writeFillStyles(SWFOutput out,
+			       SWFFillStyle *fills, int nFills,
+			       SWFBlocktype shapeType);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFOutput_writeMorphFillStyles(SWFOutput out,
+				    SWFFillStyle *fills1, int nFills1,
+				    SWFFillStyle *fills2, int nFills2);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_FILLSTYLE_H_INCLUDED */
diff --git a/ch/include/blocks/font.h b/ch/include/blocks/font.h
new file mode 100644
index 0000000..e308fc7
--- /dev/null
+++ b/ch/include/blocks/font.h
@@ -0,0 +1,145 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* font.h
+ * 
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_FONT_H_INCLUDED
+#define SWF_FONT_H_INCLUDED
+
+#include "ming.h"
+#include "rect.h"
+#include "text.h"
+#include "block.h"
+
+#define SWF_FONT_HASLAYOUT    (1<<7)
+#define SWF_FONT_UNICODE      (1<<6)
+#define SWF_FONT_SHIFTJIS     (1<<5)
+#define SWF_FONT_ANSI         (1<<4)
+#define SWF_FONT_WIDEOFFSETS  (1<<3)
+#define SWF_FONT_WIDECODES    (1<<2)
+#define SWF_FONT_ISBOLD       (1<<1)
+#define SWF_FONT_ISITALIC     (1<<0)
+
+struct SWFFont_s
+{
+	// even though SWFFont isn't represented in the SWF file,
+	// this lets us call destroySWFBlock(font)
+	struct SWFBlock_s block;
+
+	byte *name;
+	byte flags;
+
+	int nGlyphs;
+
+	// map from glyphs to char codes, loaded from fdb file
+	unsigned short* glyphToCode; 
+
+	// list of pointers to glyph shapes
+	byte** glyphOffset;
+
+	// shape table, mapped in from file
+	byte* shapes;
+
+	// glyph metrics
+	short* advances;
+	struct SWFRect_s* bounds;
+
+	// map from char codes to glyphs, constructed from glyphToCode map
+	// XXX - would be nice if this was in the fdb..
+	union
+	{
+		byte* charMap;
+		unsigned short** wideMap; // array of 256 arrays of 256 shorts
+	} codeToGlyph;
+
+	// font metrics
+	short ascent;
+	short descent;
+	short leading;
+
+	// font's kern table, if one is defined
+	// XXX - should be sorted for faster lookups
+	unsigned short kernCount;
+	union
+	{	struct kernInfo* k;
+		struct kernInfo16* w;
+	} kernTable;
+};
+
+
+byte* SWFFont_findGlyph(SWFFont font, unsigned short c);
+
+const char* SWFFont_getName(SWFFont font);
+
+byte SWFFont_getFlags(SWFFont font);
+
+int SWFFont_getScaledWideStringWidth(SWFFont font,
+	              		     const unsigned short* string, int len);
+
+int SWFFont_getScaledUTF8StringWidth(SWFFont font, const char* string);
+
+int SWFFont_getScaledStringWidth(SWFFont font, const char* string);
+
+short SWFFont_getScaledAscent(SWFFont font);
+
+short SWFFont_getScaledDescent(SWFFont font);
+
+short SWFFont_getScaledLeading(SWFFont font);
+
+SWFRect SWFFont_getGlyphBounds(SWFFont font, unsigned short c);
+
+int SWFFont_getCharacterAdvance(SWFFont font, unsigned short c);
+
+int SWFFont_getCharacterKern(SWFFont font, unsigned short c1, unsigned short c2);
+
+
+/* SWFFontCharacter is a movie's instance of a font */
+
+SWFFontCharacter newSWFFontCharacter(SWFFont font);
+
+SWFFontCharacter newSWFDummyFontCharacter();
+
+void destroySWFFontCharacter(SWFFontCharacter fontCharacter);
+
+void SWFFontCharacter_exportCharacterRange(SWFFontCharacter font,
+			     unsigned short start, unsigned short end);
+
+void SWFFontCharacter_addWideChars(SWFFontCharacter font, unsigned short *string, int len);
+
+void SWFFontCharacter_addChars(SWFFontCharacter font, const char *string);
+
+void SWFFontCharacter_addUTF8Chars(SWFFontCharacter font, const char *string);
+
+SWFFont SWFFontCharacter_getFont(SWFFontCharacter font);
+
+int SWFFontCharacter_getNGlyphs(SWFFontCharacter font);
+
+void SWFFontCharacter_addTextToList(SWFFontCharacter font, SWFTextRecord text);
+
+unsigned short SWFFontCharacter_getGlyphCode(SWFFontCharacter font, 
+					     unsigned short c);
+
+#endif /* SWF_FONT_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/fontinfo.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/fontinfo.h
index d264458..d78ef2e 100644
--- a/src/libming.h
+++ b/ch/include/blocks/fontinfo.h
@@ -17,71 +17,22 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* fontinfo.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_FONTINFO_H_INCLUDED
+#define SWF_FONTINFO_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+typedef struct SWFFontInfo_s *SWFFontInfo;
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+SWFFontInfo newDefineSWFFontInfo(SWFFont font);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_FONTINFO_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/fromswf.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/fromswf.h
index d264458..2aa900b 100644
--- a/src/libming.h
+++ b/ch/include/blocks/fromswf.h
@@ -17,71 +17,41 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* fromswf.h
  * 
  * $Id$
- * 
+ *
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_FROMSWF_H_INCLUDED
+#define SWF_FROMSWF_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
+#include "block.h"
+#include "character.h"
+#include "output.h"
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+struct SWFPrebuiltClip_s
+{
+	struct SWFCharacter_s character;
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+	int frames;
+	SWFOutput display;
+};
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+struct SWFPrebuilt_s
+{
+	struct SWFBlock_s block;
+	
+	SWFOutput defines;
+};
+typedef struct SWFPrebuilt_s *SWFPrebuilt;
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+int SWFPrebuiltClipLength();
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+#endif /* SWF_FROMSWF_H_INCLUDED */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/gradient.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/gradient.h
index d264458..bf54f08 100644
--- a/src/libming.h
+++ b/ch/include/blocks/gradient.h
@@ -17,71 +17,26 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* gradient.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_GRADIENT_H_INCLUDED
+#define SWF_GRADIENT_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+#include "output.h"
+#include "blocktypes.h"
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFOutput_writeGradient(SWFOutput out, SWFGradient gradient,
+                             SWFBlocktype shapeType);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFOutput_writeMorphGradient(SWFOutput out,
+                                  SWFGradient gradient1, SWFGradient gradient2);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_GRADIENT_H_INCLUDED */
diff --git a/ch/include/blocks/imports.h b/ch/include/blocks/imports.h
new file mode 100644
index 0000000..f4293fc
--- /dev/null
+++ b/ch/include/blocks/imports.h
@@ -0,0 +1,31 @@
+/* imports.h
+ * 
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_IMPORTS_H_INCLUDED
+#define SWF_IMPORTS_H_INCLUDED
+
+#include "ming.h"
+#include "block.h"
+
+struct importitem
+{	struct importitem *next;
+	int id;
+	char *name;
+};
+struct SWFImportBlock_s
+{
+	struct SWFBlock_s block;
+	char *filename;
+	struct importitem *importlist;
+};
+typedef struct SWFImportBlock_s *SWFImportBlock;
+
+SWFImportBlock newSWFImportBlock(const char *filename);
+
+#endif
diff --git a/ch/include/blocks/input.h b/ch/include/blocks/input.h
new file mode 100644
index 0000000..13ea020
--- /dev/null
+++ b/ch/include/blocks/input.h
@@ -0,0 +1,25 @@
+/* input.h
+ * 
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_INPUT_H_INCLUDED
+#define SWF_INPUT_H_INCLUDED
+
+#include "ming.h"
+
+int SWFInput_read(SWFInput input, char* buffer, int count);
+
+int SWFInput_getChar(SWFInput input);
+int SWFInput_getUInt16(SWFInput input);
+int SWFInput_getUInt16_BE(SWFInput input);
+int SWFInput_getSInt16(SWFInput input);
+unsigned long SWFInput_getUInt24_BE(SWFInput input);
+unsigned long SWFInput_getUInt32(SWFInput input);
+unsigned long SWFInput_getUInt32_BE(SWFInput input);
+
+#endif /* SWF_INPUT_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/jpeg.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/jpeg.h
index d264458..2fa168d 100644
--- a/src/libming.h
+++ b/ch/include/blocks/jpeg.h
@@ -17,71 +17,20 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* jpeg.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_JPEG_H_INCLUDED
+#define SWF_JPEG_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* Currently, there are no internal functions or types */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_JPEG_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/libswf.h
similarity index 60%
copy from src/libming.h
copy to ch/include/blocks/libswf.h
index d264458..9983dc8 100644
--- a/src/libming.h
+++ b/ch/include/blocks/libswf.h
@@ -17,34 +17,18 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
- * $Id$
- * 
- * Notice: This header file contains declarations of functions and types that
- * are just used internally. All library functions and types that are supposed
- * to be publicly accessable are defined in ./src/ming.h.
- */
-
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
+/* libswf.h - global typedefs, etc. */
 
+/* $Id$ */
 
-#include "ming.h"
-#include "ming_config.h"
+#ifndef LIBSWF_H_INCLUDED
+#define LIBSWF_H_INCLUDED
 
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
 
+#include "error.h"
 
 typedef unsigned char BOOL;
 
@@ -72,16 +56,6 @@ typedef unsigned char BOOL;
   #define rint(d) (floor((d)+0.5))
 #endif
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
-
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+typedef unsigned char byte;
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* LIBSWF_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/linestyle.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/linestyle.h
index d264458..3440573 100644
--- a/src/libming.h
+++ b/ch/include/blocks/linestyle.h
@@ -17,71 +17,35 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* linestyle.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_LINESTYLE_H_INCLUDED
+#define SWF_LINESTYLE_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+#include "output.h"
+#include "blocktypes.h"
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+/* okay, this is kinda lame.. */
+byte SWFLineStyle_equals(SWFLineStyle line, unsigned short width,
+			 byte r, byte g, byte b, byte a);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+unsigned short SWFLineStyle_getWidth(SWFLineStyle line);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFOutput_writeLineStyles(SWFOutput out,
+			       SWFLineStyle *lines, int nLines,
+			       SWFBlocktype shapeType);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFOutput_writeMorphLineStyles(SWFOutput out,
+				    SWFLineStyle *lines1, int nLines1,
+				    SWFLineStyle *lines2, int nLines2);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_LINESTYLE_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/matrix.h
similarity index 50%
copy from src/libming.h
copy to ch/include/blocks/matrix.h
index d264458..f7bbde8 100644
--- a/src/libming.h
+++ b/ch/include/blocks/matrix.h
@@ -17,71 +17,54 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* matrix.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
+#ifndef SWF_MATRIX_H_INCLUDED
+#define SWF_MATRIX_H_INCLUDED
 
-#include <stdio.h>
-#include <math.h>
+#include "ming.h"
+#include "output.h"
 
 
-#include "ming.h"
-#include "ming_config.h"
+SWFMatrix newSWFMatrix(float a, float b, float c, float d, int x, int y);
+
+SWFMatrix SWFMatrix_dup(SWFMatrix matrix);
+
+void destroySWFMatrix(SWFMatrix matrix);
+
+void SWFOutput_writeMatrix(SWFOutput out, SWFMatrix matrix);
+
+SWFMatrix newSWFRotateMatrix(float degrees);
 
-#include "gc.h"
-#include "libming.h"
+int SWFMatrix_numBits(SWFMatrix matrix);
 
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
+void SWFMatrix_set(SWFMatrix m, float a, float b, float c, float d, int x, int y);
 
+void SWFMatrix_clearTranslate(SWFMatrix m);
 
-typedef unsigned char BOOL;
+void SWFMatrix_clearTransform(SWFMatrix m);
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
+void SWFMatrix_apply(SWFMatrix m, double *x, double *y, int xlate);
 
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
+void SWFMatrix_scaleXY(SWFMatrix matrix, float xScale, float yScale);
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+void SWFMatrix_leftMultiply(SWFMatrix ma, SWFMatrix mb);
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+void SWFMatrix_multiply(SWFMatrix a, SWFMatrix b);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+void SWFMatrix_rotate(SWFMatrix matrix, float radians);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+void SWFMatrix_scale(SWFMatrix matrix, float factor);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFMatrix_translate(SWFMatrix matrix, int dx, int dy);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFMatrix_moveTo(SWFMatrix matrix, int x, int y);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_MATRIX_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/method.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/method.h
index d264458..c1f4470 100644
--- a/src/libming.h
+++ b/ch/include/blocks/method.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* method.h
  * 
  * $Id$
  * 
@@ -26,62 +26,32 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_METHOD_H_INCLUDED
+#define SWF_METHOD_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+/*
+  this should be a real object:
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+typedef (*outputMethod)(struct _byteOutput, int data);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+struct _byteOutput
+{
+  void *data;
+  outputMethod writeUInt8;
+  outputMethod writeUInt16;
+  outputMethod writeUInt32;
+  outputMethod writeBuffer;
+};
+
+..or something like that, something that actually works.
+*/
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+void methodWriteUInt16(int i, SWFByteOutputMethod method, void *data);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void methodWriteUInt32(int i, SWFByteOutputMethod method, void *data);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFOutputMethod(byte i, void *data);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_METHOD_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/morph.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/morph.h
index d264458..d4e63ba 100644
--- a/src/libming.h
+++ b/ch/include/blocks/morph.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* morph.h
  * 
  * $Id$
  * 
@@ -26,62 +26,11 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_MORPH_H_INCLUDED
+#define SWF_MORPH_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* Currently, there are no internal functions or types */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_MORPH_H_INCLUDED */
diff --git a/ch/include/blocks/output.h b/ch/include/blocks/output.h
new file mode 100644
index 0000000..47cc9f2
--- /dev/null
+++ b/ch/include/blocks/output.h
@@ -0,0 +1,98 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* output.h
+ * 
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_OUTPUT_H_INCLUDED
+#define SWF_OUTPUT_H_INCLUDED
+
+#include "ming.h"
+
+typedef struct SWFOutput_s *SWFOutput;
+
+#define OUTPUT_BUFFER_INCREMENT 1024
+
+
+/* create/destroy output object */
+SWFOutput newSWFOutput();
+
+SWFOutput newSizedSWFOutput(int size);
+
+void destroySWFOutput(SWFOutput out);
+
+/* write output's buffer to stream */
+void SWFOutput_writeToMethod(SWFOutput out,
+			     SWFByteOutputMethod method, void *data);
+
+/* utilities for writing */
+void SWFOutput_grow(SWFOutput out);
+
+void SWFOutput_checkSize(SWFOutput out, int bytes);
+
+/* truncate a SizedSWFOutput after the final length is known */
+void SWFOutput_truncate(SWFOutput out, int size);
+
+void SWFOutput_byteAlign(SWFOutput out);
+
+int SWFOutput_getLength(SWFOutput out);
+
+void SWFOutput_setNext(SWFOutput out, SWFOutput next);
+
+SWFOutput SWFOutput_getNext(SWFOutput out);
+
+byte* SWFOutput_getBuffer(SWFOutput out);
+
+byte* SWFOutput_getCurPos(SWFOutput out);
+
+/* write data to output */
+void SWFOutput_writeBits(SWFOutput out, int data, int bits);
+
+void SWFOutput_writeSBits(SWFOutput out, int data, int bits);
+
+void SWFOutput_writeUInt8(SWFOutput out, int data);
+
+void SWFOutput_writeSInt8(SWFOutput out, int data);
+
+void SWFOutput_writeUInt16(SWFOutput out, int data);
+
+void SWFOutput_writeSInt16(SWFOutput out, int data);
+
+void SWFOutput_writeUInt32(SWFOutput out, long data);
+
+void SWFOutput_writeSInt32(SWFOutput out, long data);
+
+void SWFOutput_writeBuffer(SWFOutput out, char *buffer, int bytes);
+
+
+/* number of bits required to store num */
+int SWFOutput_numBits(int num);
+
+int SWFOutput_numSBits(int num);
+
+
+void SWFOutput_writeString(SWFOutput out, const byte *string);
+
+#endif /* SWF_OUTPUT_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/outputblock.h
similarity index 53%
copy from src/libming.h
copy to ch/include/blocks/outputblock.h
index d264458..541b928 100644
--- a/src/libming.h
+++ b/ch/include/blocks/outputblock.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* outputblock.h
  * 
  * $Id$
  * 
@@ -26,62 +26,37 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_OUTPUTBLOCK_H_INCLUDED
+#define SWF_OUTPUTBLOCK_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
+#include "output.h"
+#include "blocktypes.h"
+#include "exports.h"
 
-#include "gc.h"
-#include "libming.h"
+typedef struct SWFOutputBlock_s *SWFOutputBlock;
 
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
+SWFOutput SWFOutputBlock_getOutput(SWFOutputBlock block);
 
+int SWFOutputBlock_getLength(SWFOutputBlock block);
 
-typedef unsigned char BOOL;
+SWFOutputBlock newSWFOutputBlock(SWFOutput out, SWFBlocktype type);
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
+SWFOutputBlock newSWFPlaceObjectBlock(SWFCharacter character, int depth,
+				      SWFMatrix matrix, SWFCXform cXform);
 
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
+SWFOutputBlock newSWFSetBackgroundBlock(byte r, byte g, byte b);
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+SWFOutputBlock newSWFRemoveObjectBlock(SWFCharacter character, int depth);
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+SWFOutputBlock newSWFRemoveObject2Block(int depth);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+SWFOutputBlock newSWFFrameLabelBlock(const char *string);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+SWFOutputBlock newSWFNamedAnchorBlock(const char *string);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFOutputBlock newSWFExportBlock(SWFExports exports, int nExports);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void destroySWFOutputBlock(SWFOutputBlock outputBlock);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_OUTPUTBLOCK_H_INCLUDED */
diff --git a/ch/include/blocks/placeobject.h b/ch/include/blocks/placeobject.h
new file mode 100644
index 0000000..b128a13
--- /dev/null
+++ b/ch/include/blocks/placeobject.h
@@ -0,0 +1,68 @@
+/* placeobject.h
+ *
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_PLACEOBJECT_H_INCLUDED
+#define SWF_PLACEOBJECT_H_INCLUDED
+
+#include "ming.h"
+
+typedef struct SWFPlaceObject2Block_s *SWFPlaceObject2Block;
+
+#define SWF_PLACE_HAS_ACTIONS     (1<<7)
+#define SWF_PLACE_HAS_MASK        (1<<6)
+#define SWF_PLACE_HAS_NAME        (1<<5)
+#define SWF_PLACE_HAS_RATIO       (1<<4)
+#define SWF_PLACE_HAS_CXFORM      (1<<3)
+#define SWF_PLACE_HAS_MATRIX      (1<<2)
+#define SWF_PLACE_HAS_CHARACTER   (1<<1)
+#define SWF_PLACE_MOVE            (1<<0)
+
+SWFPlaceObject2Block newSWFPlaceObject2Block(int depth);
+
+void SWFPlaceObject2Block_setName(SWFPlaceObject2Block block,
+				  const char *name);
+
+void SWFPlaceObject2Block_setRatio(SWFPlaceObject2Block block, int ratio);
+
+void SWFPlaceObject2Block_setDepth(SWFPlaceObject2Block block, int depth);
+
+void SWFPlaceObject2Block_setMaskLevel(SWFPlaceObject2Block block,
+				       int masklevel);
+
+void SWFPlaceObject2Block_setCXform(SWFPlaceObject2Block block,
+				    SWFCXform cXform);
+
+void SWFPlaceObject2Block_setColorAdd(SWFPlaceObject2Block block,
+				      int r, int g, int b, int a);
+
+void SWFPlaceObject2Block_setColorMult(SWFPlaceObject2Block block,
+				       float r, float g, float b, float a);
+
+void SWFPlaceObject2Block_setMatrix(SWFPlaceObject2Block block,
+				    SWFMatrix matrix);
+
+void SWFPlaceObject2Block_setCharacter(SWFPlaceObject2Block block,
+				       SWFCharacter character);
+
+void SWFPlaceObject2Block_setMove(SWFPlaceObject2Block block);
+
+#define SWF_PLACEACTION_ONLOAD      (1<<0)
+#define SWF_PLACEACTION_ENTERFRAME  (1<<1)
+#define SWF_PLACEACTION_UNLOAD      (1<<2)
+#define SWF_PLACEACTION_MOUSEMOVE   (1<<3)
+#define SWF_PLACEACTION_MOUSEDOWN   (1<<4)
+#define SWF_PLACEACTION_MOUSEUP     (1<<5)
+#define SWF_PLACEACTION_KEYDOWN     (1<<6)
+#define SWF_PLACEACTION_KEYUP       (1<<7)
+#define SWF_PLACEACTION_DATA        (1<<8)
+
+void SWFPlaceObject2Block_addAction(SWFPlaceObject2Block block,
+				    SWFAction action, int flags);
+
+#endif /* SWF_PLACEOBJECT_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/rect.h
similarity index 55%
copy from src/libming.h
copy to ch/include/blocks/rect.h
index d264458..76076d6 100644
--- a/src/libming.h
+++ b/ch/include/blocks/rect.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* rect.h
+ *
  * $Id$
  * 
  * Notice: This header file contains declarations of functions and types that
@@ -26,62 +26,45 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
+#ifndef SWF_RECT_H_INCLUDED
+#define SWF_RECT_H_INCLUDED
 
-#include <stdio.h>
-#include <math.h>
+#include "ming.h"
+#include "libming.h"
+#include "output.h"
+#include "error.h"
 
 
-#include "ming.h"
-#include "ming_config.h"
+typedef struct SWFRect_s *SWFRect;
 
-#include "gc.h"
-#include "libming.h"
+struct SWFRect_s
+{
+  int minX;
+  int maxX;
+  int minY;
+  int maxY;
+};
 
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
+SWFRect newSWFRect(int minX, int maxX, int minY, int maxY);
 
+void destroySWFRect(SWFRect rect);
 
-typedef unsigned char BOOL;
+SWFRect SWFRect_copy(SWFRect rect);
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
+int SWFRect_numBits(SWFRect rect);
 
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
+void SWFOutput_writeRect(SWFOutput output, SWFRect rect);
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+int SWFRect_getWidth(SWFRect r);
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+int SWFRect_getHeight(SWFRect r);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+void SWFRect_getBounds(SWFRect rect, int *minX, int *maxX, int *minY, int *maxY);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+void SWFRect_setBounds(SWFRect r, int minX, int maxX, int minY, int maxY);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFRect_includeRect(SWFRect a, SWFRect b);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFRect_includePoint(SWFRect a, int x, int y, int width);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_RECT_H_INCLUDED */
diff --git a/ch/include/blocks/shape.h b/ch/include/blocks/shape.h
new file mode 100644
index 0000000..3aaf568
--- /dev/null
+++ b/ch/include/blocks/shape.h
@@ -0,0 +1,83 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* shape.h
+ * 
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_SHAPE_H_INCLUDED
+#define SWF_SHAPE_H_INCLUDED
+
+#include "ming.h"
+#include "output.h"
+
+
+#define SWF_SHAPE_NEWSTYLEFLAG	 (1<<4)
+#define SWF_SHAPE_LINESTYLEFLAG	 (1<<3)
+#define SWF_SHAPE_FILLSTYLE1FLAG (1<<2)
+#define SWF_SHAPE_FILLSTYLE0FLAG (1<<1)
+#define SWF_SHAPE_MOVETOFLAG	 (1<<0)
+
+#define NOFILL NULL
+
+
+
+void SWFShape_addStyleHeader(SWFShape shape);
+
+int SWFShape_getScaledPenX(SWFShape shape);
+
+int SWFShape_getScaledPenY(SWFShape shape);
+
+void SWFShape_moveScaledPenTo(SWFShape shape, int x, int y);
+
+void SWFShape_moveScaledPen(SWFShape shape, int x, int y);
+
+void SWFShape_drawScaledLineTo(SWFShape shape, int x, int y);
+
+void SWFShape_drawScaledLine(SWFShape shape, int dx, int dy);
+
+void SWFShape_drawScaledCurveTo(SWFShape shape,
+			        int controlx, int controly,
+			        int anchorx, int anchory);
+
+void SWFShape_drawScaledCurve(SWFShape shape,
+			      int controldx, int controldy,
+			      int anchordx, int anchordy);
+
+void SWFShape_drawScaledGlyph(SWFShape shape,
+	    		      SWFFont font, unsigned short c, int size);
+
+SWFOutput
+SWFShape_getOutput(SWFShape shape);
+
+void
+SWFShape_getFills(SWFShape shape, SWFFillStyle** outFills, int* outNFills);
+
+void
+SWFShape_getLines(SWFShape shape, SWFLineStyle** outLines, int* outNLines);
+
+void
+SWFShape_setMorphFlag(SWFShape shape);
+
+#endif /* SWF_SHAPE_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/sound.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/sound.h
index d264458..213758d 100644
--- a/src/libming.h
+++ b/ch/include/blocks/sound.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* sound.h
+ *
  * $Id$
  * 
  * Notice: This header file contains declarations of functions and types that
@@ -26,62 +26,22 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_SOUND_H_INCLUDED
+#define SWF_SOUND_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+#define SWFSOUND_INITIAL_DELAY 1663
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+#define SWF_SOUNDINFO_SYNCSTOPSOUND  (1<<5)
+#define SWF_SOUNDINFO_SYNCNOMULTIPLE (1<<4)
+#define SWF_SOUNDINFO_HASENVELOPE    (1<<3)
+#define SWF_SOUNDINFO_HASLOOPS       (1<<2)
+#define SWF_SOUNDINFO_HASOUTPOINT    (1<<1)
+#define SWF_SOUNDINFO_HASINPOINT     (1<<0)
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFBlock newDefineSWFSoundBlock(SWFSound sound);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFSound_setData(SWFSound sound, byte flags, int numSamples, byte *data);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_SOUND_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/soundinstance.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/soundinstance.h
index d264458..8da45e8 100644
--- a/src/libming.h
+++ b/ch/include/blocks/soundinstance.h
@@ -17,71 +17,27 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* soundinstance.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_SOUNDINSTANCE_H_INCLUDED
+#define SWF_SOUNDINSTANCE_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFSoundInstance newSWFSoundInstance(SWFSound sound);
+SWFSoundInstance newSWFSoundInstance_stop(SWFSound sound);
+SWFSoundInstance newSWFSoundInstance_startNoMultiple(SWFSound sound);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+// button.c calls these, so they're exposed:
+void writeSWFSoundInstanceToMethod(SWFBlock block,
+				SWFByteOutputMethod method, void *data);
+int completeSWFSoundInstance(SWFBlock block);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_SOUNDINSTANCE_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/soundstream.h
similarity index 50%
copy from src/libming.h
copy to ch/include/blocks/soundstream.h
index d264458..66d777b 100644
--- a/src/libming.h
+++ b/ch/include/blocks/soundstream.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* soundstream.h
  * 
  * $Id$
  * 
@@ -26,62 +26,36 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_SOUNDSTREAM_H_INCLUDED
+#define SWF_SOUNDSTREAM_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
+typedef struct SWFSoundStreamBlock_s *SWFSoundStreamBlock;
 
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
+#define SWF_SOUNDSTREAM_COMPRESSION      0xf0
+#define SWF_SOUNDSTREAM_NOT_COMPRESSED   (0<<4)
+#define SWF_SOUNDSTREAM_ADPCM_COMPRESSED (1<<4)
+#define SWF_SOUNDSTREAM_MP3_COMPRESSED   (2<<4)
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+#define SWF_SOUNDSTREAM_RATE             0x0c
+#define SWF_SOUNDSTREAM_5KHZ             (0<<2)
+#define SWF_SOUNDSTREAM_11KHZ            (1<<2)
+#define SWF_SOUNDSTREAM_22KHZ            (2<<2)
+#define SWF_SOUNDSTREAM_44KHZ            (3<<2)
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+#define SWF_SOUNDSTREAM_BITS             0x02
+#define SWF_SOUNDSTREAM_8BITS            (0<<1)
+#define SWF_SOUNDSTREAM_16BITS           (1<<1)
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+#define SWF_SOUNDSTREAM_CHANNELS         0x01
+#define SWF_SOUNDSTREAM_MONO             (0<<0)
+#define SWF_SOUNDSTREAM_STEREO           (1<<0)
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+SWFBlock SWFSoundStream_getStreamHead(SWFSoundStream stream, float frameRate, float skip);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFBlock SWFSoundStream_getStreamBlock(SWFSoundStream sound);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFSoundStream_rewind(SWFSoundStream sound);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_SOUNDSTREAM_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/sprite.h
similarity index 54%
copy from src/libming.h
copy to ch/include/blocks/sprite.h
index d264458..f198f72 100644
--- a/src/libming.h
+++ b/ch/include/blocks/sprite.h
@@ -17,71 +17,39 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* sprite.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_SPRITE_H_INCLUDED
+#define SWF_SPRITE_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
+#include "character.h"
 
 
-typedef unsigned char BOOL;
+/* movie clip extends sprite, so we need a public definition */
 
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+struct SWFSprite_s
+{
+  struct SWFCharacter_s character;
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+  int frames;
+  int totalFrames;
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+  int nBlocks;
+  SWFBlock *blocks;
+};
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+void SWFSprite_setNumberOfFrames(SWFSprite sprite, int totalFrames);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFSprite_setBlocks(SWFSprite sprite, SWFBlock *blocks, int nBlocks);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFSprite_getDependencies(SWFSprite sprite, SWFCharacter** deps, int* nDeps);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_SPRITE_H_INCLUDED */
diff --git a/ch/include/blocks/swf.h b/ch/include/blocks/swf.h
new file mode 100644
index 0000000..9bec9b1
--- /dev/null
+++ b/ch/include/blocks/swf.h
@@ -0,0 +1,554 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+#ifndef SWF_H_INCLUDED
+#define SWF_H_INCLUDED
+
+#include <stdio.h>
+
+#include "blocktypes.h"
+
+typedef unsigned char byte;
+
+extern void (*SWF_warn)(const char *msg, ...);
+extern void (*SWF_error)(const char *msg, ...);
+
+void setSWFWarnFunction(void (*error)(const char *msg, ...));
+void setSWFErrorFunction(void (*error)(const char *msg, ...));
+
+void SWF_assert(int c);
+
+
+  /* a generic output method.  specific instances dump output to file,
+     send to stdout, etc. */
+
+typedef void (*SWFByteOutputMethod)(byte b, void *data);
+
+void methodWriteUInt16(int i, SWFByteOutputMethod method, void *data);
+void methodWriteUInt32(int i, SWFByteOutputMethod method, void *data);
+
+void fileOutputMethod(byte b, void *data);
+
+
+/* we dig opaque types */
+
+
+  /* SWFBlock is the parent for all classes in this directory */
+
+typedef struct SWFBlock_s* SWFBlock;
+
+int completeSWFBlock(SWFBlock block);
+void destroySWFBlock(SWFBlock block);
+int writeSWFBlockToMethod(SWFBlock block,
+			  SWFByteOutputMethod method, void *data);
+
+void SWFBlock_setDefined(SWFBlock block);
+byte SWFBlock_isDefined(SWFBlock block);
+
+SWFBlocktype SWFBlock_getType(SWFBlock block);
+
+
+  /* SWFInput */
+
+typedef struct SWFInput_s *SWFInput;
+
+int SWFInput_length(SWFInput input);
+void SWFInput_rewind(SWFInput input);
+int SWFInput_tell(SWFInput input);
+void SWFInput_seek(SWFInput input, long offset, int whence);
+int SWFInput_eof(SWFInput input);
+
+SWFInput newSWFInput_file(FILE *f);
+SWFInput newSWFInput_stream(FILE *f);
+SWFInput newSWFInput_buffer(unsigned char *buffer, int length);
+SWFInput newSWFInput_allocedBuffer(unsigned char *buffer, int length);
+
+
+  /* SWFOutput */
+
+typedef struct SWFOutput_s * SWFOutput;
+
+SWFOutput newSWFOutput();
+SWFOutput newSizedSWFOutput(int size);
+void destroySWFOutput(SWFOutput out);
+
+int SWFOutput_length(SWFOutput out);
+void SWFOutput_byteAlign(SWFOutput out);
+void SWFOutput_writeUInt16(SWFOutput out, int data);
+void SWFOutput_writeToMethod(SWFOutput out,
+			     SWFByteOutputMethod method, void *data);
+
+
+  /* SWFRect */
+
+typedef struct SWFRect_s * SWFRect;
+
+SWFRect newSWFRect(int minX, int maxX, int minY, int maxY);
+void destroySWFRect(SWFRect rect);
+void SWFOutput_writeRect(SWFOutput output, SWFRect rect);
+
+int SWFRect_getWidth(SWFRect r);
+int SWFRect_getHeight(SWFRect r);
+
+
+  /* SWFCharacter */
+
+/* everything with a character ID is an SWFCharacter */
+
+typedef struct SWFCharacter_s * SWFCharacter;
+
+/* this is a silly hack to track blocks which are dependent on others.
+   Would be nice to have this in the ming layer above instead */
+
+void SWFCharacter_addDependency(SWFCharacter character, SWFBlock dependency);
+SWFBlock *SWFCharacter_getDependencies(SWFCharacter character);
+int SWFCharacter_getNDependencies(SWFCharacter character);
+void SWFCharacter_clearDependencies(SWFCharacter character);
+
+int SWFCharacter_getScaledWidth(SWFCharacter character);
+int SWFCharacter_getScaledHeight(SWFCharacter character);
+
+int SWFBlock_isCharacter(SWFBlock block);
+
+
+  /* SWFBitmap */
+
+typedef struct SWFBitmap_s *SWFBitmap;
+
+void destroySWFBitmap(SWFBlock block);
+int SWFBitmap_getWidth(SWFBitmap b);
+int SWFBitmap_getHeight(SWFBitmap b);
+
+SWFBitmap newSWFBitmap_fromInput(SWFInput input);
+
+
+  /* SWFDBLBitmap */
+
+typedef struct SWFDBLBitmap_s *SWFDBLBitmap;
+
+SWFDBLBitmap newSWFDBLBitmap(FILE *f);
+SWFDBLBitmap newSWFDBLBitmap_fromInput(SWFInput input);
+
+
+  /* SWFJpegBitmap */
+
+typedef struct SWFJpegBitmap_s *SWFJpegBitmap;
+typedef struct SWFJpegWithAlpha_s *SWFJpegWithAlpha;
+
+SWFJpegBitmap newSWFJpegBitmap(FILE *f);
+SWFJpegBitmap newSWFJpegBitmap_fromInput(SWFInput input);
+SWFJpegWithAlpha newSWFJpegWithAlpha(FILE *f, FILE *alpha);
+SWFJpegWithAlpha newSWFJpegWithAlpha_fromInput(SWFInput input, SWFInput alpha);
+
+
+  /* SWFGradient */
+
+typedef struct SWFGradient_s *SWFGradient;
+
+SWFGradient newSWFGradient();
+void destroySWFGradient(SWFGradient gradient);
+void SWFGradient_addEntry(SWFGradient gradient,
+			  float ratio, byte r, byte g, byte b, byte a);
+
+
+  /* SWFMatrix */
+
+typedef struct SWFMatrix_s *SWFMatrix;
+
+SWFMatrix newSWFMatrix(float a, float b, float c, float d, int x, int y);
+void destroySWFMatrix(SWFMatrix matrix);
+
+SWFMatrix SWFMatrix_set(SWFMatrix m,
+			float a, float b, float c, float d, int x, int y);
+void SWFMatrix_clearTranslate(SWFMatrix m);
+void SWFMatrix_clearTransform(SWFMatrix m);
+
+
+  /* SWFFont */
+
+typedef struct SWFFont_s *SWFFont;
+
+SWFFont newSWFFont();
+SWFFont loadSWFFontFromFile(FILE *file);
+void destroySWFFont(SWFBlock block);
+
+int SWFFont_getScaledStringWidth(SWFFont font, const unsigned char *string);
+
+short SWFFont_getScaledAscent(SWFFont font);
+short SWFFont_getScaledDescent(SWFFont font);
+short SWFFont_getScaledLeading(SWFFont font);
+
+
+  /* SWFText */
+
+typedef struct SWFText_s *SWFText;
+
+SWFText newSWFText();
+SWFText newSWFText2();
+void destroySWFText(SWFBlock block);
+
+void SWFText_setFont(SWFText text, SWFBlock font);
+void SWFText_setScaledHeight(SWFText text, int height);
+void SWFText_scaledMoveTo(SWFText text, int x, int y);
+void SWFText_setColor(SWFText text, byte r, byte g, byte b, byte a);
+void SWFText_addString(SWFText text, const char *string, int *advance);
+void SWFText_addUTF8String(SWFText text, const char *string, int *advance);
+void SWFText_setSpacing(SWFText text, float spacing);
+
+int SWFText_getScaledStringWidth(SWFText text, const char *string);
+int SWFText_getScaledUTF8StringWidth(SWFText text, const char *string);
+
+short SWFText_getScaledAscent(SWFText text);
+short SWFText_getScaledDescent(SWFText text);
+short SWFText_getScaledLeading(SWFText text);
+
+
+/* deprecated: */
+#define SWFText_setXY(t,x,y) SWFText_moveTo((t),(x),(y))
+
+
+  /* SWFBrowserFont */
+
+typedef struct SWFBrowserFont_s *SWFBrowserFont;
+
+SWFBrowserFont newSWFBrowserFont(char *name);
+void destroySWFBrowserFont(SWFBlock block);
+
+
+  /* SWFTextField */
+
+typedef struct SWFTextField_s *SWFTextField;
+
+#define SWFTEXTFIELD_ONMASK  0x2085 /* on bits */
+#define SWFTEXTFIELD_OFFMASK 0x7BFF /* off bits */
+
+#define SWFTEXTFIELD_HASFONT   (1<<0)	/* font and size given */
+#define SWFTEXTFIELD_HASLENGTH (1<<1)
+#define SWFTEXTFIELD_HASCOLOR  (1<<2)
+#define SWFTEXTFIELD_NOEDIT    (1<<3)
+#define SWFTEXTFIELD_PASSWORD  (1<<4)
+#define SWFTEXTFIELD_MULTILINE (1<<5)
+#define SWFTEXTFIELD_WORDWRAP  (1<<6)
+#define SWFTEXTFIELD_HASTEXT   (1<<7)	/* initial text present */
+#define SWFTEXTFIELD_USEFONT   (1<<8)
+#define SWFTEXTFIELD_HTML      (1<<9)
+#define SWFTEXTFIELD_DRAWBOX   (1<<11)
+#define SWFTEXTFIELD_NOSELECT  (1<<12)
+#define SWFTEXTFIELD_HASLAYOUT (1<<13)	/* align, margin, lspace, indent */
+#define SWFTEXTFIELD_AUTOSIZE  (1<<14)	/* SWF6 */
+
+typedef enum
+{
+  SWFTEXTFIELD_ALIGN_LEFT    = 0,
+  SWFTEXTFIELD_ALIGN_RIGHT   = 1,
+  SWFTEXTFIELD_ALIGN_CENTER  = 2,
+  SWFTEXTFIELD_ALIGN_JUSTIFY = 3
+} SWFTextFieldAlignment;
+
+SWFTextField newSWFTextField();
+void destroySWFTextField(SWFBlock block);
+
+void SWFTextField_setFont(SWFTextField field, SWFBlock font);
+void SWFTextField_setScaledBounds(SWFTextField field, int width, int height);
+void SWFTextField_setFlags(SWFTextField field, int flags);
+void SWFTextField_setColor(SWFTextField field, byte r, byte g, byte b, byte a);
+void SWFTextField_setVariableName(SWFTextField field, const char *name);
+void SWFTextField_addString(SWFTextField field, const char *string);
+void SWFTextField_addUTF8String(SWFTextField field, const char *string);
+
+void SWFTextField_setScaledFontHeight(SWFTextField field, int height);
+void SWFTextField_setScaledFieldHeight(SWFTextField field, int height);
+void SWFTextField_setScaledLeftMargin(SWFTextField field, int leftMargin);
+void SWFTextField_setScaledRightMargin(SWFTextField field, int rightMargin);
+void SWFTextField_setScaledIndentation(SWFTextField field, int indentation);
+void SWFTextField_setScaledLineSpacing(SWFTextField field, int lineSpacing);
+void SWFTextField_setScaledpadding(SWFTextField field, int padding);
+void SWFTextField_setAlignment(SWFTextField field,
+			       SWFTextFieldAlignment alignment);
+void SWFTextField_setLength(SWFTextField field, int length);
+
+
+  /* SWFFillStyle */
+
+typedef void *SWFFillStyle;
+
+#define SWFFILL_SOLID		0x00
+#define SWFFILL_GRADIENT	0x10
+#define SWFFILL_LINEAR_GRADIENT 0x10
+#define SWFFILL_RADIAL_GRADIENT 0x12
+#define SWFFILL_BITMAP		0x40
+#define SWFFILL_TILED_BITMAP	0x40
+#define SWFFILL_CLIPPED_BITMAP	0x41
+
+SWFFillStyle newSWFSolidFillStyle(byte r, byte g, byte b, byte a);
+SWFFillStyle newSWFGradientFillStyle(SWFGradient gradient, byte radial);
+SWFFillStyle newSWFBitmapFillStyle(SWFCharacter bitmap, byte flags);
+
+SWFMatrix SWFFillStyle_getMatrix(SWFFillStyle fill);
+
+
+  /* SWFLineStyle */
+
+typedef void *SWFLineStyle;
+
+SWFLineStyle newSWFLineStyle(unsigned short width, byte r, byte g, byte b, byte a);
+byte SWFLineStyle_equals(SWFLineStyle line, unsigned short width, byte r, byte g, byte b, byte a);
+
+
+  /* SWFShape */
+
+typedef struct SWFShape_s *SWFShape;
+
+SWFShape newSWFShape();
+void destroySWFShape(SWFBlock block);
+
+int SWFShape_getScaledPenX(SWFShape shape);
+int SWFShape_getScaledPenY(SWFShape shape);
+
+void SWFShape_moveScaledPenTo(SWFShape shape, int x, int y);
+void SWFShape_moveScaledPen(SWFShape shape, int x, int y);
+
+void SWFShape_drawScaledLineTo(SWFShape shape, int x, int y);
+void SWFShape_drawScaledLine(SWFShape shape, int dx, int dy);
+void SWFShape_drawScaledCurveTo(SWFShape shape, int controlx, int controly,
+				int anchorx, int anchory);
+void SWFShape_drawScaledCurve(SWFShape shape, int controldx, int controldy,
+			      int anchordx, int anchordy);
+
+void SWFShape_drawScaledGlyph(SWFShape shape,
+			      SWFFont font, unsigned short c, int size);
+
+
+/* deprecated: */
+
+#define SWFShape_moveTo SWFShape_moveScaledPenTo
+#define SWFShape_moveToRelative SWFShape_moveScaledPen
+#define SWFShape_lineTo SWFShape_drawScaledLineTo
+#define SWFShape_lineToRelative SWFShape_drawScaledLine
+#define SWFShape_curveTo SWFShape_drawScaledCurveTo
+#define SWFShape_curveToRelative SWFShape_drawScaledCurve
+
+void SWFShape_end(SWFShape shape);
+
+int SWFShape_setLineStyle(SWFShape shape, unsigned short width,
+			  byte r, byte g, byte b, byte a);
+
+SWFFillStyle SWFShape_addSolidFillStyle(SWFShape shape,
+					byte r, byte g, byte b, byte a);
+
+SWFFillStyle SWFShape_addGradientFillStyle(SWFShape shape,
+					   SWFGradient gradient, byte flags);
+
+SWFFillStyle SWFShape_addBitmapFillStyle(SWFShape shape,
+					 SWFBitmap bitmap, byte flags);
+
+void SWFShape_setLeftFillStyle(SWFShape shape, SWFFillStyle fill);
+void SWFShape_setRightFillStyle(SWFShape shape, SWFFillStyle fill);
+
+
+  /* SWFMorph */
+
+typedef struct SWFMorph_s *SWFMorph;
+
+SWFMorph newSWFMorphShape();
+void destroySWFMorph(SWFBlock block);
+SWFShape SWFMorph_getShape1(SWFMorph morph);
+SWFShape SWFMorph_getShape2(SWFMorph morph);
+
+
+  /* sound - only mp3 streaming implemented */
+
+typedef struct SWFSound_s *SWFSound;
+
+#define SWF_SOUND_COMPRESSION      0xf0
+#define SWF_SOUND_NOT_COMPRESSED   (0<<4)
+#define SWF_SOUND_ADPCM_COMPRESSED (1<<4)
+
+#define SWF_SOUND_RATE             0x0c
+#define SWF_SOUND_5KHZ             (0<<2)
+#define SWF_SOUND_11KHZ            (1<<2)
+#define SWF_SOUND_22KHZ            (2<<2)
+#define SWF_SOUND_44KHZ            (3<<2)
+
+#define SWF_SOUND_BITS             0x02
+#define SWF_SOUND_8BIT             (0<<1)
+#define SWF_SOUND_16BIT            (1<<1)
+
+#define SWF_SOUND_CHANNELS         0x01
+#define SWF_SOUND_MONO             (0<<0)
+#define SWF_SOUND_STEREO           (1<<0)
+
+SWFSound newSWFSound(FILE *file);
+SWFSound newSWFSound_fromInput(SWFInput input);
+void destroySWFSound(SWFSound sound);
+
+SWFBlock SWFSound_getStreamHead(SWFSound sound, float frameRate);
+SWFBlock SWFSound_getStreamBlock(SWFSound sound);
+void SWFSound_rewind(SWFSound sound);
+
+
+  /* SWFCXform */
+
+typedef struct SWFCXform_s *SWFCXform;
+
+SWFCXform newSWFCXform(int rAdd, int gAdd, int bAdd, int aAdd,
+		       float rMult, float gMult, float bMult, float aMult);
+
+SWFCXform newSWFAddCXform(int rAdd, int gAdd, int bAdd, int aAdd);
+
+SWFCXform newSWFMultCXform(float rMult, float gMult, float bMult, float aMult);
+
+void SWFCXform_setColorAdd(SWFCXform cXform,
+			   int rAdd, int gAdd, int bAdd, int aAdd);
+
+void SWFCXform_setColorMult(SWFCXform cXform,
+			    float rMult, float gMult, float bMult, float aMult);
+
+void destroySWFCXform(SWFCXform cXform);
+
+
+  /* SWFAction */
+
+typedef struct SWFAction_s *SWFAction;
+
+SWFAction newSWFAction();
+SWFAction newSWFAction_fromOutput(SWFOutput out);
+SWFAction compileSWFActionCode(const char *script);
+void destroySWFAction(SWFAction action);
+
+
+  /* placeobject.h */
+
+typedef struct SWFPlaceObject2Block_s *SWFPlaceObject2Block;
+
+#define SWF_PLACEACTION_ONLOAD      (1<<0)
+#define SWF_PLACEACTION_ENTERFRAME  (1<<1)
+#define SWF_PLACEACTION_UNLOAD      (1<<2)
+#define SWF_PLACEACTION_MOUSEMOVE   (1<<3)
+#define SWF_PLACEACTION_MOUSEDOWN   (1<<4)
+#define SWF_PLACEACTION_MOUSEUP     (1<<5)
+#define SWF_PLACEACTION_KEYDOWN     (1<<6)
+#define SWF_PLACEACTION_KEYUP       (1<<7)
+#define SWF_PLACEACTION_DATA        (1<<8)
+
+SWFPlaceObject2Block newSWFPlaceObject2Block(int depth);
+
+void SWFPlaceObject2Block_setDepth(SWFPlaceObject2Block block, int depth);
+void SWFPlaceObject2Block_setName(SWFPlaceObject2Block block,
+				  const char *name);
+void SWFPlaceObject2Block_setRatio(SWFPlaceObject2Block block, int ratio);
+void SWFPlaceObject2Block_setMaskLevel(SWFPlaceObject2Block block,
+				       int masklevel);
+void SWFPlaceObject2Block_setCXform(SWFPlaceObject2Block block,
+				    SWFCXform cXform);
+void SWFPlaceObject2Block_setColorAdd(SWFPlaceObject2Block block,
+				      int r, int g, int b, int a);
+void SWFPlaceObject2Block_setColorMult(SWFPlaceObject2Block block,
+				       float r, float g, float b, float a);
+void SWFPlaceObject2Block_setMatrix(SWFPlaceObject2Block block,
+				    SWFMatrix matrix);
+void SWFPlaceObject2Block_setCharacter(SWFPlaceObject2Block block,
+				       SWFCharacter character);
+void SWFPlaceObject2Block_setMove(SWFPlaceObject2Block block);
+void SWFPlaceObject2Block_addAction(SWFPlaceObject2Block block,
+				    SWFAction action, int flags);
+
+
+  /* random blocks */
+
+typedef struct SWFOutputBlock_s *SWFOutputBlock;
+typedef struct SWFExports_s *SWFExports;
+
+SWFBlock newSWFPlaceObjectBlock(SWFCharacter character, int depth,
+				SWFMatrix matrix, SWFCXform cXform);
+
+SWFOutputBlock newSWFRemoveObjectBlock(SWFCharacter character, int depth);
+SWFOutputBlock newSWFRemoveObject2Block(int depth);
+SWFOutputBlock newSWFFrameLabelBlock(const char *string);
+SWFBlock newSWFSetBackgroundBlock(byte r, byte g, byte b);
+SWFBlock newSWFShowFrameBlock();
+SWFBlock newSWFEndBlock();
+SWFBlock newSWFProtectBlock();
+SWFOutputBlock newSWFExportBlock(SWFExports exports, int nExports);
+
+
+  /* SWFButton */
+
+typedef struct SWFButton_s *SWFButton;
+
+#define SWFBUTTON_HIT    (1<<3)
+#define SWFBUTTON_DOWN   (1<<2)
+#define SWFBUTTON_OVER   (1<<1)
+#define SWFBUTTON_UP     (1<<0)
+
+/* deprecated: */
+
+  #define SWFBUTTONRECORD_HITSTATE    (1<<3)
+  #define SWFBUTTONRECORD_DOWNSTATE   (1<<2)
+  #define SWFBUTTONRECORD_OVERSTATE   (1<<1)
+  #define SWFBUTTONRECORD_UPSTATE     (1<<0)
+
+
+#define SWFBUTTON_KEYPRESS(c)     (((c)&0x7f)<<9)
+#define SWFBUTTON_ONKEYPRESS(c)     (((c)&0x7f)<<9)
+
+#define SWFBUTTON_OVERDOWNTOIDLE    (1<<8)
+#define SWFBUTTON_IDLETOOVERDOWN    (1<<7)
+#define SWFBUTTON_OUTDOWNTOIDLE     (1<<6)
+#define SWFBUTTON_OUTDOWNTOOVERDOWN (1<<5)
+#define SWFBUTTON_OVERDOWNTOOUTDOWN (1<<4)
+#define SWFBUTTON_OVERDOWNTOOVERUP  (1<<3)
+#define SWFBUTTON_OVERUPTOOVERDOWN  (1<<2)
+#define SWFBUTTON_OVERUPTOIDLE      (1<<1)
+#define SWFBUTTON_IDLETOOVERUP      (1<<0)
+
+/* easier to remember: */
+#define SWFBUTTON_MOUSEUPOUTSIDE  SWFBUTTON_OUTDOWNTOIDLE
+#define SWFBUTTON_DRAGOVER        (SWFBUTTON_OUTDOWNTOOVERDOWN | SWFBUTTON_IDLETOOVERDOWN)
+#define SWFBUTTON_DRAGOUT         (SWFBUTTON_OVERDOWNTOOUTDOWN | SWFBUTTON_OVERDOWNTOIDLE)
+#define SWFBUTTON_MOUSEUP         SWFBUTTON_OVERDOWNTOOVERUP
+#define SWFBUTTON_MOUSEDOWN       SWFBUTTON_OVERUPTOOVERDOWN
+#define SWFBUTTON_MOUSEOUT        SWFBUTTON_OVERUPTOIDLE
+#define SWFBUTTON_MOUSEOVER       SWFBUTTON_IDLETOOVERUP
+
+
+SWFButton newSWFButton();
+void destroySWFButton(SWFBlock block);
+
+void SWFButton_addShape(SWFButton button, SWFCharacter character, byte flags);
+void SWFButton_addAction(SWFButton button, SWFAction action, int flags);
+void SWFButton_setMenu(SWFButton button, int flag);
+
+SWFBlock newSWFButtonCXform(SWFButton button, SWFCXform *cXforms);
+SWFBlock newSWFButtonSound(SWFButton button, SWFSound sound);
+
+
+  /* SWFSprite */
+
+typedef struct SWFSprite_s *SWFSprite;
+
+SWFSprite newSWFSprite();
+void destroySWFSprite(SWFBlock block);
+
+void SWFSprite_setNumberOfFrames(SWFSprite sprite, int totalFrames);
+
+void SWFSprite_setBlocks(SWFSprite sprite, SWFBlock *blocks, int nBlocks);
+void SWFSprite_addBlock(SWFSprite sprite, SWFBlock block);
+
+#endif /* SWF_H_INCLUDED */
diff --git a/ch/include/blocks/text.h b/ch/include/blocks/text.h
new file mode 100644
index 0000000..71e9445
--- /dev/null
+++ b/ch/include/blocks/text.h
@@ -0,0 +1,82 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* text.h
+ *
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_TEXT_H_INCLUDED
+#define SWF_TEXT_H_INCLUDED
+
+#include "ming.h"
+#include "output.h"
+
+
+typedef struct SWFTextRecord_s *SWFTextRecord;
+
+#define SWF_TEXT_STATE_CHANGE (1<<7)
+#define SWF_TEXT_HAS_FONT     (1<<3)
+#define SWF_TEXT_HAS_COLOR    (1<<2)
+#define SWF_TEXT_HAS_Y        (1<<1)
+#define SWF_TEXT_HAS_X        (1<<0)
+
+void SWFOutput_writeText(SWFOutput out, SWFText text);
+
+void SWFTextRecord_setFontCharacter(SWFTextRecord record, SWFFontCharacter font);
+
+void SWFText_setScaledHeight(SWFText text, int height);
+
+void SWFText_scaledMoveTo(SWFText text, int x, int y);
+
+void SWFText_setScaledSpacing(SWFText text, int spacing);
+
+int SWFText_getScaledStringWidth(SWFText text, const char *string);
+
+int SWFText_getScaledUTF8StringWidth(SWFText text, const char *string);
+
+int SWFText_getScaledWideStringWidth(SWFText text, const unsigned short *string);
+
+short SWFText_getScaledAscent(SWFText text);
+
+short SWFText_getScaledDescent(SWFText text);
+
+short SWFText_getScaledLeading(SWFText text);
+
+void SWFText_resolveCodes(SWFText text);
+
+SWFTextRecord newSWFTextRecord();
+
+void destroySWFTextRecord(SWFTextRecord record);
+
+int SWFTextRecord_getString(SWFTextRecord record, unsigned short** outStr);
+
+SWFTextRecord SWFText_getInitialRecord(SWFText text);
+
+SWFTextRecord SWFTextRecord_getNextRecord(SWFTextRecord record);
+
+SWFFont SWFTextRecord_getUnresolvedFont(SWFTextRecord record);
+
+void SWFTextRecord_setFontCharacter(SWFTextRecord record, SWFFontCharacter font);
+
+#endif /* SWF_TEXT_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/blocks/textfield.h
similarity index 53%
copy from src/libming.h
copy to ch/include/blocks/textfield.h
index d264458..ad901c2 100644
--- a/src/libming.h
+++ b/ch/include/blocks/textfield.h
@@ -17,71 +17,33 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* textfield.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_TEXTFIELD_H_INCLUDED
+#define SWF_TEXTFIELD_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+#define SWFTEXTFIELD_SIZE sizeof(struct _textField)
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void SWFTextField_setScaledBounds(SWFTextField field, int width, int height);
+void SWFTextField_setScaledFontHeight(SWFTextField field, int height);
+void SWFTextField_setScaledFieldHeight(SWFTextField field, int height);
+void SWFTextField_setScaledWidth(SWFTextField field, int width);
+void SWFTextField_setScaledLeftMargin(SWFTextField field, int leftMargin);
+void SWFTextField_setScaledRightMargin(SWFTextField field, int rightMargin);
+void SWFTextField_setScaledIndentation(SWFTextField field, int indentation);
+void SWFTextField_setScaledLineSpacing(SWFTextField field, int lineSpacing);
+void SWFTextField_setScaledPadding(SWFTextField field, int padding);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFTextField_setFontCharacter(SWFTextField field, SWFFontCharacter fontchar);
+SWFFont SWFTextField_getUnresolvedFont(SWFTextField field);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_TEXTFIELD_H_INCLUDED */
diff --git a/ch/include/blocks/ttffont.h b/ch/include/blocks/ttffont.h
new file mode 100644
index 0000000..9859fd3
--- /dev/null
+++ b/ch/include/blocks/ttffont.h
@@ -0,0 +1,107 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* ttffont.h
+ * 
+ * $Id$
+ *
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_TTFFONT_H_INCLUDED
+#define SWF_TTFFONT_H_INCLUDED
+
+#include <truetype.h>
+
+#include "ming.h"
+
+#define SWF_FONT_UNICODE    (1<<5)
+#define SWF_FONT_SHIFTJIS   (1<<4)
+#define SWF_FONT_ANSI       (1<<3)
+#define SWF_FONT_ISITALIC   (1<<2)
+#define SWF_FONT_ISBOLD     (1<<1)
+#define SWF_FONT_WIDECODES  (1<<0)
+
+struct KernInfo
+{
+  byte code1;
+  byte code2;
+  short adjustment;
+};
+
+struct _textList
+{
+  struct _textList *next;
+  struct _textRecord *text;		/* hrm.  any way around this? */
+};
+typedef struct _textList *SWFTextList;
+
+#define TEXTLIST_SIZE sizeof(struct _textList)
+
+struct _font
+{
+  swfCharacter character;
+  char *file;
+  int nGlyphs;
+  byte flags;
+  byte codeToGlyph[256];
+  byte glyphToCode[256];
+  byte *glyphOffset[257];
+  byte codeTable[256];
+  short advances[256];
+  SWFTextList textList;
+  SWFTextList currentList;
+};
+typedef struct _font *SWFFont;
+
+#define SWFFONT_SIZE sizeof(struct _font)
+
+struct _textRecord
+{
+  struct _textRecord *next;
+  byte flags;
+  SWFFont font;
+  byte r;
+  byte g;
+  byte b;
+  byte a;
+  int x;
+  int y;
+  int height;
+  float spacing;
+  byte *string;
+  int *advance;
+};
+typedef struct _textRecord *SWFTextRecord;
+
+#define TEXTRECORD_SIZE sizeof(struct _textRecord)
+
+SWFTextRecord newSWFTextRecord();
+void destroySWFTextRecord(SWFTextRecord record);
+
+SWFFont newSWFFont();
+void destroySWFFont(SWFFont font);
+SWFFont loadSWFFontFromTTF(char *file);
+
+void SWFFont_addTextToList(SWFFont font, struct _textRecord *text);
+void SWFFont_resolveTextList(SWFFont font);
+
+#endif /* SWF_TTFFONT_H_INCLUDED */
diff --git a/ch/include/blocks/utf8.h b/ch/include/blocks/utf8.h
new file mode 100644
index 0000000..0ac0ac5
--- /dev/null
+++ b/ch/include/blocks/utf8.h
@@ -0,0 +1,19 @@
+/* utf8.h
+ * 
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_UTF8_H_INCLUDED
+#define SWF_UTF8_H_INCLUDED
+
+#include "ming.h"
+
+int UTF8Length(const char *string);
+unsigned short UTF8GetChar(const char** strptr);
+int UTF8ExpandString(const char* string, unsigned short** outstr);
+
+#endif /* SWF_UTF8_H_INCLUDED */
diff --git a/ch/include/blocks/videostream.h b/ch/include/blocks/videostream.h
new file mode 100644
index 0000000..a4fbc2a
--- /dev/null
+++ b/ch/include/blocks/videostream.h
@@ -0,0 +1,84 @@
+/*
+    
+   Ming, an SWF output library
+   Copyright (C) 2002  Opaque Industries - http://www.opaque.net/
+   
+   15.12.2003 Klaus Rechert
+   
+   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
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+
+#ifndef SWF_VIDEOSTREAM_H_INCLUDED
+#define SWF_VIDEOSTREAM_H_INCLUDED
+
+#include "ming.h"
+
+typedef struct SWFVideoFrame_s *SWFVideoFrame;
+
+#define VIDEO_DEF_WIDTH 160
+#define VIDEO_DEF_HEIGHT 120
+
+int SWFVideoStream_getFrameNumber(SWFVideoFrame frame);
+int SWFVideoStream_getNumFrames(SWFVideoStream stream);
+
+SWFVideoStream newSWFVideoStream_fromFile(FILE *f);
+SWFVideoStream newSWFVideoStream(void);
+
+SWFBlock SWFVideoStream_getVideoFrame(SWFVideoStream stream); 
+void SWFVideoStream_setDimension(SWFVideoStream stream, int width, int height);
+#endif
+/*
+    
+   Ming, an SWF output library
+   Copyright (C) 2002  Opaque Industries - http://www.opaque.net/
+   
+   15.12.2003 Klaus Rechert
+   
+   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
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+
+#ifndef SWF_VIDEOSTREAM_H_INCLUDED
+#define SWF_VIDEOSTREAM_H_INCLUDED
+
+typedef struct SWFVideoStream_s *SWFVideoStream;
+typedef struct SWFVideoFrame_s *SWFVideoFrame;
+
+#include "block.h"
+#include "method.h"
+#include "character.h"
+#include "output.h"
+#include "input.h"
+
+int SWFVideoStream_getFrameNumber(SWFVideoFrame frame);
+SWFVideoStream newSWFVideoStream(FILE *f);
+SWFBlock SWFVideoStream_getVideoFrame(SWFVideoStream stream); 
+void SWFVideoStream_setDimension(SWFVideoStream stream, int width, int height);
+#endif
diff --git a/ch/include/displaylist.h b/ch/include/displaylist.h
new file mode 100644
index 0000000..2aff1f8
--- /dev/null
+++ b/ch/include/displaylist.h
@@ -0,0 +1,92 @@
+/*
+    Ming, an SWF output library
+    Copyright (C) 2001  Opaque Industries - http://www.opaque.net/
+
+    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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/* displaylist.h
+ * 
+ * $Id$
+ * 
+ * Notice: This header file contains declarations of functions and types that
+ * are just used internally. All library functions and types that are supposed
+ * to be publicly accessable are defined in ./src/ming.h.
+ */
+
+#ifndef SWF_DISPLAYLIST_H_INCLUDED
+#define SWF_DISPLAYLIST_H_INCLUDED
+
+#include "ming.h"
+#include "blocklist.h"
+#include "blocks/placeobject.h"
+
+
+typedef struct SWFDisplayList_s *SWFDisplayList;
+
+struct SWFDisplayItem_s
+{
+	SWFDisplayItem next;
+
+	int flags;
+	int depth;
+	SWFPlaceObject2Block block;
+
+	SWFCharacter character;
+	SWFPosition position;
+	SWFMatrix matrix;
+	struct SWFDisplayList_s *list;
+};
+
+
+/* display item */
+
+SWFCharacter SWFDisplayItem_getCharacter(SWFDisplayItem item);
+
+void SWFDisplayItem_endMask(SWFDisplayItem item);
+
+/*
+ * Methods for reading position data
+ *  - added by David McNab <david at rebirthing.co.nz>
+ */
+
+float SWFDisplayItem_get_x(SWFDisplayItem item);
+float SWFDisplayItem_get_y(SWFDisplayItem item);
+float SWFDisplayItem_get_xScale(SWFDisplayItem item);
+float SWFDisplayItem_get_yScale(SWFDisplayItem item);
+float SWFDisplayItem_get_xSkew(SWFDisplayItem item);
+float SWFDisplayItem_get_ySkew(SWFDisplayItem item);
+float SWFDisplayItem_get_rot(SWFDisplayItem item);
+
+
+/* display list */
+
+void destroySWFDisplayList(SWFDisplayList displayList);
+
+SWFDisplayList newSWFDisplayList();
+
+SWFDisplayList newSWFSpriteDisplayList();
+
+void SWFDisplayList_nextFrame(SWFDisplayList list);
+
+SWFDisplayItem SWFDisplayList_add(SWFDisplayList list, SWFCharacter shape);
+
+void SWFDisplayList_writeBlocks(SWFDisplayList list, SWFBlockList blocklist);
+
+void SWFDisplayList_setSoundStream(SWFDisplayList list, SWFSoundStream stream);
+
+void SWFDisplayList_rewindSoundStream(SWFDisplayList list);
+
+#endif /* SWF_DISPLAYLIST_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/fill.h
similarity index 54%
copy from src/libming.h
copy to ch/include/fill.h
index d264458..29a901d 100644
--- a/src/libming.h
+++ b/ch/include/fill.h
@@ -17,71 +17,23 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* fill.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
+#ifndef SWF_FILL_H_INCLUDED
+#define SWF_FILL_H_INCLUDED
 
+#include <stdlib.h>
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+SWFFillStyle SWFFill_getFillStyle(SWFFill fill);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_FILL_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/font_util.h
similarity index 54%
copy from src/libming.h
copy to ch/include/font_util.h
index d264458..7ece66a 100644
--- a/src/libming.h
+++ b/ch/include/font_util.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* font_util.h
  * 
  * $Id$
  * 
@@ -26,62 +26,18 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_FONT_UTIL_H_INCLUDED
+#define SWF_FONT_UTIL_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+SWFFont Ming_getFont(const char* name);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+SWFFont Ming_loadFont(const char* path, const char* name);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+void Ming_cleanupFonts();
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+float SWFFont_getWideStringWidth(SWFFont font, const unsigned short* string, 
+                                 int len);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_FONT_UTIL_H_INCLUDED */
diff --git a/ch/include/gc.h b/ch/include/gc.h
new file mode 100644
index 0000000..e2106c5
--- /dev/null
+++ b/ch/include/gc.h
@@ -0,0 +1,14 @@
+#ifndef GC_H
+#define GC_H 1
+
+#include "ming_config.h"
+
+/* typedef void *mem_node; */
+typedef struct mem_node_t mem_node;
+
+typedef void (*dtorfunctype)(void*);
+
+mem_node *ming_gc_add_node(void *ptr, dtorfunctype dtor);
+void ming_gc_remove_node(mem_node *node);
+
+#endif
diff --git a/src/libming.h b/ch/include/libming.h
similarity index 90%
copy from src/libming.h
copy to ch/include/libming.h
index d264458..db56c85 100644
--- a/src/libming.h
+++ b/ch/include/libming.h
@@ -29,15 +29,11 @@
 #ifndef SWF_LIBMING_H_INCLUDED
 #define SWF_LIBMING_H_INCLUDED
 
-#include <stdio.h>
-#include <math.h>
-
 
 #include "ming.h"
 #include "ming_config.h"
 
 #include "gc.h"
-#include "libming.h"
 
 extern int Ming_cubicThreshold;
 extern int SWF_versionNum;
@@ -76,12 +72,4 @@ typedef unsigned char BOOL;
   #include <unistd.h>
 #endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
-
 #endif /* SWF_LIBMING_H_INCLUDED */
diff --git a/ch/include/ming_config.h b/ch/include/ming_config.h
new file mode 100644
index 0000000..78ebffb
--- /dev/null
+++ b/ch/include/ming_config.h
@@ -0,0 +1,27 @@
+#ifndef MING_CONFIG_H
+#define MING_CONFIG_H
+
+#define USE_ZLIB 1
+#define USE_PNG  1
+#undef USE_GIF 
+
+/*
+ * Define this if you want Ming to track
+ * all objects allocations. Ming will
+ * mantain a linked doubly linked list 
+ * of allocated objects, call ming_garbage_collect
+ * to get rid of them all.
+ */
+#define TRACK_ALLOCS 1
+
+#if USE_GIF
+#undef USE_ZLIB
+#define USE_ZLIB 1
+#endif
+
+#if USE_PNG
+#undef USE_ZLIB
+#define USE_ZLIB 1
+#endif
+
+#endif
diff --git a/src/libming.h b/ch/include/movie.h
similarity index 54%
copy from src/libming.h
copy to ch/include/movie.h
index d264458..216c4c4 100644
--- a/src/libming.h
+++ b/ch/include/movie.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* movie.h
  * 
  * $Id$
  * 
@@ -26,62 +26,23 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_MOVIE_H_INCLUDED
+#define SWF_MOVIE_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+void SWFMovie_protect(SWFMovie movie);
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+void SWFMovie_addBlock(SWFMovie movie, SWFBlock block);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+void SWFMovie_writeExports(SWFMovie movie);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+/*int
+SWFMovie_outputC(SWFMovie movie, SWFByteOutputMethod method, void *data, int level);*/
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+SWFCharacter SWFMovie_importChar(SWFMovie movie, const char *filename, const char *name);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* FIXME: This function should go somewhere else */
+int completeSWFImportCharacter(SWFBlock block);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_MOVIE_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/movieclip.h
similarity index 55%
copy from src/libming.h
copy to ch/include/movieclip.h
index d264458..23a4ef4 100644
--- a/src/libming.h
+++ b/ch/include/movieclip.h
@@ -17,71 +17,24 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* movieclip.h
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_MOVIECLIP_H_INCLUDED
+#define SWF_MOVIECLIP_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
 #include "libming.h"
 
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+int SWFMovieClip_output(SWFMovieClip clip, SWFByteOutputMethod method, void *data);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+BOOL SWFMovieClip_getDependencies(SWFMovieClip clip, SWFCharacter** deps, int* nDeps);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_MOVIECLIP_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/position.h
similarity index 54%
copy from src/libming.h
copy to ch/include/position.h
index d264458..1b298a4 100644
--- a/src/libming.h
+++ b/ch/include/position.h
@@ -17,71 +17,47 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* position.h - wrap matrices in something more usable
  * 
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_POSITION_H_INCLUDED
+#define SWF_POSITION_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
 
+struct SWFPosition_s
+{
+	float x;
+	float y;
+	float xScale;
+	float yScale;
+	float xSkew;
+	float ySkew;
+	float rot;
+	SWFMatrix matrix;
+};
 
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
 
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
+float SWFPosition_getRotation(SWFPosition position);
+float SWFPosition_getX(SWFPosition position);
+float SWFPosition_getY(SWFPosition position);
 
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
+void SWFPosition_getXY(SWFPosition position, float* outX, float* outY);
 
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
+float SWFPosition_getXScale(SWFPosition position);
+float SWFPosition_getYScale(SWFPosition position);
 
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
+void SWFPosition_getXYScale(SWFPosition position, float* outXScale, float* outYScale);
 
-#ifndef WIN32
-  #include <unistd.h>
-#endif
+float SWFPosition_getXSkew(SWFPosition position);
+float SWFPosition_getYSkew(SWFPosition position);
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+void SWFPosition_getXYSkew(SWFPosition position, float* outXSkew, float* outYSkew);
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_POSITION_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/shape_cubic.h
similarity index 54%
copy from src/libming.h
copy to ch/include/shape_cubic.h
index d264458..d0b824b 100644
--- a/src/libming.h
+++ b/ch/include/shape_cubic.h
@@ -17,71 +17,20 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* shape_cubic.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_SHAPE_CUBIC_H_INCLUDED
+#define SWF_SHAPE_CUBIC_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* Currently, there are no internal functions or types */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_SHAPE_CUBIC_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/shape_util.h
similarity index 54%
copy from src/libming.h
copy to ch/include/shape_util.h
index d264458..766a244 100644
--- a/src/libming.h
+++ b/ch/include/shape_util.h
@@ -17,7 +17,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
+/* shape_util.h
  * 
  * $Id$
  * 
@@ -26,62 +26,11 @@
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_SHAPE_UTIL_H_INCLUDED
+#define SWF_SHAPE_UTIL_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* Currently, there are no internal functions or types */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_SHAPE_UTIL_H_INCLUDED */
diff --git a/src/libming.h b/ch/include/text_util.h
similarity index 54%
copy from src/libming.h
copy to ch/include/text_util.h
index d264458..6809d9d 100644
--- a/src/libming.h
+++ b/ch/include/text_util.h
@@ -17,71 +17,20 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-/* libming.h - global typedefs, etc.
- * 
+/* text_util.h
+ *
  * $Id$
- * 
+ *
  * Notice: This header file contains declarations of functions and types that
  * are just used internally. All library functions and types that are supposed
  * to be publicly accessable are defined in ./src/ming.h.
  */
 
-#ifndef SWF_LIBMING_H_INCLUDED
-#define SWF_LIBMING_H_INCLUDED
-
-#include <stdio.h>
-#include <math.h>
-
+#ifndef SWF_TEXT_UTIL_H_INCLUDED
+#define SWF_TEXT_UTIL_H_INCLUDED
 
 #include "ming.h"
-#include "ming_config.h"
-
-#include "gc.h"
-#include "libming.h"
-
-extern int Ming_cubicThreshold;
-extern int SWF_versionNum;
-extern int SWF_compression;
-extern float Ming_scale;
-extern void fileOutputMethod(byte b, void *data);
-
-
-typedef unsigned char BOOL;
-
-#ifndef TRUE
-  #define TRUE ((BOOL)1)
-#endif
-
-#ifndef FALSE
-  #define FALSE ((BOOL)0)
-#endif
-
-#ifndef M_PI
-  #define M_PI 3.14159265358979f
-#endif
-
-#ifndef min
-  #define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef max
-  #define max(a,b) (((a)>(b))?(a):(b))
-#endif
-
-#ifndef rint
-  #define rint(d) (floor((d)+0.5))
-#endif
-
-#ifndef WIN32
-  #include <unistd.h>
-#endif
 
-#if GIFLIB_GIFERRORSTRING
-static void
-PrintGifError(void)
-{
-	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
-}
-#endif
+/* Currently, there are no internal functions or types */
 
-#endif /* SWF_LIBMING_H_INCLUDED */
+#endif /* SWF_TEXT_UTIL_H_INCLUDED */
diff --git a/ch/pkgcreate.ch b/ch/pkgcreate.ch
new file mode 100755
index 0000000..5362460
--- /dev/null
+++ b/ch/pkgcreate.ch
@@ -0,0 +1,391 @@
+#!/bin/ch
+/* For creating Ch Ming 1.0, Feb 10, 2006
+
+    this script does the following:
+    + Copies headers from <MING_HOME>/src/include to ./chming/include subfolder
+    + Copies Ming DLLs to ./chming/bin subfolders
+    + Copies C/Ch samples from ./demos/ directory to ./chming/demos
+    + Generates *.h files in ./chfcreate/ directory, those files contain a 
+      list of function prototypes for Ming. This list is based off of ming.h.
+    + Processes each function list with c2chf
+    + Moves *.chf files generated by c2chf to ./chming/lib subfolder and
+      *_chdl.c files to ./c subfolder
+    + Builds .dl files using Ch SDK and places them to ./chming/dl
+*/
+
+#include <unistd.h>   // for access()
+#include <dlfcn.h>    // for dlopen()
+#include <chshell.h>  // for chinfo()
+
+int addChdlHeader(char *headerfile, char *macro, char *chdlheader);
+int removeFuncProto(char *filename, char *funcname, int keepNum);
+int changeChfFiles(char *IncDir, char *LibDir);
+
+string_t pkgname="chming";      // define package name
+chinfo_t info;                  // for Ch version number
+string_t cwd = _cwd;            // the current working directory
+string_t lib_header_dir;        // library header files directory
+string_t debugFile;             // compilation debug information in Windows
+string_t debug;
+string_t makecmd;
+int i;
+#if defined(_WIN32_)
+    debug=">nul 2>nul";         // surpress messages during cleaning  in Windows
+    debugFile =">logfile 2>&1"; // compilation debug information in 'logfile'
+    makecmd = "nmake -f Makefile.win";
+#else
+    makecmd = "make -f Makefile";
+#endif
+
+
+//make sure pgkcreate.ch is run from the current working directory
+if(access("pkgcreate.ch", R_OK)) {
+    echo Run ./pkgcreate.ch in the current directory.
+    exit(-1);
+}
+// run this script in proper Ch version
+chinfo(&info);
+if ((info.vermajor*100+ info.verminor*10 +  info.vermicro) < 501) {
+   echo "To run this script, you need to install Ch version 5.0.1.12201 or higher"
+   echo "You can download the latest version from http://www.softintegration.com/download"
+   exit(-1);
+}
+
+
+echo Cleaning up existing directories and create new ones ...
+if (!access(pkgname, F_OK))
+  rm -rf $pkgname
+
+/* create directories */
+echo create $pkgname directories
+mkdir $pkgname
+mkdir $pkgname/dl $pkgname/lib $pkgname/include $pkgname/demos $pkgname/bin
+if(access("chfcreate", R_OK)) {
+   mkdir chfcreate
+}
+
+echo Copying header files ...
+cp -f ../src/ming.h  	       $pkgname/include
+cp -f ../src/ming_config.h     $pkgname/include
+
+// if the original package doesn't have the modiciation for Ch
+if(`grep LOAD_CHDL $pkgname/include/ming.h` == NULL)
+{
+    echo Adding LOAD_CHDL into ming.h ...
+    char *macro ="#define Ming_H";
+    char *chdlheader =
+   "\n\n"
+   "#ifdef _CH_\n"
+   "#pragma package <chming> \n"
+   "#include <chdl.h> \n"
+   "LOAD_CHDL(ming); \n"
+   "#endif \n\n";
+   addChdlHeader(stradd(pkgname, "/include/ming.h"), macro, chdlheader);
+}
+
+echo Copying demo programs ...
+cp -fr demos/*        $pkgname/demos
+chmod 755 $pkgname/demos/*.c*
+if(!access(stradd(pkgname, "/demos/CVS"), R_OK)) {
+   rm -rf $pkgname/demos/CVS
+}
+
+//echo copying DLLs ...
+#if defined(_WIN32_)
+    //if there is dynamical library pkgname 
+    cp -f ../bin/*.dll $pkgname/bin/ >nul 2>&1
+#endif
+
+/* ming function does not have a common return type */
+echo Creating a header file containing all functions to export ...
+char *returnTypes[]={"int", "void", "float",
+   "SWFBlock", "SWFMatrix", "SWFInput", "SWFCharacter", "SWFDBLBitmap",
+   "SWFDBLBitmapData", "SWFJpegBitmap", "SWFJpegWithAlpha", "SWFGradient",
+   "SWFFillStyle", "SWFLineStyle", "SWFShape", "SWFMorph", "SWFFont",
+   "SWFText", "SWFBrowserFont", "SWFFontCharacter", "SWFTextField",
+   "SWFSoundStream", "SWFSound", "SWFSoundInstance", "SWFCXform", "SWFAction",
+   "SWFButton", "SWFSprite", "SWFPosition", "SWFDisplayItem", "SWFFill",
+   "SWFMovieClip", "SWFMovie", "SWFVideoStream", NULL};
+
+char *fileName;
+rm -rf ./chfcreate/ming.h
+
+for(i=0;returnTypes[i]!=NULL;i++)
+{
+   
+   fileName = stradd("chfcreate/", returnTypes[i], ".h");
+   processhfile(returnTypes[i], 1, ";", stradd(pkgname, "/include/ming.h"), 
+      fileName, NULL);
+   cat $fileName >> ./chfcreate/ming.h
+   rm -rf $fileName
+}
+
+
+echo Removing duplicates in ming.h ...
+removeFuncProto("chfcreate/ming.h", "SWFSoundInstance_setNoMultiple", 1);
+
+echo Removing special function prototypes in ming.h ...
+/* depreceated */
+removeFuncProto("chfcreate/ming.h", "SWFMovie_outputC", 0);
+/* have pointer to function*/
+removeFuncProto("chfcreate/ming.h", "Ming_setWarnFunction", 0);
+removeFuncProto("chfcreate/ming.h", "Ming_setErrorFunction", 0);
+removeFuncProto("chfcreate/ming.h", "SWFMovie_output", 0);
+
+echo Generating ming_chdl.c in c/ directory and xxx.chf in $pkgname/lib ...
+c2chf chfcreate/ming.h -o c c -o chf $pkgname/lib
+
+echo Patching special .chf files ...
+cp -f chfhandmade/*.chf $pkgname/lib
+chmod 644 $pkgname/lib/*.chf
+
+echo Patching .chf files that return pointer to structure ...
+changeChfFiles("../src", stradd(pkgname, "/lib"));
+
+echo Building the dynamically loaded library ...
+cd c
+$makecmd clean $debug
+$makecmd $debugFile
+
+// go back to original directory
+cd $cwd
+
+echo Adding .DLL path and testing .dl file ...
+#pragma exec _path=stradd(_path, "chming/bin");
+if (dlopen("c/libming.dl", RTLD_LAZY) == NULL) {
+    printf("Error: test of loading libming.dl: %s\n", dlerror());
+    exit(-1);
+}
+
+mv -f c/libming.dl "$cwd/$pkgname/dl"
+
+echo package $pkgname created successfully!
+
+
+/*******************************************************************
+ * * This function will add the required preprocessing directives
+ * * needed by Ch to a header file.
+ * * headerfile:   header file to be changed
+ * * macro:        token to be recoganized for insertion of chdlheader
+ * * chdlheader:   preprocessing directives to be inserted
+ * *******************************************************************/
+int addChdlHeader(char *headerfile, char *macro, char *chdlheader)
+{
+   char *stop_ptr;
+   string_t tempfile, token;
+   string_t result;
+   FILE *stream;
+                            
+   tempfile = ``cat $headerfile``;
+   token = strstr( tempfile, macro);
+   stop_ptr = strstr(token, "\n");
+   strncpy(result, tempfile, strlen(tempfile)-strlen(stop_ptr));
+   result=stradd(result, chdlheader);
+   result=stradd(result, stop_ptr);
+   if(!(stream = fopen("_tmpfile", "w")))
+   {
+      perror("_tmpfile");
+      return -1;
+   }
+   fprintf(stream, "%s", result);
+   fclose(stream);
+   mv -f _tmpfile $(headerfile)
+   return 0;
+}
+
+
+/*************************************************************************
+ * (C) Copyright 2005 SoftIntegration, Inc.
+ * This function is in public domain, use as it is without any warranty.
+ ************************************************************************** 
+ * This function removes function prototypes such as
+ *     int func1(int i);
+ * from a header file that has already been filtered through processhfile().
+ *
+ * Argumnets:
+ *    filename: name of the file to process
+ *    funcname: function name to look for
+ *    keepNum: if 0, remove all occurances of this prototype.
+ *             if >0 , keep the keepNum desired funcname that is found.
+ * Example:
+ *    removeFuncProto("chfcreate/test.h", "func1", 2);
+ * This will remove all instances except for the 2nd instance of the function, 
+ * func1(), prototype that is found in the file chfcreate/test.h.
+ ***************************************************************/
+#define LINESIZE 1024
+int removeFuncProto(char *filename, char *funcname, int keepNum)
+{
+   char line[LINESIZE], *ptr;
+   string_t filenameout;
+   FILE *stream1, *stream2;
+   int num = 0;
+
+   /* Check to see if the funcname provided is NULL */
+   if (funcname == NULL)
+   {
+      printf("Error: %s: Null funcname recieved.\n", __func__);
+      return -1;
+   }
+
+   /* Check for access to the file */
+   if(!(stream1 = fopen(filename, "r")))
+   {
+      printf("Error: %s: Unable to open '%s' for reading.\n", __func__, filename);
+      return -1;
+   }
+
+   filenameout = tmpnam(NULL);
+   /* Check for access to the file */
+   if(!(stream2 = fopen(filenameout, "w")))
+   {
+      printf("Error: %s: Unable to open '%s' for writing.\n", __func__, filenameout);
+      return -1;
+   }
+
+    fgets(line, LINESIZE , stream1);
+    while(!feof(stream1)) {
+        if(ptr = strstr(line, funcname)) {
+           if(*(ptr-1) == ' ' || *(ptr-1) == '\t' || /* find ' ' in "int' 'funcname();" */
+              *(ptr-1) == '*')     /* find * in "int *funcname();" */
+           {
+              ptr += strlen(funcname);
+              while(*ptr == ' ')         /* skip ' ' in "int funcname' '();" */
+              {
+                 ptr++;
+              }
+              if(*ptr == '(') {          /* Find '(' in "int funcname();" */
+                 num++;
+                 if(num != keepNum) {
+                   while(!strchr(line, ';'))      /* till find ';' in "int funcname();" */
+                   {
+                     fgets(line, LINESIZE , stream1);
+                   }
+                   fgets(line, LINESIZE , stream1);
+                   continue;
+                 }
+              }
+           }
+        }
+        fputs(line, stream2);
+        fgets(line, LINESIZE , stream1);
+    }
+    fclose(stream1);
+    fclose(stream2);
+   /* Move the temperary file to the original file. */
+    mv -f $filenameout $filename
+    return 0;
+}
+
+/*******************************************************************
+* This function will change the chf files so that they return
+* a NULL instead of a -1 when a pointer to structure is returned by the 
+* function.
+* The list of known structures are normally provided in the ming.h 
+* header file.
+*
+* IncDir: Directory where ming.h is located
+* LibDir: Directory where the chf files should be modified
+*******************************************************************/
+int changeChfFiles(char *IncDir, char *LibDir)
+{
+   string_t structList;
+   string_t tempStructList;
+   string_t tempStr;
+   string_t chfList;
+   string_t chfFile;
+   string_t output;
+   string_t workingDir;
+   char *chfFileName;
+   char *tempChrPtr;
+   char *test;
+   char *startChrPtr;
+   char *endChrPtr;
+   char *macro = "return -1;";
+   char *mingHeaderLocation = stradd(IncDir, "/ming.h");
+   FILE *fptr;
+   
+   workingDir = _cwd;
+
+   if(access(mingHeaderLocation, R_OK)) 
+   {
+       printf("Error: Unable to find '%s'.\n"
+              "Chf files will not be modified.\n", 
+              mingHeaderLocation);
+       return -1;
+   }
+
+   if(access(LibDir, R_OK)) 
+   {
+       printf("Error: Unable to find '%s'.\n"
+              "Chf files will not be modified.\n", 
+              LibDir);
+       return -1;
+   }
+
+   tempStructList = `grep "typedef struct" $mingHeaderLocation`; 
+
+   foreach(tempChrPtr; tempStructList; NULL; ";")
+   {
+
+       if( (tempChrPtr = strstr(tempChrPtr, "*")) == NULL)
+       {
+           continue;
+       }
+
+       tempChrPtr += 1;
+       endChrPtr = strstr(tempChrPtr, ";"); 
+       
+       strncpy(tempStr, tempChrPtr, strlen(tempChrPtr)-strlen(endChrPtr));
+       structList = stradd(structList, tempStr, " ");
+   }
+
+#ifdef DEBUG
+   printf("%s\n", structList);
+#endif
+
+   cd $LibDir
+
+#ifdef DEBUG
+   printf("\tModifying Chf Files...\n");
+#endif
+   
+   foreach(tempChrPtr; structList; NULL; " ")
+   {
+       test = stradd(tempChrPtr, " retval");
+       chfList = `grep -l "$test" *.chf`;
+
+#ifdef DEBUG
+       printf("looking for %s\n", tempChrPtr);
+       printf("%s\n", chfList);
+#endif
+
+       foreach(chfFileName; chfList; NULL; " ")
+       {
+
+#ifdef DEBUG
+           printf("testing file %s\n", chfFileName);
+#endif
+
+           chfFile = ``cat $chfFileName``;
+
+           if( (startChrPtr = strstr(chfFile, macro)) == NULL)
+           {
+               printf("\t%s not found in %s.\n", macro, chfFileName);
+               continue;
+           }
+
+           strncpy(output, chfFile, strlen(chfFile)-strlen(startChrPtr));
+           startChrPtr += strlen(macro);
+           output = stradd(output, "return NULL;", startChrPtr);
+
+           fptr = fopen("temp12345.txt", "w");
+           fprintf(fptr, "%s", output);
+           fclose(fptr);
+           mv -f temp12345.txt $chfFileName
+       }
+   }
+   
+   cd $workingDir
+
+   return 0;
+}
diff --git a/ch/pkginstall.ch b/ch/pkginstall.ch
new file mode 100755
index 0000000..2563355
--- /dev/null
+++ b/ch/pkginstall.ch
@@ -0,0 +1,325 @@
+#!/bin/ch
+/* Ch package installer script in Ch */
+// pkginstall.ch version 1.0.2, April 8, 2005
+// *) If a package already installed, after uninstallation,
+//    install the new package immediately.
+// pkginstall.ch version 1.0.1, April 8, 2005
+// *) fixed installation in a dir with blank space
+// pkginstall.ch version 1.0.1, April 6, 2005
+// *) fixed installation with large number of .chf files in lib
+// pkginstall.ch version 1.0, March 23 2005
+/* 
+     By default, pkginstall installs a package in the current 
+     directory  into the <CHHOME>/package and copies required header 
+     files in package/include into the CHHOME/toolkit/include  
+     directory. It has minimized changes.
+  
+     If you want to install ch package into your preferred directory,
+     you can specify it in the comand line. During the installation,
+     it will modify _ipath and _ppath in .chrc in Unix or _chrc 
+     in Windows in the  user home  directory.  During installation, 
+     an installation file is created under the <CHHOME>/package/installed
+     directory with  a list of the installed directories and files. 
+
+     This program can also uninstall a Ch Package by removing header
+     files  installed  into  the CHHOME/toolkit/include directory
+     and the package in the CHHOME/package directory based on the
+     corresponding  package   file  in  CHHOME/package/installed
+     directory.
+
+     Usage: pkginstall.ch [-u] [-d directory] PackageName
+       -u             uninstall 'packagename'
+       -d directory   directory to install 'PackageName'
+       Examples:
+         (1) uninstallation:
+               pkginstall.ch -u chpng
+         (2) installation to the default directory:
+               pkginstall.ch chpng
+         (3) installation to your preferred directory:
+               pkginstall.ch -d /your/preferred/directory chpng
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdbool.h>
+
+int main(int argc, char **argv) {
+   char usage[] = 
+      "Usage: pkginstall.ch [-u] [-d directory] package\n"
+      "       -u             uninstall 'package'\n"
+      "       -d directory   directory to install 'package'\n"
+      "       Examples:\n" 
+      "         (1) uninstallation:\n" 
+      "               pkginstall.ch -u chpng \n"
+      "         (2) installation to the default directory:\n" 
+      "               pkginstall.ch chpng\n"
+      "         (3) installation to your preferred directory:\n" 
+      "               pkginstall.ch -d /your/preferred/directory chpng\n";
+   string_t pkgname;             // chpng
+   string_t chhome;              // C:/ch
+   string_t chtoolkit;           // C:/ch/toolkit
+   string_t chtoolkitinc;        // C:/ch/toolkit/include
+   string_t chpackage;           // C:/ch/package
+   string_t chpackagename;       // C:/ch/package/chpng
+   string_t chpackagenameinc;    // C:/ch/package/chpng/include
+   string_t chpackageinstalled;  // C:/ch/package/installed
+   string_t chpackageinstallpkg; // C:/ch/package/installed/chpng
+   string_t installedfiles;      // files listed in $chpackageinstallpkg
+   string_t headerfiles;         // installed header files in $chtoolkitinc 
+   int u_option = false;         // -u option
+   int d_option = false;         // -d option
+   char *s, check;
+   string_t cwd = _cwd;
+   string_t token;
+   string_t str_temp;
+   string_t dotchrc;             // .chrc or _chrc
+   string_t str_chrc_file;       // contents of ~/.chrc or ~/_chrc
+   int install_file_ok = 0;
+   int pkg_dir_ok = 0;
+   FILE *fptr_installed;
+   FILE *fptr_chrc;
+
+   argc--; argv++;
+   while(argc>0 && **argv =='-')
+   {
+      for(s = argv[0]+1; *s&&*s!=' '; s++)  /* empty space not valid option */
+      switch(*s)
+      {
+         case 'u':
+            u_option = true;   /* uninstall package */
+            break;
+         case 'd':             /* the directory to install package */
+            d_option = true;
+            argc--; argv++;
+            chpackage = *argv;
+            break;
+         default:
+            fprintf(stderr,"Warning: invalid option %c\n\n", *s);
+            fprintf(stderr,usage);
+            exit(1);
+            break;
+      }
+      argc--; argv++;
+   } 
+
+   if(argc==1) {            /* get the package name */
+     if((*argv)[strlen(*argv)-1] == '/') /* change "chpng/" to "chpng" */
+     {
+       fprintf(stderr, "Error: invalid package name '%s'\n\n", *argv);
+       fprintf(stderr,usage);
+       exit(1);
+     }
+     pkgname = *argv;
+   }
+   else {
+      fprintf(stderr,usage);
+      exit(1);
+   }
+
+   /* Get installation directories for Ch package */
+   chhome=getenv("CHHOME");
+   if (chhome==NULL) {
+      printf("Sorry, CHHOME cannot be found\n");
+      printf("Please install Ch first from http://www.softintegration.com\n");
+      exit(0);
+   }
+   chtoolkit = stradd(chhome, "/toolkit");
+   chtoolkitinc = stradd(chhome, "/toolkit/include");
+   if(d_option == false) {
+     chpackage = stradd(chhome, "/package");
+     chpackageinstalled = stradd(chhome, "/package/installed");
+     chpackageinstallpkg = stradd(chhome, "/package/installed/", pkgname);
+   }
+   chpackagename = stradd(chpackage, "/", pkgname);
+   chpackagenameinc = stradd(chpackagename, "/include");
+
+   if(access(chpackage, W_OK)) 
+   {
+      if(u_option == true) {
+        fprintf(stderr, "You do not have privilege to remove this package.\n");
+        fprintf(stderr, "Please login as 'root' to run this script\n");
+        exit(0);
+      }
+      else if(d_option == true) {
+        fprintf(stderr, "You do not have privilege to install this package in '%s'\n", chpackagename);
+        exit(0);
+      }
+      else {
+        fprintf(stderr, "You do not have privilege to install this package in '%s'\n", chpackagename);
+        fprintf(stderr, "Please login as 'root' to run this script\n");
+        fprintf(stderr, "or provide a directory to install this package.\n\n");
+        fprintf(stderr,usage);
+        exit(0);
+      }
+
+   }
+
+   if(u_option)  /* uninstall package */
+   {
+      // package exists ?
+      if(!access(chpackagename, R_OK)) 
+        pkg_dir_ok = 1;
+      // installation file exists ?
+      if(!access(chpackageinstallpkg, R_OK))
+        install_file_ok = 1;
+
+      if( pkg_dir_ok && !install_file_ok) {
+         fprintf(stderr, "\nPackage '%s' appears to have been installed\n"
+           "but the Installation information file does not exist.\n"
+           "Would you like to completely remove the directory %s (Y or N)?:" , pkgname, chpackagename);
+         check = getchar();
+         if (!(check=='y' || check == 'Y')) 
+         {
+            exit(1);
+         } 
+         while(getchar() != '\n');
+         printf("\n");
+         rm -rf $chpackagename
+      }
+      else if(!pkg_dir_ok && !install_file_ok)
+      {
+          fprintf(stderr, "\nPackage '%s' was not installed\n", pkgname);
+          exit(0);
+      }
+      else
+      {
+         if(!pkg_dir_ok)
+         {
+           fprintf(stderr, "\nThe package directory does not exist but an installation"
+		        " file for the\npackage was found.  Removing possible"
+	                " remaining files.\n");
+         }
+         installedfiles = `cat $chpackageinstallpkg`;
+         foreach(token; installedfiles)
+         {
+            rm -rf $token
+         }
+         rm -rf $chpackageinstallpkg
+      }
+      printf("\nPackage '%s' has been uninstalled.\n\n", pkgname);
+      exit(0);
+   }
+   /* end uninstall option */
+
+   if(access(pkgname, R_OK))
+   {
+      fprintf(stderr, "\nPackage '%s' not found in the current diretory.\n\n", pkgname);
+      exit(1);
+   }
+
+   if(!access(chpackageinstallpkg, R_OK))
+   {
+      printf("\nPackage '%s' was already installed.\n"
+             "Uninstall package '%s'(Y or N)?: ", pkgname, pkgname);
+      check = getchar();
+      if( check != 'y' && check != 'Y' )
+         exit(0);
+      while(getchar() != '\n');
+      ./pkginstall.ch -u $pkgname
+      ./pkginstall.ch $pkgname
+      exit(0);
+   }
+   
+   if(!access(chpackagename, R_OK))
+   {
+      fprintf(stderr, "\nIt appears that the %s package was installed by manually without running\n"
+                      "pkginstall.ch or the package directory was not completely removed\n" 
+		      "during previous uninstallation.\n"
+		      "Overwrite and continue installation (Y or N)?: ", pkgname);
+      check = getchar();
+      if (!(check=='y' || check == 'Y')) 
+      {
+         exit(1);
+      } 
+      while(getchar() != '\n');
+	  printf("\n");
+   }
+
+   printf("Install package '%s' to %s now, please wait...\n", pkgname, chpackage);
+#ifdef _WIN32_
+      tar cf $(pkgname).tar $(pkgname)
+      cd $chpackage
+      tar xf "$cwd/$(pkgname).tar"
+      cd $cwd
+      rm -f $(pkgname).tar
+#else
+      tar cf - $(pkgname) | (cd $chpackage; tar xf - )
+#endif
+
+   /* install in the default package dir CHHOME/package */
+   if(d_option == false) { 
+      if(access(chpackageinstalled, R_OK) )
+      {
+         mkdir $chpackageinstalled
+      }  
+      if((fptr_installed = fopen(chpackageinstallpkg, "w")) == NULL)
+      {
+        fprintf(stderr, "\n\nERROR: fopen: cannot open file %s for write.\n\n", chpackageinstallpkg); 
+         exit(1);
+      }
+
+      fprintf(fptr_installed, "%s\n", chpackagename);
+      cd $chpackagenameinc
+      headerfiles = `ls`;
+      foreach(token; headerfiles)
+      {
+         cp -rfp $token $chtoolkitinc
+         fprintf(fptr_installed, "%s\n", stradd(chtoolkitinc, "/",token));
+      }
+      fclose( fptr_installed);
+   }
+   else
+   {
+#if defined(_WIN32_)
+      dotchrc = "_chrc";
+#else
+      dotchrc = ".chrc";
+#endif
+      cd ~
+      if(access(dotchrc, F_OK)) {
+           fprintf(stderr, "\nERROR: ~/'%s' does not exist\n"
+	                   "run 'ch -d' to create it.\n");
+           exit(0);
+      } 
+      str_chrc_file = `cat $dotchrc`;
+      str_temp = stradd("_ipath=stradd(_ipath,\"",chpackagenameinc, ";\");");
+      foreach(token;str_chrc_file;"\0";" ")
+      {
+        if(!strcmp(token, str_temp))
+        {
+           token = "found";
+           break;
+        }
+      }
+      if(token == NULL)
+      {
+
+        if( (fptr_chrc = fopen(dotchrc, "a")) == NULL)
+        {
+           fprintf(stderr, "\nERROR: fopen: Unable to open ~/%s for append\n", dotchrc);
+        } 
+        else
+        { 
+           fprintf(fptr_chrc, "%s\n", str_temp);
+           str_temp = stradd("_ppath=stradd(_ppath,\"",chpackage, ";\");");
+           fprintf(fptr_chrc, "%s\n", str_temp);
+           fclose( fptr_chrc);
+        }
+      }
+      cd -
+   }
+
+   printf("Package '%s' has been successfully installed.\n\n", pkgname);
+   if(!access(stradd(chpackagename, "/demos"), R_OK)) {
+     printf("Please try demo programs for this package in \n"
+          "%s\n\n", stradd(chpackagename, "/demos")); 
+   }
+   if(!access("postinstall.ch", R_OK))
+   {
+      printf("You must run the post installation program,\n"
+             "   %s\nbefore running any demos.\n\n", "postinstall.ch");
+   }
+
+   return 0;
+}
diff --git a/ch/readme.txt b/ch/readme.txt
new file mode 100644
index 0000000..844d478
--- /dev/null
+++ b/ch/readme.txt
@@ -0,0 +1,70 @@
+The Ch Ming package is a Ch binding to the libming C library.
+
+Ch is an embeddable C/C++ interpreter. Which the Ch Ming package,
+C (or C++) programs using Ming C functions can readily run in 
+Ch without compilation.
+
+
+Release Notes
+----------------------------------
+Ch Ming v1.0.0, May 2nd, 2005
+   First release. It has been tested in both Windows, Linux, 
+   and Mac OSX 10.3 with fink
+
+
+System Requirements
+--------------------------------------------
+(1) Ch Standard or Professional Edition version 5.1.0.12621 or higher.
+    Ch is available from http://www.softintegration.com.
+(2) It has been tested and works with Ming version 0.3 beta 1 or above. 
+    It might work with lower version without guarantee. For Windows, the 
+    release version of the Ming library must be built. For Unix, either
+    static or shared versions of the Ming library can be used. With 
+    shared, the library must be installed.
+(3) the dependant ZLIB binary library for Ming is required
+(4) the dependant GIF binary library for Ming is optional 
+(5) the dependant PNG binary library for Ming is optional
+
+NOTE: (for Windows)
+  If the PNG or GIF library are not used, the c/Makefile.win file must
+  be modified in order to build under Windows.
+
+
+Contents
+--------------------------
+Ch Ming package contains the following directories
+
+(1) Files and utilities used to build Ch Ming package
+    using native C compiler and Ch SDK
+Makefile      ---  makefile for handing different commands
+chfcreate     ---  bare Ming headers for creating .chf files
+chfhandmade   ---  Ch function files in .chf for special functions
+demos         ---  demos to run in Ch
+pkgcreate.ch  ---  A Ch program to update Ch Ming package
+license       ---  license file, the same license as MING
+readme.txt    ---  this readme file
+
+
+Installation Instructions:
+--------------------------
+(1) Run command 
+        make 
+        make install
+
+
+Uninstallation Instructions:
+--------------------------
+(1) Run command
+        make uninstall
+
+
+Run Demo Programs in Directory CHHOME/package/chming/demos:
+-------------------------------------------------------------
+(1) start ch
+(2) type program name such as 'action.c'
+
+
+Contributors
+------------------------------------------------------
+Stephen Nestinger   ssn17 at yahoo.com
+
diff --git a/config/.gitignore b/config/.gitignore
new file mode 100644
index 0000000..66898f7
--- /dev/null
+++ b/config/.gitignore
@@ -0,0 +1 @@
+ltmain.sh
diff --git a/config/ltmain.sh b/config/ltmain.sh
deleted file mode 100644
index 33f642a..0000000
--- a/config/ltmain.sh
+++ /dev/null
@@ -1,9661 +0,0 @@
-
-# libtool (GNU libtool) 2.4.2
-# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool 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.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [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
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --no-warn            don't display warning messages
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# 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.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:	$host
-#         shell:		$SHELL
-#         compiler:		$LTCC
-#         compiler flags:		$LTCFLAGS
-#         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.1
-#         automake:	$automake_version
-#         autoconf:	$autoconf_version
-#
-# Report bugs to <bug-libtool at gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.1"
-TIMESTAMP=""
-package_revision=1.3337
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-	  export $lt_var
-	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
-	fi"
-done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-
-$lt_unset CDPATH
-
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-
-
-: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" 	$lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-} # func_dirname may be replaced by extended shell implementation
-
-
-# func_basename file
-func_basename ()
-{
-    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
-
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-    # Extract subdirectory from the argument.
-    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-    case ${2} in
-      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-    esac
-} # func_stripname may be replaced by extended shell implementation
-
-
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
-		s@/\./@/@g
-		t dotsl
-		s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
-
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-#             value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
-  # Start from root dir and reassemble the path.
-  func_normal_abspath_result=
-  func_normal_abspath_tpath=$1
-  func_normal_abspath_altnamespace=
-  case $func_normal_abspath_tpath in
-    "")
-      # Empty path, that just means $cwd.
-      func_stripname '' '/' "`pwd`"
-      func_normal_abspath_result=$func_stripname_result
-      return
-    ;;
-    # The next three entries are used to spot a run of precisely
-    # two leading slashes without using negated character classes;
-    # we take advantage of case's first-match behaviour.
-    ///*)
-      # Unusual form of absolute path, do nothing.
-    ;;
-    //*)
-      # Not necessarily an ordinary path; POSIX reserves leading '//'
-      # and for example Cygwin uses it to access remote file shares
-      # over CIFS/SMB, so we conserve a leading double slash if found.
-      func_normal_abspath_altnamespace=/
-    ;;
-    /*)
-      # Absolute path, do nothing.
-    ;;
-    *)
-      # Relative path, prepend $cwd.
-      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-    ;;
-  esac
-  # Cancel out all the simple stuff to save iterations.  We also want
-  # the path to end with a slash for ease of parsing, so make sure
-  # there is one (and only one) here.
-  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-  while :; do
-    # Processed it all yet?
-    if test "$func_normal_abspath_tpath" = / ; then
-      # If we ascended to the root using ".." the result may be empty now.
-      if test -z "$func_normal_abspath_result" ; then
-        func_normal_abspath_result=/
-      fi
-      break
-    fi
-    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcar"`
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcdr"`
-    # Figure out what to do with it
-    case $func_normal_abspath_tcomponent in
-      "")
-        # Trailing empty path component, ignore it.
-      ;;
-      ..)
-        # Parent dir; strip last assembled component from result.
-        func_dirname "$func_normal_abspath_result"
-        func_normal_abspath_result=$func_dirname_result
-      ;;
-      *)
-        # Actual path component, append it.
-        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-      ;;
-    esac
-  done
-  # Restore leading double-slash if one was found on entry.
-  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-#             value returned in "$func_relative_path_result"
-func_relative_path ()
-{
-  func_relative_path_result=
-  func_normal_abspath "$1"
-  func_relative_path_tlibdir=$func_normal_abspath_result
-  func_normal_abspath "$2"
-  func_relative_path_tbindir=$func_normal_abspath_result
-
-  # Ascend the tree starting from libdir
-  while :; do
-    # check if we have found a prefix of bindir
-    case $func_relative_path_tbindir in
-      $func_relative_path_tlibdir)
-        # found an exact match
-        func_relative_path_tcancelled=
-        break
-        ;;
-      $func_relative_path_tlibdir*)
-        # found a matching prefix
-        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-        func_relative_path_tcancelled=$func_stripname_result
-        if test -z "$func_relative_path_result"; then
-          func_relative_path_result=.
-        fi
-        break
-        ;;
-      *)
-        func_dirname $func_relative_path_tlibdir
-        func_relative_path_tlibdir=${func_dirname_result}
-        if test "x$func_relative_path_tlibdir" = x ; then
-          # Have to descend all the way to the root!
-          func_relative_path_result=../$func_relative_path_result
-          func_relative_path_tcancelled=$func_relative_path_tbindir
-          break
-        fi
-        func_relative_path_result=../$func_relative_path_result
-        ;;
-    esac
-  done
-
-  # Now calculate path; take care to avoid doubling-up slashes.
-  func_stripname '' '/' "$func_relative_path_result"
-  func_relative_path_result=$func_stripname_result
-  func_stripname '/' '/' "$func_relative_path_tcancelled"
-  if test "x$func_stripname_result" != x ; then
-    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-  fi
-
-  # Normalisation. If bindir is libdir, return empty string,
-  # else relative path ending with a slash; either way, target
-  # file name can be directly appended.
-  if test ! -z "$func_relative_path_result"; then
-    func_stripname './' '' "$func_relative_path_result/"
-    func_relative_path_result=$func_stripname_result
-  fi
-}
-
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=$func_dirname_result
-     progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
-     ;;
-  *)
-     save_IFS="$IFS"
-     IFS=${PATH_SEPARATOR-:}
-     for progdir in $PATH; do
-       IFS="$save_IFS"
-       test -x "$progdir/$progname" && break
-     done
-     IFS="$save_IFS"
-     test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
-     ;;
-esac
-
-# 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='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
-
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
-
-    # bash bug again:
-    :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information."  ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    my_directory_path="$1"
-    my_dir_list=
-
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-	# list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
-
-        # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
-      done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
-
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-	IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
-      done
-      IFS="$save_mkdir_p_IFS"
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
-    fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$opt_dry_run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-        save_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
-    fi
-
-    $ECHO "$my_tmpdir"
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
-    case $1 in
-      *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
-      *)
-        func_quote_for_eval_unquoted_result="$1" ;;
-    esac
-
-    case $func_quote_for_eval_unquoted_result in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
-        ;;
-      *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
-    esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    case $1 in
-      *[\\\`\"]*)
-	my_arg=`$ECHO "$1" | $SED \
-	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        my_arg="$1" ;;
-    esac
-
-    case $my_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        my_arg="\"$my_arg\""
-        ;;
-    esac
-
-    func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-	    $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
-  case $1 in
-  [0-9]* | *[!a-zA-Z0-9_]*)
-    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
-    ;;
-  * )
-    func_tr_sh_result=$1
-    ;;
-  esac
-}
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $opt_debug
-
-    $SED -n '/(C)/!b go
-	:more
-	/\./!{
-	  N
-	  s/\n# / /
-	  b more
-	}
-	:go
-	/^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-	s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $opt_debug
-
-    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-        s/^# //
-	s/^# *$//
-	s/\$progname/'$progname'/
-	p
-    }' < "$progpath"
-    echo
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
-}
-
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
-func_help ()
-{
-    $opt_debug
-
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-	:print
-        s/^# //
-	s/^# *$//
-	s*\$progname*'$progname'*
-	s*\$host*'"$host"'*
-	s*\$SHELL*'"$SHELL"'*
-	s*\$LTCC*'"$LTCC"'*
-	s*\$LTCFLAGS*'"$LTCFLAGS"'*
-	s*\$LD*'"$LD"'*
-	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
-	p
-	d
-     }
-     /^# .* home page:/b print
-     /^# General help using/b print
-     ' < "$progpath"
-    ret=$?
-    if test -z "$1"; then
-      exit $ret
-    fi
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    $opt_debug
-
-    func_error "missing argument for $1."
-    exit_cmd=exit
-}
-
-
-# func_split_short_opt shortopt
-# Set func_split_short_opt_name and func_split_short_opt_arg shell
-# variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
-{
-    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
-    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
-
-    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
-    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
-
-
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
-{
-    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
-    my_sed_long_arg='1s/^--[^=]*=//'
-
-    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
-    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
-
-exit_cmd=:
-
-
-
-
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-    eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
-
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
-    func_quote_for_eval "${2}"
-    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
-
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-    func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
-
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
-
-
-# func_lo2o object
-func_lo2o ()
-{
-    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
-
-
-# func_xform libobj-or-source
-func_xform ()
-{
-    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
-
-
-# func_fatal_configuration arg...
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
-}
-
-
-# func_config
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-# func_features
-# Display the features supported by this script.
-func_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 $?
-}
-
-# func_enable_tag tagname
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-  # Global variable:
-  tagname="$1"
-
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
-
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
-    *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-	taglist="$taglist $tagname"
-
-	# Evaluate the configuration.  Be careful to quote the path
-	# and the sed script, to avoid splitting on whitespace, but
-	# also don't use non-portable quotes within backquotes within
-	# quotes we have to do it in 2 steps:
-	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-	eval "$extractedcf"
-      else
-	func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-    fi
-
-    exit $EXIT_MISMATCH
-  fi
-}
-
-
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
-  shift; set dummy --mode clean ${1+"$@"}; shift
-  ;;
-compile|compil|compi|comp|com|co|c)
-  shift; set dummy --mode compile ${1+"$@"}; shift
-  ;;
-execute|execut|execu|exec|exe|ex|e)
-  shift; set dummy --mode execute ${1+"$@"}; shift
-  ;;
-finish|finis|fini|fin|fi|f)
-  shift; set dummy --mode finish ${1+"$@"}; shift
-  ;;
-install|instal|insta|inst|ins|in|i)
-  shift; set dummy --mode install ${1+"$@"}; shift
-  ;;
-link|lin|li|l)
-  shift; set dummy --mode link ${1+"$@"}; shift
-  ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-  shift; set dummy --mode uninstall ${1+"$@"}; shift
-  ;;
-esac
-
-
-
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
-
-
-# Parse options once, thoroughly.  This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
-{
-  # this just eases exit handling
-  while test $# -gt 0; do
-    opt="$1"
-    shift
-    case $opt in
-      --debug|-x)	opt_debug='set -x'
-			func_echo "enabling shell trace mode"
-			$opt_debug
-			;;
-      --dry-run|--dryrun|-n)
-			opt_dry_run=:
-			;;
-      --config)
-			opt_config=:
-func_config
-			;;
-      --dlopen|-dlopen)
-			optarg="$1"
-			opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
-			shift
-			;;
-      --preserve-dup-deps)
-			opt_preserve_dup_deps=:
-			;;
-      --features)
-			opt_features=:
-func_features
-			;;
-      --finish)
-			opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
-			;;
-      --help)
-			opt_help=:
-			;;
-      --help-all)
-			opt_help_all=:
-opt_help=': help-all'
-			;;
-      --mode)
-			test $# = 0 && func_missing_arg $opt && break
-			optarg="$1"
-			opt_mode="$optarg"
-case $optarg in
-  # Valid mode arguments:
-  clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-  # Catch anything else as an error
-  *) func_error "invalid argument for $opt"
-     exit_cmd=exit
-     break
-     ;;
-esac
-			shift
-			;;
-      --no-silent|--no-quiet)
-			opt_silent=false
-func_append preserve_args " $opt"
-			;;
-      --no-warning|--no-warn)
-			opt_warning=false
-func_append preserve_args " $opt"
-			;;
-      --no-verbose)
-			opt_verbose=false
-func_append preserve_args " $opt"
-			;;
-      --silent|--quiet)
-			opt_silent=:
-func_append preserve_args " $opt"
-        opt_verbose=false
-			;;
-      --verbose|-v)
-			opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
-			;;
-      --tag)
-			test $# = 0 && func_missing_arg $opt && break
-			optarg="$1"
-			opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
-			shift
-			;;
-
-      -\?|-h)		func_usage				;;
-      --help)		func_help				;;
-      --version)	func_version				;;
-
-      # Separate optargs to long options:
-      --*=*)
-			func_split_long_opt "$opt"
-			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
-			shift
-			;;
-
-      # Separate non-argument short options:
-      -\?*|-h*|-n*|-v*)
-			func_split_short_opt "$opt"
-			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
-			shift
-			;;
-
-      --)		break					;;
-      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
-      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
-    esac
-  done
-
-  # Validate options:
-
-  # save first non-option argument
-  if test "$#" -gt 0; then
-    nonopt="$opt"
-    shift
-  fi
-
-  # preserve --debug
-  test "$opt_debug" = : || func_append preserve_args " --debug"
-
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-      ;;
-  esac
-
-  $opt_help || {
-    # Sanity checks first:
-    func_check_version_match
-
-    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-      func_fatal_configuration "not configured to build any kind of library"
-    fi
-
-    # Darwin sucks
-    eval std_shrext=\"$shrext_cmds\"
-
-    # Only execute mode is allowed to have -dlopen flags.
-    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
-      func_error "unrecognized option \`-dlopen'"
-      $ECHO "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Change the help message to a mode-specific one.
-    generic_help="$help"
-    help="Try \`$progname --help --mode=$opt_mode' for more information."
-  }
-
-
-  # Bail if the options were screwed
-  $exit_cmd $EXIT_FAILURE
-}
-
-
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-	for lalib_p_l in 1 2 3 4
-	do
-	    read lalib_p_line
-	    case "$lalib_p_line" in
-		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-	    esac
-	done
-	exec 0<&5 5<&-
-    fi
-    test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_dirname_and_basename "$1" "" "."
-    func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $opt_debug
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$save_ifs
-      eval cmd=\"$cmd\"
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $opt_debug
-    case $1 in
-    */* | *\\*)	. "$1" ;;
-    *)		. "./$1" ;;
-    esac
-}
-
-
-# func_resolve_sysroot PATH
-# Replace a leading = in PATH with a sysroot.  Store the result into
-# func_resolve_sysroot_result
-func_resolve_sysroot ()
-{
-  func_resolve_sysroot_result=$1
-  case $func_resolve_sysroot_result in
-  =*)
-    func_stripname '=' '' "$func_resolve_sysroot_result"
-    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
-    ;;
-  esac
-}
-
-# func_replace_sysroot PATH
-# If PATH begins with the sysroot, replace it with = and
-# store the result into func_replace_sysroot_result.
-func_replace_sysroot ()
-{
-  case "$lt_sysroot:$1" in
-  ?*:"$lt_sysroot"*)
-    func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result="=$func_stripname_result"
-    ;;
-  *)
-    # Including no sysroot.
-    func_replace_sysroot_result=$1
-    ;;
-  esac
-}
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $opt_debug
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-	func_append_quoted CC_quoted "$arg"
-      done
-      CC_expanded=`func_echo_all $CC`
-      CC_quoted_expanded=`func_echo_all $CC_quoted`
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	      # Double-quote args containing other shell metacharacters.
-	      func_append_quoted CC_quoted "$arg"
-	    done
-	    CC_expanded=`func_echo_all $CC`
-	    CC_quoted_expanded=`func_echo_all $CC_quoted`
-	    case "$@ " in
-	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  func_echo "unable to infer tagged configuration"
-	  func_fatal_error "specify a tag with \`--tag'"
-#	else
-#	  func_verbose "using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
-    else
-      write_lobj=none
-    fi
-
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "${write_libobj}"
-    }
-}
-
-
-##################################################
-# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-##################################################
-
-# func_convert_core_file_wine_to_w32 ARG
-# Helper function used by file name conversion functions when $build is *nix,
-# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-# correctly configured wine environment available, with the winepath program
-# in $build's $PATH.
-#
-# ARG is the $build file name to be converted to w32 format.
-# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-# be empty on error (or when ARG is empty)
-func_convert_core_file_wine_to_w32 ()
-{
-  $opt_debug
-  func_convert_core_file_wine_to_w32_result="$1"
-  if test -n "$1"; then
-    # Unfortunately, winepath does not exit with a non-zero error code, so we
-    # are forced to check the contents of stdout. On the other hand, if the
-    # command is not found, the shell will set an exit code of 127 and print
-    # *an error message* to stdout. So we must check for both error code of
-    # zero AND non-empty stdout, which explains the odd construction:
-    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
-      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$lt_sed_naive_backslashify"`
-    else
-      func_convert_core_file_wine_to_w32_result=
-    fi
-  fi
-}
-# end: func_convert_core_file_wine_to_w32
-
-
-# func_convert_core_path_wine_to_w32 ARG
-# Helper function used by path conversion functions when $build is *nix, and
-# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-# configured wine environment available, with the winepath program in $build's
-# $PATH. Assumes ARG has no leading or trailing path separator characters.
-#
-# ARG is path to be converted from $build format to win32.
-# Result is available in $func_convert_core_path_wine_to_w32_result.
-# Unconvertible file (directory) names in ARG are skipped; if no directory names
-# are convertible, then the result may be empty.
-func_convert_core_path_wine_to_w32 ()
-{
-  $opt_debug
-  # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=""
-  if test -n "$1"; then
-    oldIFS=$IFS
-    IFS=:
-    for func_convert_core_path_wine_to_w32_f in $1; do
-      IFS=$oldIFS
-      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
-        if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
-        else
-          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
-        fi
-      fi
-    done
-    IFS=$oldIFS
-  fi
-}
-# end: func_convert_core_path_wine_to_w32
-
-
-# func_cygpath ARGS...
-# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-# (2), returns the Cygwin file name or path in func_cygpath_result (input
-# file name or path is assumed to be in w32 format, as previously converted
-# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-# or path in func_cygpath_result (input file name or path is assumed to be in
-# Cygwin format). Returns an empty string on error.
-#
-# ARGS are passed to cygpath, with the last one being the file name or path to
-# be converted.
-#
-# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-# environment variable; do not put it in $PATH.
-func_cygpath ()
-{
-  $opt_debug
-  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
-    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
-    if test "$?" -ne 0; then
-      # on failure, ensure result is empty
-      func_cygpath_result=
-    fi
-  else
-    func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
-  fi
-}
-#end: func_cygpath
-
-
-# func_convert_core_msys_to_w32 ARG
-# Convert file name or path ARG from MSYS format to w32 format.  Return
-# result in func_convert_core_msys_to_w32_result.
-func_convert_core_msys_to_w32 ()
-{
-  $opt_debug
-  # awkward: cmd appends spaces to result
-  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-}
-#end: func_convert_core_msys_to_w32
-
-
-# func_convert_file_check ARG1 ARG2
-# Verify that ARG1 (a file name in $build format) was converted to $host
-# format in ARG2. Otherwise, emit an error message, but continue (resetting
-# func_to_host_file_result to ARG1).
-func_convert_file_check ()
-{
-  $opt_debug
-  if test -z "$2" && test -n "$1" ; then
-    func_error "Could not determine host file name corresponding to"
-    func_error "  \`$1'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback:
-    func_to_host_file_result="$1"
-  fi
-}
-# end func_convert_file_check
-
-
-# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-# Verify that FROM_PATH (a path in $build format) was converted to $host
-# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-# func_to_host_file_result to a simplistic fallback value (see below).
-func_convert_path_check ()
-{
-  $opt_debug
-  if test -z "$4" && test -n "$3"; then
-    func_error "Could not determine the host path corresponding to"
-    func_error "  \`$3'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback.  This is a deliberately simplistic "conversion" and
-    # should not be "improved".  See libtool.info.
-    if test "x$1" != "x$2"; then
-      lt_replace_pathsep_chars="s|$1|$2|g"
-      func_to_host_path_result=`echo "$3" |
-        $SED -e "$lt_replace_pathsep_chars"`
-    else
-      func_to_host_path_result="$3"
-    fi
-  fi
-}
-# end func_convert_path_check
-
-
-# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-# and appending REPL if ORIG matches BACKPAT.
-func_convert_path_front_back_pathsep ()
-{
-  $opt_debug
-  case $4 in
-  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
-    ;;
-  esac
-  case $4 in
-  $2 ) func_append func_to_host_path_result "$3"
-    ;;
-  esac
-}
-# end func_convert_path_front_back_pathsep
-
-
-##################################################
-# $build to $host FILE NAME CONVERSION FUNCTIONS #
-##################################################
-# invoked via `$to_host_file_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# Result will be available in $func_to_host_file_result.
-
-
-# func_to_host_file ARG
-# Converts the file name ARG from $build format to $host format. Return result
-# in func_to_host_file_result.
-func_to_host_file ()
-{
-  $opt_debug
-  $to_host_file_cmd "$1"
-}
-# end func_to_host_file
-
-
-# func_to_tool_file ARG LAZY
-# converts the file name ARG from $build format to toolchain format. Return
-# result in func_to_tool_file_result.  If the conversion in use is listed
-# in (the comma separated) LAZY, no conversion takes place.
-func_to_tool_file ()
-{
-  $opt_debug
-  case ,$2, in
-    *,"$to_tool_file_cmd",*)
-      func_to_tool_file_result=$1
-      ;;
-    *)
-      $to_tool_file_cmd "$1"
-      func_to_tool_file_result=$func_to_host_file_result
-      ;;
-  esac
-}
-# end func_to_tool_file
-
-
-# func_convert_file_noop ARG
-# Copy ARG to func_to_host_file_result.
-func_convert_file_noop ()
-{
-  func_to_host_file_result="$1"
-}
-# end func_convert_file_noop
-
-
-# func_convert_file_msys_to_w32 ARG
-# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_file_result.
-func_convert_file_msys_to_w32 ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_w32
-
-
-# func_convert_file_cygwin_to_w32 ARG
-# Convert file name ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_file_cygwin_to_w32 ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
-    # LT_CYGPATH in this case.
-    func_to_host_file_result=`cygpath -m "$1"`
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_cygwin_to_w32
-
-
-# func_convert_file_nix_to_w32 ARG
-# Convert file name ARG from *nix to w32 format.  Requires a wine environment
-# and a working winepath. Returns result in func_to_host_file_result.
-func_convert_file_nix_to_w32 ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_w32
-
-
-# func_convert_file_msys_to_cygwin ARG
-# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_file_msys_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_cygwin
-
-
-# func_convert_file_nix_to_cygwin ARG
-# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
-# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
-# in func_to_host_file_result.
-func_convert_file_nix_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
-    func_convert_core_file_wine_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_cygwin
-
-
-#############################################
-# $build to $host PATH CONVERSION FUNCTIONS #
-#############################################
-# invoked via `$to_host_path_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# The result will be available in $func_to_host_path_result.
-#
-# Path separators are also converted from $build format to $host format.  If
-# ARG begins or ends with a path separator character, it is preserved (but
-# converted to $host format) on output.
-#
-# All path conversion functions are named using the following convention:
-#   file name conversion function    : func_convert_file_X_to_Y ()
-#   path conversion function         : func_convert_path_X_to_Y ()
-# where, for any given $build/$host combination the 'X_to_Y' value is the
-# same.  If conversion functions are added for new $build/$host combinations,
-# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-# will break.
-
-
-# func_init_to_host_path_cmd
-# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-# appropriate value, based on the value of $to_host_file_cmd.
-to_host_path_cmd=
-func_init_to_host_path_cmd ()
-{
-  $opt_debug
-  if test -z "$to_host_path_cmd"; then
-    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd="func_convert_path_${func_stripname_result}"
-  fi
-}
-
-
-# func_to_host_path ARG
-# Converts the path ARG from $build format to $host format. Return result
-# in func_to_host_path_result.
-func_to_host_path ()
-{
-  $opt_debug
-  func_init_to_host_path_cmd
-  $to_host_path_cmd "$1"
-}
-# end func_to_host_path
-
-
-# func_convert_path_noop ARG
-# Copy ARG to func_to_host_path_result.
-func_convert_path_noop ()
-{
-  func_to_host_path_result="$1"
-}
-# end func_convert_path_noop
-
-
-# func_convert_path_msys_to_w32 ARG
-# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_path_result.
-func_convert_path_msys_to_w32 ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from ARG.  MSYS
-    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
-    # and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_msys_to_w32
-
-
-# func_convert_path_cygwin_to_w32 ARG
-# Convert path ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_path_cygwin_to_w32 ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_cygwin_to_w32
-
-
-# func_convert_path_nix_to_w32 ARG
-# Convert path ARG from *nix to w32 format.  Requires a wine environment and
-# a working winepath.  Returns result in func_to_host_file_result.
-func_convert_path_nix_to_w32 ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_nix_to_w32
-
-
-# func_convert_path_msys_to_cygwin ARG
-# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_path_msys_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_msys_to_cygwin
-
-
-# func_convert_path_nix_to_cygwin ARG
-# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
-# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
-# func_to_host_file_result.
-func_convert_path_nix_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from
-    # ARG. msys behavior is inconsistent here, cygpath turns them
-    # into '.;' and ';.', and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_nix_to_cygwin
-
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $opt_debug
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg="$arg"
-	arg_mode=normal
-	;;
-
-      target )
-	libobj="$arg"
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  test -n "$libobj" && \
-	    func_fatal_error "you cannot specify \`-o' more than once"
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-pie | -fpie | -fPIE)
-          func_append pie_flag " $arg"
-	  continue
-	  ;;
-
-	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  func_append later " $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  func_stripname '-Wc,' '' "$arg"
-	  args=$func_stripname_result
-	  lastarg=
-	  save_ifs="$IFS"; IFS=','
-	  for arg in $args; do
-	    IFS="$save_ifs"
-	    func_append_quoted lastarg "$arg"
-	  done
-	  IFS="$save_ifs"
-	  func_stripname ' ' '' "$lastarg"
-	  lastarg=$func_stripname_result
-
-	  # Add the arguments to base_compile.
-	  func_append base_compile " $lastarg"
-	  continue
-	  ;;
-
-	*)
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg="$srcfile"
-	  srcfile="$arg"
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_append_quoted base_compile "$lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with \`-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-	func_basename "$srcfile"
-	libobj="$func_basename_result"
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
-	build_old_libs=no
-	continue
-	;;
-
-      -static)
-	build_libtool_libs=no
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # 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 "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-    else
-      output_obj=
-      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 $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "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."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-      func_append removelist " $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    func_append removelist " $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
-    srcfile=$func_to_tool_file_result
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
-
-    # 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
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	func_append command " -o $lobj"
-      fi
-
-      func_show_eval_locale "$command"	\
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      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."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	func_show_eval '$MV "$output_obj" "$lobj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-	suppress_output=' >/dev/null 2>&1'
-      fi
-    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 $qsrcfile$pie_flag"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-	func_append command " -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      func_append command "$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      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."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	func_show_eval '$MV "$output_obj" "$obj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
-	removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $opt_mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [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: $progname [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
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to build PIC objects only
-  -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
-  -Wc,FLAG          pass FLAG directly to the compiler
-
-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: $progname [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: $progname [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: $progname [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 following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [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
-  -bindir BINDIR    specify path to binaries directory (for systems where
-                    libraries must be found in the PATH setting at runtime)
-  -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
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -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
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-  -Wc,FLAG
-  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
-  -Wl,FLAG
-  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
-  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
-
-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: $progname [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."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode \`$opt_mode'"
-        ;;
-    esac
-
-    echo
-    $ECHO "Try \`$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
-  if test "$opt_help" = :; then
-    func_mode_help
-  else
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-	func_mode_help
-      done
-    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-	echo
-	func_mode_help
-      done
-    } |
-    sed '1d
-      /^When reporting/,/^Report/{
-	H
-	d
-      }
-      $x
-      /information about other modes/d
-      /more detailed .*MODE/d
-      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
-  fi
-  exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $opt_debug
-    # The first argument is the command name.
-    cmd="$nonopt"
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $opt_dlopen; do
-      test -f "$file" \
-	|| func_fatal_help "\`$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-	func_resolve_sysroot "$file"
-	file=$func_resolve_sysroot_result
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$lib' is not a valid libtool archive"
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-	func_source "$file"
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && \
-	    func_warning "\`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  func_append dir "/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
-	;;
-
-      *)
-	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
-	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
-      -* | *.la | *.lo ) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if func_ltwrapper_script_p "$file"; then
-	  func_source "$file"
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	elif func_ltwrapper_executable_p "$file"; then
-	  func_ltwrapper_scriptname "$file"
-	  func_source "$func_ltwrapper_scriptname_result"
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_append_quoted args "$file"
-    done
-
-    if test "X$opt_dry_run" = Xfalse; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-	      else
-		$lt_unset $lt_var
-	      fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    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 $EXIT_SUCCESS
-    fi
-}
-
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $opt_debug
-    libs=
-    libdirs=
-    admincmds=
-
-    for opt in "$nonopt" ${1+"$@"}
-    do
-      if test -d "$opt"; then
-	func_append libdirs " $opt"
-
-      elif test -f "$opt"; then
-	if func_lalib_unsafe_p "$opt"; then
-	  func_append libs " $opt"
-	else
-	  func_warning "\`$opt' is not a valid libtool archive"
-	fi
-
-      else
-	func_fatal_error "invalid argument \`$opt'"
-      fi
-    done
-
-    if test -n "$libs"; then
-      if test -n "$lt_sysroot"; then
-        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
-        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
-      else
-        sysroot_cmd=
-      fi
-
-      # Remove sysroot references
-      if $opt_dry_run; then
-        for lib in $libs; do
-          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
-        done
-      else
-        tmpdir=`func_mktempdir`
-        for lib in $libs; do
-	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
-	    > $tmpdir/tmp-la
-	  mv -f $tmpdir/tmp-la $lib
-	done
-        ${RM}r "$tmpdir"
-      fi
-    fi
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || func_append admincmds "
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      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 the \`-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"
-      case $host in
-	solaris2.[6789]|solaris2.1[0-9])
-	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	  echo "pages."
-	  ;;
-	*)
-	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
-	  ;;
-      esac
-      echo "----------------------------------------------------------------------"
-    fi
-    exit $EXIT_SUCCESS
-}
-
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $opt_debug
-    # 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 ||
-       # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac; then
-      # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    func_append install_prog "$func_quote_for_eval_result"
-    install_shared_prog=$install_prog
-    case " $install_prog " in
-      *[\\\ /]cp\ *) install_cp=: ;;
-      *) install_cp=false ;;
-    esac
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    no_mode=:
-    for arg
-    do
-      arg2=
-      if test -n "$dest"; then
-	func_append files " $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f)
-	if $install_cp; then :; else
-	  prev=$arg
-	fi
-	;;
-      -g | -m | -o)
-	prev=$arg
-	;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
-	    arg2=$install_override_mode
-	    no_mode=false
-	  fi
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      func_append install_prog " $func_quote_for_eval_result"
-      if test -n "$arg2"; then
-	func_quote_for_eval "$arg2"
-      fi
-      func_append install_shared_prog " $func_quote_for_eval_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
-
-    if test -n "$install_override_mode" && $no_mode; then
-      if $install_cp; then :; else
-	func_quote_for_eval "$install_override_mode"
-	func_append install_shared_prog " -m $func_quote_for_eval_result"
-      fi
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	func_fatal_help "no file or destination specified"
-      else
-	func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-	func_fatal_help "\`$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  func_fatal_help "\`$destdir' must be an absolute directory name"
-	  ;;
-	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
-      *.$libext)
-	# Do the static libraries later.
-	func_append staticlibs " $file"
-	;;
-
-      *.la)
-	func_resolve_sysroot "$file"
-	file=$func_resolve_sysroot_result
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$file' is not a valid libtool archive"
-
-	library_names=
-	old_library=
-	relink_command=
-	func_source "$file"
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) func_append current_libdirs " $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) func_append future_libdirs " $libdir" ;;
-	  esac
-	fi
-
-	func_dirname "$file" "/" ""
-	dir="$func_dirname_result"
-	func_append dir "$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  test "$inst_prefix_dir" = "$destdir" && \
-	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-	  else
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-	  fi
-
-	  func_warning "relinking \`$file'"
-	  func_show_eval "$relink_command" \
-	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names; shift
-	if test -n "$1"; then
-	  realname="$1"
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
-	      'exit $?'
-	  tstripme="$stripme"
-	  case $host_os in
-	  cygwin* | mingw* | pw32* | cegcc*)
-	    case $realname in
-	    *.dll.a)
-	      tstripme=""
-	      ;;
-	    esac
-	    ;;
-	  esac
-	  if test -n "$tstripme" && test -n "$striplib"; then
-	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      test "$linkname" != "$realname" \
-		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  func_execute_cmds "$postinstall_cmds" 'exit $?'
-	fi
-
-	# Install the pseudo-library for information purposes.
-	func_basename "$file"
-	name="$func_basename_result"
-	instname="$dir/$name"i
-	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && func_append 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
-	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  func_lo2o "$destfile"
-	  staticdest=$func_lo2o_result
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	test -n "$destfile" && \
-	  func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  func_lo2o "$file"
-	  staticobj=$func_lo2o_result
-	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=""
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      func_stripname '' '.exe' "$file"
-	      file=$func_stripname_result
-	      stripped_ext=".exe"
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin* | *mingw*)
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      wrapper=$func_ltwrapper_scriptname_result
-	    else
-	      func_stripname '' '.exe' "$file"
-	      wrapper=$func_stripname_result
-	    fi
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if func_ltwrapper_script_p "$wrapper"; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  func_source "$wrapper"
-
-	  # Check the variables that should have been set.
-	  test -z "$generated_by_libtool_version" && \
-	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      func_source "$lib"
-	    fi
-	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      func_warning "\`$lib' has not been installed in \`$libdir'"
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  func_source "$wrapper"
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    $opt_dry_run || {
-	      if test "$finalize" = yes; then
-	        tmpdir=`func_mktempdir`
-		func_basename "$file$stripped_ext"
-		file="$func_basename_result"
-	        outputname="$tmpdir/$file"
-	        # Replace the output file specification.
-	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
-	        $opt_silent || {
-	          func_quote_for_expand "$relink_command"
-		  eval "func_echo $func_quote_for_expand_result"
-	        }
-	        if eval "$relink_command"; then :
-	          else
-		  func_error "error: relink \`$file' with the above command before installing it"
-		  $opt_dry_run || ${RM}r "$tmpdir"
-		  continue
-	        fi
-	        file="$outputname"
-	      else
-	        func_warning "cannot relink \`$file'"
-	      fi
-	    }
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    func_stripname '' '.exe' "$destfile"
-	    destfile=$func_stripname_result
-	    ;;
-	  esac
-	  ;;
-	esac
-	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-	$opt_dry_run || if test -n "$outputname"; then
-	  ${RM}r "$tmpdir"
-	fi
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name="$func_basename_result"
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-      tool_oldlib=$func_to_tool_file_result
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	my_dlsyms="${my_outputname}S.c"
-      else
-	func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-	# Discover the nlist of each of the dlfiles.
-	nlist="$output_objdir/${my_outputname}.nm"
-
-	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-	# Parse the name list into a source file.
-	func_verbose "creating $output_objdir/$my_dlsyms"
-
-	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
-	if test "$dlself" = yes; then
-	  func_verbose "generating symbol list for \`$output'"
-
-	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	  for progfile in $progfiles; do
-	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
-	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -n "$exclude_expsyms"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  if test -n "$export_symbols_regex"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  # Prepare the list of exported symbols
-	  if test -z "$export_symbols"; then
-	    export_symbols="$output_objdir/$outputname.exp"
-	    $opt_dry_run || {
-	      $RM $export_symbols
-	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	      case $host in
-	      *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-	        ;;
-	      esac
-	    }
-	  else
-	    $opt_dry_run || {
-	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	      case $host in
-	        *cygwin* | *mingw* | *cegcc* )
-	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-	          ;;
-	      esac
-	    }
-	  fi
-	fi
-
-	for dlprefile in $dlprefiles; do
-	  func_verbose "extracting global C symbols from \`$dlprefile'"
-	  func_basename "$dlprefile"
-	  name="$func_basename_result"
-          case $host in
-	    *cygwin* | *mingw* | *cegcc* )
-	      # if an import library, we need to obtain dlname
-	      if func_win32_import_lib_p "$dlprefile"; then
-	        func_tr_sh "$dlprefile"
-	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
-	        dlprefile_dlbasename=""
-	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
-	          # Use subshell, to avoid clobbering current variable values
-	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-	          if test -n "$dlprefile_dlname" ; then
-	            func_basename "$dlprefile_dlname"
-	            dlprefile_dlbasename="$func_basename_result"
-	          else
-	            # no lafile. user explicitly requested -dlpreopen <import library>.
-	            $sharedlib_from_linklib_cmd "$dlprefile"
-	            dlprefile_dlbasename=$sharedlib_from_linklib_result
-	          fi
-	        fi
-	        $opt_dry_run || {
-	          if test -n "$dlprefile_dlbasename" ; then
-	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
-	          else
-	            func_warning "Could not compute DLL name from $name"
-	            eval '$ECHO ": $name " >> "$nlist"'
-	          fi
-	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
-	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
-	        }
-	      else # not an import lib
-	        $opt_dry_run || {
-	          eval '$ECHO ": $name " >> "$nlist"'
-	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	        }
-	      fi
-	    ;;
-	    *)
-	      $opt_dry_run || {
-	        eval '$ECHO ": $name " >> "$nlist"'
-	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	      }
-	    ;;
-          esac
-	done
-
-	$opt_dry_run || {
-	  # 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" |
-	      if sort -k 3 </dev/null >/dev/null 2>&1; then
-		sort -k 3
-	      else
-		sort +2
-	      fi |
-	      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/$my_dlsyms"'
-	  else
-	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
-	  fi
-
-	  echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
-
-	  case $need_lib_prefix in
-	  no)
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  *)
-	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  esac
-	  echo >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	} # !$opt_dry_run
-
-	pic_flag_for_symtable=
-	case "$compile_command " in
-	*" -static "*) ;;
-	*)
-	  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*)
-	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-	  *-*-hpux*)
-	    pic_flag_for_symtable=" $pic_flag"  ;;
-	  *)
-	    if test "X$my_pic_p" != Xno; then
-	      pic_flag_for_symtable=" $pic_flag"
-	    fi
-	    ;;
-	  esac
-	  ;;
-	esac
-	symtab_cflags=
-	for arg in $LTCFLAGS; do
-	  case $arg in
-	  -pie | -fpie | -fPIE) ;;
-	  *) func_append symtab_cflags " $arg" ;;
-	  esac
-	done
-
-	# Now compile the dynamic symbol file.
-	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-	# Clean up the generated files.
-	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
-	# Transform the symbol file into the correct name.
-	symfileobj="$output_objdir/${my_outputname}S.$objext"
-	case $host in
-	*cygwin* | *mingw* | *cegcc* )
-	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	  else
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  fi
-	  ;;
-	*)
-	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  ;;
-	esac
-	;;
-      *)
-	func_fatal_error "unknown suffix for \`$my_dlsyms'"
-	;;
-      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 "$compile_command" | $SED "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
-  $opt_debug
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      func_to_tool_file "$1" func_convert_file_msys_to_w32
-      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-	$SED -n -e '
-	    1,100{
-		/ I /{
-		    s,.*,import,
-		    p
-		    q
-		}
-	    }'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-# func_cygming_dll_for_implib ARG
-#
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib ()
-{
-  $opt_debug
-  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-}
-
-# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-#
-# The is the core of a fallback implementation of a
-# platform-specific function to extract the name of the
-# DLL associated with the specified import library LIBNAME.
-#
-# SECTION_NAME is either .idata$6 or .idata$7, depending
-# on the platform and compiler that created the implib.
-#
-# Echos the name of the DLL associated with the
-# specified import library.
-func_cygming_dll_for_implib_fallback_core ()
-{
-  $opt_debug
-  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
-  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
-    $SED '/^Contents of section '"$match_literal"':/{
-      # Place marker at beginning of archive member dllname section
-      s/.*/====MARK====/
-      p
-      d
-    }
-    # These lines can sometimes be longer than 43 characters, but
-    # are always uninteresting
-    /:[	 ]*file format pe[i]\{,1\}-/d
-    /^In archive [^:]*:/d
-    # Ensure marker is printed
-    /^====MARK====/p
-    # Remove all lines with less than 43 characters
-    /^.\{43\}/!d
-    # From remaining lines, remove first 43 characters
-    s/^.\{43\}//' |
-    $SED -n '
-      # Join marker and all lines until next marker into a single line
-      /^====MARK====/ b para
-      H
-      $ b para
-      b
-      :para
-      x
-      s/\n//g
-      # Remove the marker
-      s/^====MARK====//
-      # Remove trailing dots and whitespace
-      s/[\. \t]*$//
-      # Print
-      /./p' |
-    # we now have a list, one entry per line, of the stringified
-    # contents of the appropriate section of all members of the
-    # archive which possess that section. Heuristic: eliminate
-    # all those which have a first or second character that is
-    # a '.' (that is, objdump's representation of an unprintable
-    # character.) This should work for all archives with less than
-    # 0x302f exports -- but will fail for DLLs whose name actually
-    # begins with a literal '.' or a single character followed by
-    # a '.'.
-    #
-    # Of those that remain, print the first one.
-    $SED -e '/^\./d;/^.\./d;q'
-}
-
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
-# func_cygming_dll_for_implib_fallback ARG
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-#
-# This fallback implementation is for use when $DLLTOOL
-# does not support the --identify-strict option.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib_fallback ()
-{
-  $opt_debug
-  if func_cygming_gnu_implib_p "$1" ; then
-    # binutils import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1" ; then
-    # ms-generated import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
-  else
-    # unknown
-    sharedlib_from_linklib_result=""
-  fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    if test "$lock_old_archive_extraction" = yes; then
-      lockfile=$f_ex_an_ar_oldlib.lock
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    fi
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
-		   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test "$lock_old_archive_extraction" = yes; then
-      $opt_dry_run || rm -f "$lockfile"
-    fi
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $opt_debug
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  func_arith $extracted_serial + 1
-	  extracted_serial=$func_arith_result
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-	func_verbose "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	$opt_dry_run || {
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  darwin_base_archive=`basename "$darwin_archive"`
-	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-	  if test -n "$darwin_arches"; then
-	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-	      cd "$darwin_curdir"
-	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-	    done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
-	      $LIPO -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    $RM -rf unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd $darwin_orig_dir
-	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	} # !$opt_dry_run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-	;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-    done
-
-    func_extract_archives_result="$my_oldobjs"
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=${1-no}
-
-	$ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# 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.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    file=\"\$0\""
-
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-    $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-    ECHO=\"$qECHO\"
-  fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
-  lt_script_arg0=\$0
-  shift
-  for lt_opt
-  do
-    case \"\$lt_opt\" in
-    --lt-debug) lt_option_debug=1 ;;
-    --lt-dump-script)
-        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-        cat \"\$lt_dump_D/\$lt_dump_F\"
-        exit 0
-      ;;
-    --lt-*)
-        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-        exit 1
-      ;;
-    esac
-  done
-
-  # Print the debug banner immediately:
-  if test -n \"\$lt_option_debug\"; then
-    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
-  fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
-  lt_dump_args_N=1;
-  for lt_arg
-  do
-    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
-    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-  done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
-  case $host in
-  # Backslashes separate directories on plain windows
-  *-*-mingw | *-*-os2* | *-cegcc*)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-    ;;
-
-  *)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-    ;;
-  esac
-  $ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
-  case \" \$* \" in
-  *\\ --lt-*)
-    for lt_wr_arg
-    do
-      case \$lt_wr_arg in
-      --lt-*) ;;
-      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-      esac
-      shift
-    done ;;
-  esac
-  func_exec_program_core \${1+\"\$@\"}
-}
-
-  # Parse options
-  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"\$file\" | $SED '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 \"\$file\" | $SED '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 \"\$file\" | $SED 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
-  done
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  $ECHO "\
-  program=lt-'$outputname'$exeext
-  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 "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$ECHO \"\$relink_command_output\" >&2
-	$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 "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# fixup the dll searchpath if we need to.
-	#
-	# Fix the DLL searchpath if we need to.  Do this before prepending
-	# to shlibpath, because on Windows, both are PATH and uninstalled
-	# libraries must come first.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $ECHO "\
-    # 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 \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	$ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-      func_exec_program \${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\
-"
-}
-
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-	cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-*/
-EOF
-	    cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined(__CYGWIN__)
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined (other platforms) ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-#  define _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#elif defined(__MINGW32__)
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-#elif defined(__CYGWIN__)
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
-#endif
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#if defined(LT_DEBUGWRAPPER)
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
-	    cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_path "$temp_rpath"
-	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test -n "$dllsearchpath"; then
-              func_to_host_path "$dllsearchpath:"
-	      cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test "$fast_install" = yes; then
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-	    else
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-	    fi
-
-
-	    cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  intptr_t rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, argc + 1);
-
-  /* very simple arg parsing; don't want to rely on getopt
-   * also, copy all non cwrapper options to newargz, except
-   * argz[0], which is handled differently
-   */
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strcmp (argv[i], dumpscript_opt) == 0)
-	{
-EOF
-	    case "$host" in
-	      *mingw* | *cygwin* )
-		# make stdout use "unix" line endings
-		echo "          setmode(1,_O_BINARY);"
-		;;
-	      esac
-
-	    cat <<"EOF"
-	  lt_dump_script (stdout);
-	  return 0;
-	}
-      if (strcmp (argv[i], debug_opt) == 0)
-	{
-          lt_debug = 1;
-          continue;
-	}
-      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal (__FILE__, __LINE__,
-		    "unrecognized %s option: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-EOF
-	    cat <<EOF
-  /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
-EOF
-	    cat <<"EOF"
-  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (before symlink chase) at: %s\n",
-		  tmp_pathspec);
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (after symlink chase) at: %s\n",
-		  actual_cwrapper_path);
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(main) libtool target name: %s\n",
-		  target_name);
-EOF
-
-	    cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-	    cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-	    case $host_os in
-	      mingw*)
-	    cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-	*p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-	*p = '/';
-      }
-  }
-EOF
-	    ;;
-	    esac
-
-	    cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
-     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
-     because on Windows, both *_VARNAMEs are PATH but uninstalled
-     libraries must come first. */
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-
-  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-		  nonnull (lt_argv_zero));
-  for (i = 0; i < newargc; i++)
-    {
-      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-		      i, nonnull (newargz[i]));
-    }
-
-EOF
-
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  newargz = prepare_spawn (newargz);
-  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      lt_debugprintf (__FILE__, __LINE__,
-		      "(main) failed to launch target \"%s\": %s\n",
-		      lt_argv_zero, nonnull (strerror (errno)));
-      return 127;
-    }
-  return rval;
-EOF
-		;;
-	      *)
-		cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-		;;
-	    esac
-
-	    cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-			  string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char *concat_name;
-
-  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-                  nonempty (wrapper));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-	return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-	{
-	  concat_name = xstrdup (wrapper);
-	  if (check_executable (concat_name))
-	    return concat_name;
-	  XFREE (concat_name);
-	}
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-	has_slash = 1;
-	break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-	{
-	  for (p = path; *p; p = p_next)
-	    {
-	      const char *q;
-	      size_t p_len;
-	      for (q = p; *q; q++)
-		if (IS_PATH_SEPARATOR (*q))
-		  break;
-	      p_len = q - p;
-	      p_next = (*q == '\0' ? q : q + 1);
-	      if (p_len == 0)
-		{
-		  /* empty path: current directory */
-		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-                              nonnull (strerror (errno)));
-		  tmp_len = strlen (tmp);
-		  concat_name =
-		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, tmp, tmp_len);
-		  concat_name[tmp_len] = '/';
-		  strcpy (concat_name + tmp_len + 1, wrapper);
-		}
-	      else
-		{
-		  concat_name =
-		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, p, p_len);
-		  concat_name[p_len] = '/';
-		  strcpy (concat_name + p_len + 1, wrapper);
-		}
-	      if (check_executable (concat_name))
-		return concat_name;
-	      XFREE (concat_name);
-	    }
-	}
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-              nonnull (strerror (errno)));
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      lt_debugprintf (__FILE__, __LINE__,
-		      "checking path component for symlinks: %s\n",
-		      tmp_pathspec);
-      if (lstat (tmp_pathspec, &s) == 0)
-	{
-	  if (S_ISLNK (s.st_mode) != 0)
-	    {
-	      has_symlinks = 1;
-	      break;
-	    }
-
-	  /* search backwards for last DIR_SEPARATOR */
-	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    p--;
-	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    {
-	      /* no more DIR_SEPARATORS left */
-	      break;
-	    }
-	  *p = '\0';
-	}
-      else
-	{
-	  lt_fatal (__FILE__, __LINE__,
-		    "error accessing file \"%s\": %s",
-		    tmp_pathspec, nonnull (strerror (errno)));
-	}
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal (__FILE__, __LINE__,
-		"could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (strcmp (str, pat) == 0)
-	*str = '\0';
-    }
-  return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
-  va_list args;
-  if (lt_debug)
-    {
-      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-      va_start (args, fmt);
-      (void) vfprintf (stderr, fmt, args);
-      va_end (args);
-    }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
-	       int line, const char *mode,
-	       const char *message, va_list ap)
-{
-  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-  va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
-  return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
-  return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_setenv) setting '%s' to '%s'\n",
-                  nonnull (name), nonnull (value));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    int len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      int orig_value_len = strlen (orig_value);
-      int add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      int len = strlen (new_value);
-      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[len-1] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-EOF
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
-   Note that spawn() does not by itself call the command interpreter
-     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
-      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-         GetVersionEx(&v);
-         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
-      }) ? "cmd.exe" : "command.com").
-   Instead it simply concatenates the arguments, separated by ' ', and calls
-   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
-   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
-   special way:
-   - Space and tab are interpreted as delimiters. They are not treated as
-     delimiters if they are surrounded by double quotes: "...".
-   - Unescaped double quotes are removed from the input. Their only effect is
-     that within double quotes, space and tab are treated like normal
-     characters.
-   - Backslashes not followed by double quotes are not special.
-   - But 2*n+1 backslashes followed by a double quote become
-     n backslashes followed by a double quote (n >= 0):
-       \" -> "
-       \\\" -> \"
-       \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
-  size_t argc;
-  char **new_argv;
-  size_t i;
-
-  /* Count number of arguments.  */
-  for (argc = 0; argv[argc] != NULL; argc++)
-    ;
-
-  /* Allocate new argument vector.  */
-  new_argv = XMALLOC (char *, argc + 1);
-
-  /* Put quoted arguments into the new argument vector.  */
-  for (i = 0; i < argc; i++)
-    {
-      const char *string = argv[i];
-
-      if (string[0] == '\0')
-	new_argv[i] = xstrdup ("\"\"");
-      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
-	{
-	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
-	  size_t length;
-	  unsigned int backslashes;
-	  const char *s;
-	  char *quoted_string;
-	  char *p;
-
-	  length = 0;
-	  backslashes = 0;
-	  if (quote_around)
-	    length++;
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		length += backslashes + 1;
-	      length++;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    length += backslashes + 1;
-
-	  quoted_string = XMALLOC (char, length + 1);
-
-	  p = quoted_string;
-	  backslashes = 0;
-	  if (quote_around)
-	    *p++ = '"';
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		{
-		  unsigned int j;
-		  for (j = backslashes + 1; j > 0; j--)
-		    *p++ = '\\';
-		}
-	      *p++ = c;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    {
-	      unsigned int j;
-	      for (j = backslashes; j > 0; j--)
-		*p++ = '\\';
-	      *p++ = '"';
-	    }
-	  *p = '\0';
-
-	  new_argv[i] = quoted_string;
-	}
-      else
-	new_argv[i] = (char *) string;
-    }
-  new_argv[argc] = NULL;
-
-  return new_argv;
-}
-EOF
-		;;
-	    esac
-
-            cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
-	    func_emit_wrapper yes |
-	      $SED -n -e '
-s/^\(.\{79\}\)\(..*\)/\1\
-\2/
-h
-s/\([\\"]\)/\\\1/g
-s/$/\\n/
-s/\([^\n]*\).*/  fputs ("\1", f);/p
-g
-D'
-            cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
-    $opt_debug
-    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-    *import*) : ;;
-    *) false ;;
-    esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $opt_debug
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # 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 invocation.
-      # 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
-    base_compile="$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`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    bindir=
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module="${wl}-single_module"
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
-	build_old_libs=no
-	break
-	;;
-      -all-static | -static | -static-libtool-libs)
-	case $arg in
-	-all-static)
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    func_warning "complete static linking is impossible in this configuration"
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	-static)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	  ;;
-	-static-libtool-libs)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	esac
-	build_libtool_libs=no
-	build_old_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
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  func_append compile_command " @OUTPUT@"
-	  func_append finalize_command " @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	bindir)
-	  bindir="$arg"
-	  prev=
-	  continue
-	  ;;
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    func_append compile_command " @SYMFILE@"
-	    func_append 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
-	      func_append dlfiles " $arg"
-	    else
-	      func_append dlprefiles " $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  test -f "$arg" \
-	    || func_fatal_error "symbol file \`$arg' does not exist"
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	framework)
-	  case $host in
-	    *-*-darwin*)
-	      case "$deplibs " in
-		*" $qarg.ltframework "*) ;;
-		*) func_append deplibs " $qarg.ltframework" # this is fixed later
-		   ;;
-	      esac
-	      ;;
-	  esac
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir="$arg"
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat "$save_arg"`
-	    do
-#	      func_append moreargs " $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if func_lalib_unsafe_p "$arg"; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		func_source "$arg"
-
-		if test -z "$pic_object" ||
-		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none &&
-		   test "$non_pic_object" = none; then
-		  func_fatal_error "cannot find name of object for \`$arg'"
-		fi
-
-		# Extract subdirectory from the argument.
-		func_dirname "$arg" "/" ""
-		xdir="$func_dirname_result"
-
-		if test "$pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object="$xdir$pic_object"
-
-		  if test "$prev" = dlfiles; then
-		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      func_append dlfiles " $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test "$prev" = dlprefiles; then
-		    # Preload the old-style object.
-		    func_append dlprefiles " $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  func_append libobjs " $pic_object"
-		  arg="$pic_object"
-		fi
-
-		# Non-PIC object.
-		if test "$non_pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object="$xdir$non_pic_object"
-
-		  # A standard non-PIC object
-		  func_append non_pic_objects " $non_pic_object"
-		  if test -z "$pic_object" || test "$pic_object" = none ; then
-		    arg="$non_pic_object"
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object="$pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if $opt_dry_run; then
-		  # Extract subdirectory from the argument.
-		  func_dirname "$arg" "/" ""
-		  xdir="$func_dirname_result"
-
-		  func_lo2o "$arg"
-		  pic_object=$xdir$objdir/$func_lo2o_result
-		  non_pic_object=$xdir$func_lo2o_result
-		  func_append libobjs " $pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-	        else
-		  func_fatal_error "\`$arg' is not a valid libtool object"
-		fi
-	      fi
-	    done
-	  else
-	    func_fatal_error "link input file \`$arg' does not exist"
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    func_fatal_error "only absolute run-paths are allowed"
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) func_append rpath " $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) func_append xrpath " $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	shrext)
-	  shrext_cmds="$arg"
-	  prev=
-	  continue
-	  ;;
-	weak)
-	  func_append weak_libs " $arg"
-	  prev=
-	  continue
-	  ;;
-	xcclinker)
-	  func_append linker_flags " $qarg"
-	  func_append compiler_flags " $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xcompiler)
-	  func_append compiler_flags " $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  func_append linker_flags " $qarg"
-	  func_append compiler_flags " $wl$qarg"
-	  prev=
-	  func_append compile_command " $wl$qarg"
-	  func_append finalize_command " $wl$qarg"
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  # See comment for -static flag below, for more details.
-	  func_append compile_command " $link_static_flag"
-	  func_append finalize_command " $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -bindir)
-	prev=bindir
-	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
-	  func_fatal_error "more than one -exported-symbols argument is not allowed"
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework)
-	prev=framework
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	func_stripname "-L" '' "$arg"
-	if test -z "$func_stripname_result"; then
-	  if test "$#" -gt 0; then
-	    func_fatal_error "require no space between \`-L' and \`$1'"
-	  else
-	    func_fatal_error "need path for \`-L' option"
-	  fi
-	fi
-	func_resolve_sysroot "$func_stripname_result"
-	dir=$func_resolve_sysroot_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  test -z "$absdir" && \
-	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
-	  dir="$absdir"
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "* | *" $arg "*)
-	  # Will only happen for absolute or sysroot arguments
-	  ;;
-	*)
-	  # Preserve sysroot, but never include relative directories
-	  case $dir in
-	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
-	    *) func_append deplibs " -L$dir" ;;
-	  esac
-	  func_append lib_search_path " $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  ::) dllsearchpath=$dir;;
-	  *) func_append dllsearchpath ":$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) func_append dllsearchpath ":$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    func_append deplibs " System.ltframework"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  esac
-	elif test "X$arg" = "X-lc_r"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	func_append deplibs " $arg"
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # Tru64 UNIX uses -mod