shithub: aacenc

Download patch

ref: 15e2a53e83066c48c2ece1a7475c9c86bc14ee37
parent: 29dead338461d0883d734fc6e8e8f83d22510e43
author: knik <knik>
date: Sat Nov 23 12:42:24 EST 2002

removed unused filed

diff: cannot open a/common/getopt//null: file does not exist: 'a/common/getopt//null' diff: cannot open a/common/libsndfile/MacOS//null: file does not exist: 'a/common/libsndfile/MacOS//null' diff: cannot open a/common/libsndfile/Win32//null: file does not exist: 'a/common/libsndfile/Win32//null' diff: cannot open a/common/libsndfile/src/G72x//null: file does not exist: 'a/common/libsndfile/src/G72x//null' diff: cannot open a/common/libsndfile/src/GSM610//null: file does not exist: 'a/common/libsndfile/src/GSM610//null' diff: cannot open a/common/libsndfile/src//null: file does not exist: 'a/common/libsndfile/src//null' diff: cannot open a/common/libsndfile//null: file does not exist: 'a/common/libsndfile//null' diff: cannot open a/common//null: file does not exist: 'a/common//null'
--- a/common/getopt/COPYING
+++ /dev/null
@@ -1,340 +1,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
--- a/common/getopt/getopt.c
+++ /dev/null
@@ -1,756 +1,0 @@
-/* Getopt for GNU.
-   NOTE: getopt is now part of the C library, so if you don't know what
-   "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
-   before changing it!
-
-   Copyright (C) 1987, 88, 89, 90, 91, 92, 1993
-    Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any
-   later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifndef __STDC__
-#  ifndef const
-#    define const
-#  endif
-#endif
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.  */
-#ifndef _NO_PROTO
-#define _NO_PROTO
-#endif
-
-#include <stdio.h>
-//#include "tailor.h"
-
-/* Comment out all this code if we are using the GNU C Library, and are not
-   actually compiling the library itself.  This code is part of the GNU C
-   Library, but also included in many other GNU distributions.  Compiling
-   and linking in this code is a waste when using the GNU C library
-   (especially if it is a shared library).  Rather than having every GNU
-   program understand `configure --with-gnu-libc' and omit the object files,
-   it is simpler to just do this in the source for each such file.  */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__) || !__MacOSX__
-
-
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef  __GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
-   contain conflicting prototypes for getopt.  */
-#include <stdlib.h>
-#endif  /* GNU C library.  */
-
-/* If GETOPT_COMPAT is defined, `+' as well as `--' can introduce a
-   long-named option.  Because this is not POSIX.2 compliant, it is
-   being phased out.  */
-/* #define GETOPT_COMPAT */
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
-   but it behaves differently for the user, since it allows the user
-   to intersperse the options with the other arguments.
-
-   As `getopt' works, it permutes the elements of ARGV so that,
-   when it is done, all the options precede everything else.  Thus
-   all application programs are extended to handle flexible argument order.
-
-   Setting the environment variable POSIXLY_CORRECT disables permutation.
-   Then the behavior is completely standard.
-
-   GNU application programs can use a third alternative mode in which
-   they can distinguish the relative order of options and other arguments.  */
-
-#include "getopt.h"
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-char *optarg = 0;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-/* XXX 1003.2 says this must be 1 before any call.  */
-int optind = 0;
-
-/* The next char to be scanned in the option-element
-   in which the last option character we returned was found.
-   This allows us to pick up the scan where we left off.
-
-   If this is zero, or a null string, it means resume the scan
-   by advancing to the next ARGV-element.  */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
-   for unrecognized options.  */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
-   This must be initialized on some systems to avoid linking in the
-   system's own getopt implementation.  */
-
-#define BAD_OPTION '\0'
-int optopt = BAD_OPTION;
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
-   If the caller did not specify anything,
-   the default is REQUIRE_ORDER if the environment variable
-   POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
-   REQUIRE_ORDER means don't recognize them as options;
-   stop option processing when the first non-option is seen.
-   This is what Unix does.
-   This mode of operation is selected by either setting the environment
-   variable POSIXLY_CORRECT, or using `+' as the first character
-   of the list of option characters.
-
-   PERMUTE is the default.  We permute the contents of ARGV as we scan,
-   so that eventually all the non-options are at the end.  This allows options
-   to be given in any order, even with programs that were not written to
-   expect this.
-
-   RETURN_IN_ORDER is an option available to programs that were written
-   to expect options and other ARGV-elements in any order and that care about
-   the ordering of the two.  We describe each non-option ARGV-element
-   as if it were the argument of an option with character code 1.
-   Using `-' as the first character of the list of option characters
-   selects this mode of operation.
-
-   The special argument `--' forces an end of option-scanning regardless
-   of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
-   `--' can cause `getopt' to return EOF with `optind' != ARGC.  */
-
-static enum
-{
-  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-#ifdef  __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
-   because there are many ways it can cause trouble.
-   On some systems, it contains special magic macros that don't work
-   in GCC.  */
-#include <string.h>
-#define my_index    strchr
-#define my_strlen   strlen
-#else
-
-/* Avoid depending on library functions or files
-   whose names are inconsistent.  */
-
-#if __STDC__ || defined(PROTO)
-extern char *getenv(const char *name);
-extern int  strcmp (const char *s1, const char *s2);
-extern int  strncmp(const char *s1, const char *s2, unsigned int n);
-
-static int my_strlen(const char *s);
-static char *my_index (const char *str, int chr);
-#else
-extern char *getenv ();
-#endif
-
-static int
-my_strlen (str)
-     const char *str;
-{
-  int n = 0;
-  while (*str++)
-    n++;
-  return n;
-}
-
-static char *
-my_index (str, chr)
-     const char *str;
-     int chr;
-{
-  while (*str)
-    {
-      if (*str == chr)
-    return (char *) str;
-      str++;
-    }
-  return 0;
-}
-
-#endif              /* GNU C library.  */
-
-/* Handle permutation of arguments.  */
-
-/* Describe the part of ARGV that contains non-options that have
-   been skipped.  `first_nonopt' is the index in ARGV of the first of them;
-   `last_nonopt' is the index after the last of them.  */
-
-static int first_nonopt;
-static int last_nonopt;
-
-/* Exchange two adjacent subsequences of ARGV.
-   One subsequence is elements [first_nonopt,last_nonopt)
-   which contains all the non-options that have been skipped so far.
-   The other is elements [last_nonopt,optind), which contains all
-   the options processed since those non-options were skipped.
-
-   `first_nonopt' and `last_nonopt' are relocated so that they describe
-   the new indices of the non-options in ARGV after they are moved.
-
-   To perform the swap, we first reverse the order of all elements. So
-   all options now come before all non options, but they are in the
-   wrong order. So we put back the options and non options in original
-   order by reversing them again. For example:
-       original input:      a b c -x -y
-       reverse all:         -y -x c b a
-       reverse options:     -x -y c b a
-       reverse non options: -x -y a b c
-*/
-
-#if __STDC__ || defined(PROTO)
-static void exchange (char **argv);
-#endif
-
-static void
-exchange (argv)
-     char **argv;
-{
-  char *temp, **first, **last;
-
-  /* Reverse all the elements [first_nonopt, optind) */
-  first = &argv[first_nonopt];
-  last  = &argv[optind-1];
-  while (first < last) {
-    temp = *first; *first = *last; *last = temp; first++; last--;
-  }
-  /* Put back the options in order */
-  first = &argv[first_nonopt];
-  first_nonopt += (optind - last_nonopt);
-  last  = &argv[first_nonopt - 1];
-  while (first < last) {
-    temp = *first; *first = *last; *last = temp; first++; last--;
-  }
-
-  /* Put back the non options in order */
-  first = &argv[first_nonopt];
-  last_nonopt = optind;
-  last  = &argv[last_nonopt-1];
-  while (first < last) {
-    temp = *first; *first = *last; *last = temp; first++; last--;
-  }
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
-   given in OPTSTRING.
-
-   If an element of ARGV starts with '-', and is not exactly "-" or "--",
-   then it is an option element.  The characters of this element
-   (aside from the initial '-') are option characters.  If `getopt'
-   is called repeatedly, it returns successively each of the option characters
-   from each of the option elements.
-
-   If `getopt' finds another option character, it returns that character,
-   updating `optind' and `nextchar' so that the next call to `getopt' can
-   resume the scan with the following option character or ARGV-element.
-
-   If there are no more option characters, `getopt' returns `EOF'.
-   Then `optind' is the index in ARGV of the first ARGV-element
-   that is not an option.  (The ARGV-elements have been permuted
-   so that those that are not options now come last.)
-
-   OPTSTRING is a string containing the legitimate option characters.
-   If an option character is seen that is not listed in OPTSTRING,
-   return BAD_OPTION after printing an error message.  If you set `opterr' to
-   zero, the error message is suppressed but we still return BAD_OPTION.
-
-   If a char in OPTSTRING is followed by a colon, that means it wants an arg,
-   so the following text in the same ARGV-element, or the text of the following
-   ARGV-element, is returned in `optarg'.  Two colons mean an option that
-   wants an optional arg; if there is text in the current ARGV-element,
-   it is returned in `optarg', otherwise `optarg' is set to zero.
-
-   If OPTSTRING starts with `-' or `+', it requests different methods of
-   handling the non-option ARGV-elements.
-   See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
-   Long-named options begin with `--' instead of `-'.
-   Their names may be abbreviated as long as the abbreviation is unique
-   or is an exact match for some defined option.  If they have an
-   argument, it follows the option name in the same ARGV-element, separated
-   from the option name by a `=', or else the in next ARGV-element.
-   When `getopt' finds a long-named option, it returns 0 if that option's
-   `flag' field is nonzero, the value of the option's `val' field
-   if the `flag' field is zero.
-
-   The elements of ARGV aren't really const, because we permute them.
-   But we pretend they're const in the prototype to be compatible
-   with other systems.
-
-   LONGOPTS is a vector of `struct option' terminated by an
-   element containing a name which is zero.
-
-   LONGIND returns the index in LONGOPT of the long-named option found.
-   It is only valid when a long-named option has been found by the most
-   recent call.
-
-   If LONG_ONLY is nonzero, '-' as well as '--' can introduce
-   long-named options.  */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-     const struct option *longopts;
-     int *longind;
-     int long_only;
-{
-  int option_index;
-
-  optarg = 0;
-
-  /* Initialize the internal data when the first call is made.
-     Start processing options with ARGV-element 1 (since ARGV-element 0
-     is the program name); the sequence of previously skipped
-     non-option ARGV-elements is empty.  */
-
-  if (optind == 0)
-    {
-      first_nonopt = last_nonopt = optind = 1;
-
-      nextchar = NULL;
-
-      /* Determine how to handle the ordering of options and nonoptions.  */
-
-      if (optstring[0] == '-')
-    {
-      ordering = RETURN_IN_ORDER;
-      ++optstring;
-    }
-      else if (optstring[0] == '+')
-    {
-      ordering = REQUIRE_ORDER;
-      ++optstring;
-    }
-      else if (getenv ("POSIXLY_CORRECT") != NULL)
-    ordering = REQUIRE_ORDER;
-      else
-    ordering = PERMUTE;
-    }
-
-  if (nextchar == NULL || *nextchar == '\0')
-    {
-      if (ordering == PERMUTE)
-    {
-      /* If we have just processed some options following some non-options,
-         exchange them so that the options come first.  */
-
-      if (first_nonopt != last_nonopt && last_nonopt != optind)
-        exchange ((char **) argv);
-      else if (last_nonopt != optind)
-        first_nonopt = optind;
-
-      /* Now skip any additional non-options
-         and extend the range of non-options previously skipped.  */
-
-      while (optind < argc
-         && (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#ifdef GETOPT_COMPAT
-         && (longopts == NULL
-             || argv[optind][0] != '+' || argv[optind][1] == '\0')
-#endif              /* GETOPT_COMPAT */
-         )
-        optind++;
-      last_nonopt = optind;
-    }
-
-      /* Special ARGV-element `--' means premature end of options.
-     Skip it like a null option,
-     then exchange with previous non-options as if it were an option,
-     then skip everything else like a non-option.  */
-
-      if (optind != argc && !strcmp (argv[optind], "--"))
-    {
-      optind++;
-
-      if (first_nonopt != last_nonopt && last_nonopt != optind)
-        exchange ((char **) argv);
-      else if (first_nonopt == last_nonopt)
-        first_nonopt = optind;
-      last_nonopt = argc;
-
-      optind = argc;
-    }
-
-      /* If we have done all the ARGV-elements, stop the scan
-     and back over any non-options that we skipped and permuted.  */
-
-      if (optind == argc)
-    {
-      /* Set the next-arg-index to point at the non-options
-         that we previously skipped, so the caller will digest them.  */
-      if (first_nonopt != last_nonopt)
-        optind = first_nonopt;
-      return EOF;
-    }
-
-      /* If we have come to a non-option and did not permute it,
-     either stop the scan or describe it to the caller and pass it by.  */
-
-      if ((argv[optind][0] != '-' || argv[optind][1] == '\0')
-#ifdef GETOPT_COMPAT
-      && (longopts == NULL
-          || argv[optind][0] != '+' || argv[optind][1] == '\0')
-#endif              /* GETOPT_COMPAT */
-      )
-    {
-      if (ordering == REQUIRE_ORDER)
-        return EOF;
-      optarg = argv[optind++];
-      return 1;
-    }
-
-      /* We have found another option-ARGV-element.
-     Start decoding its characters.  */
-
-      nextchar = (argv[optind] + 1
-          + (longopts != NULL && argv[optind][1] == '-'));
-    }
-
-  if (longopts != NULL
-      && ((argv[optind][0] == '-'
-       && (argv[optind][1] == '-' || long_only))
-#ifdef GETOPT_COMPAT
-      || argv[optind][0] == '+'
-#endif              /* GETOPT_COMPAT */
-      ))
-    {
-      const struct option *p;
-      char *s = nextchar;
-      int exact = 0;
-      int ambig = 0;
-      const struct option *pfound = NULL;
-      int indfound = 0;
-
-      while (*s && *s != '=')
-    s++;
-
-      /* Test all options for either exact match or abbreviated matches.  */
-      for (p = longopts, option_index = 0; p->name;
-       p++, option_index++)
-    if (!strncmp (p->name, nextchar, s - nextchar))
-      {
-        if (s - nextchar == my_strlen (p->name))
-          {
-        /* Exact match found.  */
-        pfound = p;
-        indfound = option_index;
-        exact = 1;
-        break;
-          }
-        else if (pfound == NULL)
-          {
-        /* First nonexact match found.  */
-        pfound = p;
-        indfound = option_index;
-          }
-        else
-          /* Second nonexact match found.  */
-          ambig = 1;
-      }
-
-      if (ambig && !exact)
-    {
-      if (opterr)
-        fprintf (stderr, "%s: option `%s' is ambiguous\n",
-             argv[0], argv[optind]);
-      nextchar += my_strlen (nextchar);
-      optind++;
-      return BAD_OPTION;
-    }
-
-      if (pfound != NULL)
-    {
-      option_index = indfound;
-      optind++;
-      if (*s)
-        {
-          /* Don't test has_arg with >, because some C compilers don't
-         allow it to be used on enums.  */
-          if (pfound->has_arg)
-        optarg = s + 1;
-          else
-        {
-          if (opterr)
-            {
-              if (argv[optind - 1][1] == '-')
-            /* --option */
-            fprintf (stderr,
-                 "%s: option `--%s' doesn't allow an argument\n",
-                 argv[0], pfound->name);
-              else
-            /* +option or -option */
-            fprintf (stderr,
-                 "%s: option `%c%s' doesn't allow an argument\n",
-                 argv[0], argv[optind - 1][0], pfound->name);
-            }
-          nextchar += my_strlen (nextchar);
-          return BAD_OPTION;
-        }
-        }
-      else if (pfound->has_arg == 1)
-        {
-          if (optind < argc)
-        optarg = argv[optind++];
-          else
-        {
-          if (opterr)
-            fprintf (stderr, "%s: option `%s' requires an argument\n",
-                 argv[0], argv[optind - 1]);
-          nextchar += my_strlen (nextchar);
-          return optstring[0] == ':' ? ':' : BAD_OPTION;
-        }
-        }
-      nextchar += my_strlen (nextchar);
-      if (longind != NULL)
-        *longind = option_index;
-      if (pfound->flag)
-        {
-          *(pfound->flag) = pfound->val;
-          return 0;
-        }
-      return pfound->val;
-    }
-      /* Can't find it as a long option.  If this is not getopt_long_only,
-     or the option starts with '--' or is not a valid short
-     option, then it's an error.
-     Otherwise interpret it as a short option.  */
-      if (!long_only || argv[optind][1] == '-'
-#ifdef GETOPT_COMPAT
-      || argv[optind][0] == '+'
-#endif              /* GETOPT_COMPAT */
-      || my_index (optstring, *nextchar) == NULL)
-    {
-      if (opterr)
-        {
-          if (argv[optind][1] == '-')
-        /* --option */
-        fprintf (stderr, "%s: unrecognized option `--%s'\n",
-             argv[0], nextchar);
-          else
-        /* +option or -option */
-        fprintf (stderr, "%s: unrecognized option `%c%s'\n",
-             argv[0], argv[optind][0], nextchar);
-        }
-      nextchar = (char *) "";
-      optind++;
-      return BAD_OPTION;
-    }
-    }
-
-  /* Look at and handle the next option-character.  */
-
-  {
-    char c = *nextchar++;
-    char *temp = my_index (optstring, c);
-
-    /* Increment `optind' when we start to process its last character.  */
-    if (*nextchar == '\0')
-      ++optind;
-
-    if (temp == NULL || c == ':')
-      {
-    if (opterr)
-      {
-#if 0
-        if (c < 040 || c >= 0177)
-          fprintf (stderr, "%s: unrecognized option, character code 0%o\n",
-               argv[0], c);
-        else
-          fprintf (stderr, "%s: unrecognized option `-%c'\n", argv[0], c);
-#else
-        /* 1003.2 specifies the format of this message.  */
-        fprintf (stderr, "%s: illegal option -- %c\n", argv[0], c);
-#endif
-      }
-    optopt = c;
-    return BAD_OPTION;
-      }
-    if (temp[1] == ':')
-      {
-    if (temp[2] == ':')
-      {
-        /* This is an option that accepts an argument optionally.  */
-        if (*nextchar != '\0')
-          {
-        optarg = nextchar;
-        optind++;
-          }
-        else
-          optarg = 0;
-        nextchar = NULL;
-      }
-    else
-      {
-        /* This is an option that requires an argument.  */
-        if (*nextchar != '\0')
-          {
-        optarg = nextchar;
-        /* If we end this ARGV-element by taking the rest as an arg,
-           we must advance to the next element now.  */
-        optind++;
-          }
-        else if (optind == argc)
-          {
-        if (opterr)
-          {
-#if 0
-            fprintf (stderr, "%s: option `-%c' requires an argument\n",
-                 argv[0], c);
-#else
-            /* 1003.2 specifies the format of this message.  */
-            fprintf (stderr, "%s: option requires an argument -- %c\n",
-                 argv[0], c);
-#endif
-          }
-        optopt = c;
-        if (optstring[0] == ':')
-          c = ':';
-        else
-          c = BAD_OPTION;
-          }
-        else
-          /* We already incremented `optind' once;
-         increment it again when taking next ARGV-elt as argument.  */
-          optarg = argv[optind++];
-        nextchar = NULL;
-      }
-      }
-    return c;
-  }
-}
-
-int
-getopt (argc, argv, optstring)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-{
-  return _getopt_internal (argc, argv, optstring,
-               (const struct option *) 0,
-               (int *) 0,
-               0);
-}
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
-     int argc;
-     char *const *argv;
-     const char *options;
-     const struct option *long_options;
-     int *opt_index;
-{
-  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-#endif  /* _LIBC or not __GNU_LIBRARY__.  */
-
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
-   the above definition of `getopt'.  */
-
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-{
-  int c;
-  int digit_optind = 0;
-
-  while (1)
-    {
-      int this_option_optind = optind ? optind : 1;
-
-      c = getopt (argc, argv, "abc:d:0123456789");
-      if (c == EOF)
-    break;
-
-      switch (c)
-    {
-    case '0':
-    case '1':
-    case '2':
-    case '3':
-    case '4':
-    case '5':
-    case '6':
-    case '7':
-    case '8':
-    case '9':
-      if (digit_optind != 0 && digit_optind != this_option_optind)
-        printf ("digits occur in two different argv-elements.\n");
-      digit_optind = this_option_optind;
-      printf ("option %c\n", c);
-      break;
-
-    case 'a':
-      printf ("option a\n");
-      break;
-
-    case 'b':
-      printf ("option b\n");
-      break;
-
-    case 'c':
-      printf ("option c with value `%s'\n", optarg);
-      break;
-
-    case BAD_OPTION:
-      break;
-
-    default:
-      printf ("?? getopt returned character code 0%o ??\n", c);
-    }
-    }
-
-  if (optind < argc)
-    {
-      printf ("non-option ARGV-elements: ");
-      while (optind < argc)
-    printf ("%s ", argv[optind++]);
-      printf ("\n");
-    }
-
-  exit (0);
-}
-
-#endif /* TEST */
--- a/common/getopt/getopt.h
+++ /dev/null
@@ -1,130 +1,0 @@
-/* Declarations for getopt.
-   Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any
-   later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#ifndef __MacOSX__
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized.  */
-
-extern int optopt;
-#endif
-
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of `struct option' terminated by an element containing a name which is
-   zero.
-
-   The field `has_arg' is:
-   no_argument      (or 0) if the option does not take an argument,
-   required_argument    (or 1) if the option requires an argument,
-   optional_argument    (or 2) if the option takes an optional argument.
-
-   If the field `flag' is not NULL, it points to a variable that is set
-   to the value given in the field `val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an `int' to
-   a compiled-in constant, such as set a value from `optarg', set the
-   option's `flag' field to zero and its `val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero `flag' field, `getopt'
-   returns the contents of the `val' field.  */
-
-struct option
-{
-#if __STDC__
-  const char *name;
-#else
-  char *name;
-#endif
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'.  */
-
-#define no_argument     0
-#define required_argument   1
-#define optional_argument   2
-
-//#if __STDC__ || defined(PROTO)
-#if defined(__GNU_LIBRARY__)
-/* Many other libraries have conflicting prototypes for getopt, with
-   differences in the consts, in stdlib.h.  To avoid compilation
-   errors, only prototype getopt for the GNU C library.  */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#endif /* not __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
-                const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
-                 const char *shortopts,
-                     const struct option *longopts, int *longind);
-
-/* Internal only.  Users should not call this directly.  */
-extern int _getopt_internal (int argc, char *const *argv,
-                 const char *shortopts,
-                     const struct option *longopts, int *longind,
-                 int long_only);
-//#else /* not __STDC__ */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-//extern int getopt_long ();
-//extern int getopt_long_only ();
-
-//extern int _getopt_internal ();
-//#endif /* not __STDC__ */
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
--- a/common/libsndfile/AUTHORS
+++ /dev/null
@@ -1,17 +1,0 @@
-The main author of libsndfile is Erik de Castro Lopo <erikd AT zip DOT com DOT au>.
-
-The code in the src/GSM610 directory was written by Jutta Degener 
-<jutta AT cs DOT tu-berlin DOT de> and Carsten Bormann 
-<cabo AT cs DOT tu-berlin DOT de>. They should not be contacted in relation to 
-libsndfile or the GSM 6.10 code that is part of libsndfile. Their original code 
-can be found at:
-
-    http://kbs.cs.tu-berlin.de/~jutta/toast.html
-
-Code in the src/G72x directory was released by Sun Microsystems, Inc. to the 
-public domain. Minor modifications were required to integrate these files 
-into libsndfile. The changes are listed in src/G72x/ChangeLog.
-
-
-
-
--- a/common/libsndfile/COPYING
+++ /dev/null
@@ -1,503 +1,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!
-
--- a/common/libsndfile/ChangeLog
+++ /dev/null
@@ -1,1202 +1,0 @@
-2001-11-11  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-	* examples/sfplay_beos.cpp
-	Added BeOS version of sfplay.c. This needs to be compiled using a C++
-	compiler so is therefore not built by default. Thanks to Marcus Overhagen
-	for providing this.
-
-2001-11-11  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-	* src/*.[ch]
-	Removed all usage of off_t which is not part of the ISO C standard. All places 
-	which were using it are now using type long which is the type of the offset 
-	parameter for the fseek function.
-	This should fix problems on BeOS, MacOS and *BSD like systems which were failing
-	"make check" because sizeof (long) != sizeof (off_t).
-
-2001-11-10  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-	* examples/sfplay.c
-	New example file showing how libsndfile can be used to read and play a sound file.
-	At the moment on Linux is supported. Others will follow in the near future.
-
-2001-11-08  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/au.c src/sndfile.au
-	Added support for 32 bit float data in big and little endian AU files.
-	
-	* tests/write_read_test.c
-	Added tests for 32 bit float data in AU files.
-
-2001-11-06  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/lossy_comp_test.c
-	Finalised testing of stereo files where possible.
-
-2001-11-05  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_ms_adpcm.c
-	Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for pointing
-	out this problem.
-
-2001-10-24  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_ms_adpcm.c
-	Modified function srate2blocksize () to handle 44k1Hz stereo files.
-
-2001-10-24  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/lossy_comp_test.c
-	Modified this test program so that for stereo capable files, test stereo mode 
-	instead of mono.
-
-2001-10-06  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.h 
-    Win32 has _snprintf and _vsnprintf but not snprintf and vsnprintf. Added a
-	conditional #define to fix this.
-
-2001-10-04  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/voc.c
-    Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
-    on MacOS with CodeWarrior 6.0.
-
-    * MacOS/MacOS-readme.txt 
-    Updated the compile instructions. Probably still need work as I don't have
-    access to a Mac.
-
-2001-10-01  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c src/aiff.c common.c
-    Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to 
-    LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
-
-    * src/common.h
-    Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining LSF_VSNPRINTF 
-    and LSF_VSNPRINTF to appropriate values.
-
-    * src/missing.c
-    New file containing a minimal implementation of snprintf and vsnprintf functions 
-    named missing_snprintf and missing_vsnprintf respectively. These are only 
-    compliled into the binary if snprintf and/or vsnprintf are not available.
-
-2001-09-29  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/ircam.c 
-    New file to handle Berkeley/IRCAM/CARL files.
-
-    * src/sndfile.c src/common.h
-    Modified for IRCAM handling.
-
-    * tests/*.c
-    Added tests for IRCAM files.
-
-2001-09-27  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with 
-    20 byte format chunks (contrary to ms's own documentation). Fixed the WAV 
-    header writing code to generate smaller ms compliant ulaw and Alaw WAV files.
-
-2001-09-17  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/stdio_test.sh tests/stdio_test.c
-    Shell script was rewritten as a C program due to incompatibilities of the sh
-    shell on Linux and Solaris.
-
-2001-09-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
-    New test programs to verify the correct operation of reading from stdin and 
-    writing to stdout.
-
-    * src/sndfile.c wav.c au.c nist.c paf.c
-    Fixed a bugs uncovered by the new test programs above.
-
-2001-09-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c wav.c
-    Fixed a bug preventing reading a file from stdin. Found by T. Narita.
-
-2001-09-12  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.h
-    Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA WAV
-    files. Root cause was the declaration of the func_seek typedef not matching the 
-    functions it was actually being used to point to. In OpenBSD sizeof (off_t) != 
-    sizeof (int). Thanks to Heikki Korpela for allowing me to log into his OpenBSD
-    machine to debug this problem.
-
-2001-09-03  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c 
-    Implemented sf_command ("norm float").
-
-    * src/*.c
-    Implemented handling of sf_command ("norm float"). Float normalization can now
-    be turned on and off.
-
-    * tests/double_test.c
-    Renamed to floating_point_test.c. Modified to include tests for all scaled reads 
-    and writes of floats and doubles.
-
-    * src/au_g72x.c
-    Fixed bug in normalization code found with improved floating_point_test program.
-
-    * src/wav.c
-    Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract text 
-    annotations from WAV files.
-
-    * src/aiff.c
-    Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract text 
-    annotations from WAV files.
-
-2001-09-02  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * examples/sf_info.c example/Makefile.am
-    Renamed to sndfile_info.c. The program sndfile_info will now be installed when the 
-    library is installed.
-
-    * src/floatcast.h
-    New file defining floating point to short and int casts. These casts will
-    eventually replace all flot and double casts to short and int. See comments at
-    the top of the file for the reasoning.
-    
-    * src/*.c
-    Changed all default float and double casts to short or int with macros defined
-    in floatcast.h. At the moment these casts do nothing. They will be replaced 
-    with faster float to int cast operations in the near future.
-
-2001-08-31  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-    
-    * tests/command_test.c
-    New file for testing sf_command () functionality.
-
-    * src/sndfile.c
-    Revisiting of error return values of some functions.
-    Started implementing sf_command () a new function will allow on-the-fly modification
-    of library behaviour, or instance, sample value scaling.
-
-    * src/common.h
-    Added hook for format specific sf_command () calls to SNDFILE struct.
-    
-    * doc/api.html
-    Updated and errors corrected.
-    
-    * doc/command.html
-    New documentation file explaining new sf_command () function.
-
-2001-08-11  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-    
-    * src/sndfile.c
-    Fixed error return values from sf_read*() and sf_write*(). There were numerous
-    instances of -1 being returned through size_t. These now all set error int the
-    SF_PRIVATE struct and return 0. Thanks to David Viens for spotting this.
-
-2001-08-01  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-    
-    * src/common.c
-    Fixed use of va_arg() calls that were causing warning messages with the latest
-    version of gcc (thanks Maurizio Umberto Puxeddu).
-
-2001-07-25  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-    
-    * src/*.c src/sfendian.h 
-    Moved definition of MAKE_MARKER macro to sfendian.h
-
-2001-07-23  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-    
-    * src/sndfile.c
-    Modified sf_get_lib_version () so that version string will be visible using the
-    Unix strings command.
-
-    * examples/Makefile.am examples/sfinfo.c
-    Renamed sfinfo program and source code to sf_info. This prevents a name clash
-    with the program included with libaudiofile.
-
-2001-07-22  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/read_seek_test.c tests/lossy_comp_test.c
-    Added tests for sf_read_float () and sf_readf_float ().
-
-    * src/voc.c
-    New files for handling Creative Voice files (not complete).
-
-    * src/samplitude.c
-    New files for handling Samplitude files (not complete).
- 
-2001-07-21  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
-    Converted these files to using psf_binheader_readf() function. Will soon be ready
-    to make reading writing from pipes work reliably.
-
-    * src/*.[ch]
-    Added code for sf_read_float () and sf_readf_float () methods of accessing 
-    file data.
-    
-2001-07-20  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/paf.c src/wav_gsm610.c
-    Removed two printf()s which had escaped notice for some time (thanks Sigbj�rn 
-    Skj�ret).
-
-2001-07-19  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_gsm610.c
-    Fixed a bug which prevented GSM 6.10 encoded WAV files generated by libsndfile from 
-    being played in Windoze (thanks klay).
-
-2001-07-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.[ch]
-    Implemented psf_binheader_readf() which will do for file header reading what
-    psf_binheader_writef() did for writing headers. Will eventually allow
-    libsndfile to read and write from pipes, including named pipes.
-
-2001-07-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * MacOS/config.h Win32/config.h
-    Attempted to bring these two files uptodate with src/config.h. As I don't have
-    access to either of these systems support for them may be completely broken.
-
-2001-06-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/float32.c
-    Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now tested 
-    on Intel x86 and UltraSparc processors.
-
-2001-06-13  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    Modified to allow REX files (from Propellorhead's Recycle and Reason programs) to 
-    be read.
-    REX files are basically an AIFF file with slightly unusual sequence of chunks
-    (AIFF files are supposed to allow any sequence) and some extra  application 
-    specific information. 
-    Not yet able to write a REX file as the details of the application specific
-    data is unknown.
-
-2001-06-12  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Fixed endian bug when reading PEAK chunk on big endian machines.
-
-    * src/common.c
-    Fixed endian bug when reading PEAK chunk on big endian machines with 
-    --enable-force-broken-float configure option.
-    Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
-
-2001-06-07  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * configure.in src/config.h.in
-    Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float capabilities
-    are detected at run time.
-    Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines where
-    the processor can in fact handle floats correctly. 
-    
-    * src/float32.c
-    Rejigged code reading and writing of floats on broken processors.
-    
-    * m4/
-    Removed this directory and all its files as they are no longer needed.
-
-2001-06-05  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/peak_chunk_test.c
-    New test to validate reading and writing of peak chunk.
-    
-    * examples/sfconvert
-    Added -float32 option.
-
-    * src/*.c
-    Changed all error return values to negative values (ie the negative of what they
-    were). 
-    
-    * src/sndfile.c tests/error_test.c
-    Modified to take account of the previous change.
-
-2001-06-04  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/float32.c
-    File renamed from wav_float.c and renamed function to something more general.
-    Added runtime detection of floating point capabilities. 
-    Added recording of peaks during write for generation of PEAK chunk. 
-    
-    * src/wav.c src/aiff.c
-    Added handing for PEAK chunk for floating point files. PEAK is read when the
-    file headers are read and generated when the file is closed. Logic is in place
-    for adding PEAK chunk to end of file when writing to a pipe (reading and writing 
-    from/to pipe to be implemented soon).
-
-    * src/sndfile.c
-    Modified sf_signal_max () to use PEAK values if present.
-
-2001-06-03  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/*.c
-    Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all other calls
-    to functions in this file from the filetype specific files.
-    
-    * src/*.c
-    Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and ulaw_write_init () 
-    and removed all other calls to functions in alaw.c and ulaw.c from the filetype 
-    specific files.
-    
-    * tests/write_read_test.c
-    Added tests to validate sf_seek () on all file types.
-
-    * src/raw.c
-    Implemented raw_seek () function to fix a bug where sf_seek (file, 0, SEEK_SET) on a 
-    RAW file failed.
-
-    * src/paf.c
-    Fixed a bug in paf24_seek () found due to added seeks tests in tests/write_read_test.c
-
-2001-06-01  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/read_seek_test.c
-    Fixed a couple of broken binary files.
-
-    * src/aiff.c src/wav.c
-    Added handling of PEAK chunks on file read.
-
-2001-05-31  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * check_libsndfile.py
-    New file for the regression testing of libsndfile. 
-    check_libsndfile.py is a Python script which reads in a file containing 
-    filenames of audio files. Each file is checked by running the examples/sfinfo 
-    program on them and checking for error or warning messages in the libsndfile 
-    log buffer.
-
-    * check_libsndfile.list
-    This is an example list of audio files for use with check_libsndfile.py
-
-    * tests/lossy_comp_test.c
-    Changed the defined value of M_PI for math header files which don't have it.
-    This fixed validation test failures on MetroWerks compilers. Thanks to Lord 
-    Praetor Satanus of Acheron for bringing this to my attention.
-
-2001-05-30  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.[ch]
-    Removed psf_header_setf () which was no longer required after refactoring
-    and simplification of header writing.
-    Added 'z' format specifier to psf_binheader_writef () for zero filling header 
-    with N bytes. Used by paf.c and nist.c
-
-    * tests/check_log_buffer.c
-    New file implementing check_log_buffer () which reads the log buffer of a SNDFILE*
-    object and searches for error and warning messages. Calls exit () if any are found.
-
-    * tests/*.c 
-    Added calls to check_log_buffer () after each call to sf_open_XXX ().
-
-2001-05-29  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
-    Major rehack of header writing using psf_binheader_writef ().
-
-2001-05-28  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c src/wav_ima_adpcm.c
-    Major rehack of header writing using psf_binheader_writef ().
-
-2001-05-27  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Changed return type of get_encoding_str () to prevent compiler warnings on
-    Mac OSX.
-
-    * src/aiff.c src/au.c
-    Major rehack of header writing using psf_binheader_writef ().
-
-2001-05-25  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.h src/common.c
-    Added comments.
-    Name of log buffer changed from strbuffer to logbuffer.
-    Name of log buffer index variable changed from strindex to logindex.
-
-    * src/*.[ch]
-    Changed name of internal logging function from psf_sprintf () to psf_log_printf ().
-    Changed name of internal header generation functions from psf_[ab]h_printf () to 
-    psf_asciiheader_printf () and psf_binheader_writef ().
-    Changed name of internal header manipulation function psf_hsetf () to 
-    psf_header_setf (). 
-
-2001-05-24  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/nist.c
-    Fixed reading and writing of sample_byte_format header. "01" means little endian 
-    and "10" means big endian regardless of bit width.
-
-    * configure.in
-    Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is way screwed
-    up and spews out buckets of warning messages from the system headers.
-    Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for 
-    easier debugging.
-    Made decision to harmonise source code version number and .so library version
-    number. Future releases will stick to this rule.
-
-    * doc/new_file_type.HOWTO
-    New file to document the addition of new file types to libsndfile.
-
-2001-05-23  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/nist.c
-    New file for reading/writing Sphere NIST audio file format.
-    Originally requested by Elis Pomales in 1999. 
-    Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
-    Some vital information gleaned from the source code to Bill Schottstaedt's sndlib 
-    library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
-    Currently reading and writing 16, 24 and 32 bit, big-endian and little endian, 
-    stereo and mono files. 
-
-    * src/common.h src/common.c
-    Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
-
-    * configure.in
-    Added test for vsnprintf () required by psf_ah_printf ().
-
-    * tests/write_read_test.c
-    Added tests for supported NIST files.
-
-2001-05-22  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/write_read_test.c
-    Added tests for little endian AIFC files.
-
-    * src/aiff.c
-    Minor re-working of aiff_open_write ().
-    Added write support for little endian PCM encoded AIFC files.
-
-2001-05-13  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    Minor re-working of aiff_open_read ().
-    Added read support for little endian PCM encoded AIFC files from the Mac OSX CD ripper 
-    program. Guillaume Lessard provided a couple of sample files and a working patch. 
-    The patch was not used as is but gave a good guide as to what to do. 
-
-2001-05-13  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    Added support for little endian encoded AIFC files. Guillaume Lessard provided a couple
-    of sample files and a working patch. The patch was not used as is but gave a good guide
-    as to what to do. 
-
-2001-05-11  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.h
-    Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard pointed 
-    out the error.
-
-2001-04-23  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * examples/make_sine.c
-    Re-write of this example using sample rate and required frequency in Hz.
-
-2001-02-11  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Fixed bug that prevented known file types from being read as RAW PCM data.
-
-2000-12-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    Added handing of COMT chunk.
-
-2000-11-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * examples/sfconvert.c
-    Fixed bug in normalisatio code. Pointed out by Johnny Wu.
-
-2000-11-08  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * Win32/config.h
-    Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
-
-2000-10-27  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/Makefile.am
-    Added -lm for write_read_test_LDADD.
-
-2000-10-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c src/au.c
-    Fixed bug which prevented writing of G723 24kbps AU files.
-
-    * tests/lossy_comp_test.c
-    Corrrection to options for G723 tests.
-
-    * configure.in
-    Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which 
-    doesn't allow gcc -pipe option.
-
-2000-09-03  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
-    Fixed normailsation bugs shown up by new double_test program.
-
-2000-08-31  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/pcm.c
-    Fixed bug in normalisation code (spotted by Steve Lhomme).
-
-    * tests/double_test.c
-    New file to test scaled and unscaled sf_read_double() and sf_write_double()
-    functions.
-
-2000-08-28  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * COPYING
-    Changed to the LGPL COPYING file (spotted by H. S. Teoh).
-
-2000-08-21  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.h
-    Removed prototype of unimplemented function sf_get_info(). Added prototype for
-    sf_error_number() Thanks to Sigbj�rn Skj�ret for spotting these.
-
-2000-08-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/newpcm.h
-    New file to contain a complete rewrite of the PCM data handling.
-
-2000-08-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbj�rn Skj�ret
-    for spotting this one.
-
-2000-08-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Fixed a leak of FILE* pointers in sf_open_read(). Thanks to Sigbj�rn Skj�ret
-    for spotting this one.
-
-2000-08-13  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/au_g72x.c src/G72x/g72x.c
-    Added G723 encoded AU file support.
-
-    * tests/lossy_comp_test.c
-    Added tests for G721 and G723 encoded AU files.
-
-2000-08-06  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * all files
-    Changed the license to LGPL. Albert Faber who had copyright on Win32/unistd.h
-    gave his permission to change the license on that file. All other files were
-    either copyright erikd AT zip DOT com DOT au or copyright under a GPL/LGPL compatible
-    license.
-
-2000-08-06  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/lossy_comp_test.c
-    Fixed incorrect error message.
-
-    * src/au_g72x.c src/G72x/*
-    G721 encoded AU files now working.
-
-    * Win32/README-Win32.txt
-    Replaced this file with a new one which gives a full explanation
-    of how to build libsndfile under Win32. Thanks to Mike Ricos.
-
-2000-08-05  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/*.[ch]
-    Removed double leading underscores from the start of all variable and
-    function names. Identifiers with a leading underscores are reserved
-    for use by the compiler.
-
-    * src/au_g72x.c src/G72x/*
-    Continued work on G721 encoded AU files.
-
-2000-07-12  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/G72x/*
-    New files for reading/writing G721 and G723 ADPCM audio. These files 
-    are from a Sun Microsystems reference implementation released under a 
-    free software licence.
-    Extensive changes to this code to make it fit in with libsndfile.
-    See the ChangeLog in this directory for details.
-
-    * src/au_g72x.c
-    New file for G721 encoded AU files.
-
-2000-07-08  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * libsndfile.spec.in
-    Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
-
-2000-06-28  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c src/sndfile.h
-    Add checking for and handling of header-less u-law encoded AU/SND files.
-    Any file with a ".au" or ".snd" file extension and without the normal
-    AU file header is treated as an 8kHz, u-law encoded file.
-
-    * src/au.h
-    New function for opening a headerless u-law encoded file for read.
-
-2000-06-04  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/paf.c
-    Add checking for files shorter than minimal PAF file header length.
-
-2000-06-02  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/write_read_test.c
-    Added extra sf_perror() calls when sf_write_XXXX fails.
-
-2000-05-29  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.c
-    Modified usage of va_arg() macro to work correctly on PowerPC 
-    Linux. Thanks to Kyle Wheeler for giving me ssh access to his 
-    machine while I was trying to track this down.
-
-    * configure.in src/*.[ch]
-    Sorted out some endian-ness issues brought up by PowerPC Linux.
-
-    * tests/read_seek_test.c
-    Added extra debugging for when tests fail.
-
-2000-05-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
-    to Sigbj�rn Skj�ret for reporting this.
-
-2000-04-25  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c src/wav.c src/wav_gsm610.c
-    Finallised writing of GSM 6.10 WAV files.
-
-    * tests/lossy_comp_test.c
-    Wrote new test code for GSM 6.10 files. 
-
-    * examples/sfinfo.c
-    Fixed incorrect format in printf() statement.
-
-2000-04-06  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.h.in
-    Fixed comments about sf_perror () and sf_error_str ().
-
-2000-03-14  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * configure.in
-    Fixed --enable-justsrc option.
-
-2000-03-07  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * wav.c
-    Fixed checking of bytespersec field of header. Still some weirdness
-    with some files.
-
-2000-03-05  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/lossy_comp_test.c
-    Added option to test PCM WAV files (sanity check).
-    Fixed bug in sf_seek() tests.
-
-2000-02-29  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c src/wav.c
-    Minor changes to allow writing of GSM 6.10 WAV files.
-
-2000-02-28  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * configure.in Makefile.am src/Makefile.am
-    Finally got around to figuring out how to build a single library from 
-    multiple source directories.
-    Reading GSM 6.10 files now seems to work.
-
-2000-01-03  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Added more error reporting in read_fmt_chunk().
-
-1999-12-21  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * examples/sfinfo.c
-    Modified program to accept multiple filenames from the command line.
-
-1999-11-27  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_ima_adpcm.c
-    Moved code around in preparation to adding ability to read/write IMA ADPCM
-    encoded AIFF files.
-
-1999-11-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.c
-    Fixed put_int() and put_short() macros used by _psf_hprintf() which were 
-    causing seg. faults on Sparc Solaris.
-
-1999-11-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.c
-    Added string.h to includes. Thanks to Sigbjxrn Skjfret.
-
-    * src/svx.c
-    Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
-    set.
-
-1999-10-01  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/au.c
-    Fixed handling of incorrect size field in AU header on read. Thanks to 
-    Christoph Lauer for finding this problem.
-
-1999-09-28  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    Fixed a bug with incorrect SSND chunk length being written. This also lead
-    to finding an minor error in AIFF header parsing. Thanks to Dan Timis for 
-    pointing this out.
-
-1999-09-24  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/paf.c
-    Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
-    came to light when implementing tests for the new functions which operate
-    in terms of frames rather than items.
-
-1999-09-23  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Modified file type detection to use first 12 bytes of file rather than 
-    file name extension. Required this because NIST files use the same 
-    filename extension as Microsoft WAV files.
-
-    * src/sndfile.c src/sndfile.h
-    Added short, int and double read/write functions which work in frames rather 
-    than items. This was originally suggested by Maurizio Umberto Puxeddu
-
-1999-09-22  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/svx.c
-    Finished off implementation of write using __psf_hprintf().
-
-1999-09-21  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/common.h
-    Added a buffer to SF_PRIVATE for writing the header. This is required
-    to make generating headers for IFF/SVX files easier as well as making
-    it easier to do re-write the headers which will be required when 
-    sf_rewrite_header() is implemented.
-
-    * src/common.c
-    Implemented __psf_hprintf() function. This is an internal function
-    which is documented briefly just above the code.
-
-1999-09-05  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Fixed a bug in sf_write_raw() where it was returning incorrect values
-    (thanks to Richard Dobson for finding this one). Must put in a test 
-    routine for sf_read_raw and sf_write_raw.
-
-    * src/aiff.c
-    Fixed default FORMsize in __aiff_open_write ().
-
-    * src/sndfile.c
-    Added copy of filename to internal data structure. IFF/SVX files 
-    contain a NAME header chunk. Both sf_open_read() and sf_open_write()
-    copy the file name (less the leading path information) to the
-    filename field.
-
-    * src/svx.c
-    Started implementing writing of files.
-
-1999-08-04  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/svx.c
-    New file for reading/writing 8SVX and 16SVX files.
-
-    * src/sndfile.[ch] src/common.h
-    Changes for SVX files.
-
-    * src/aiff.c
-    Fixed header parsing when unknown chunk is found.
-
-1999-08-01  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/paf.c
-    New file for reading/writing Ensoniq PARIS audio file format.
-
-    * src/sndfile.[ch] src/common.h
-    Changes for PAF files.
-
-    * src/sndfile.[ch]
-    Added stuff for sf_get_lib_version() function.
-
-
-1999-07-31  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.h MacOS/config.h
-    Fixed minor MacOS configuration issues.
-
-1999-07-30  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * MacOS/
-    Added a new directory for the MacOS config.h file and the
-    readme file.
-
-    * src/aiff.c
-    Fixed calculation of datalength when reading SSND chunk. Thanks to
-    Sigbj�rn Skj�ret for pointing out this error.
-
-1999-07-29  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c src/sndfile.h src/raw.c
-    Further fixing of #includes for MacOS.
-
-1999-07-25  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c src/aiff.c
-    Added call to ferror () in main header parsing loop of __XXX_open_read
-    functions. This should fix problems on platforms (MacOS, AmigaOS) where 
-    fseek()ing or fread()ing beyond the end of the file puts the FILE*
-    stream in an error state until clearerr() is called.
-
-    * tests/write_read_test.c
-    Added tests for RAW header-less PCM files.
-
-    * src/common.h
-    Moved definition of struct tribyte to pcm.c which is the only place
-    which needs it.
-
-    * src/pcm.c
-    Modified all code which assumed sizeof (struct tribyte) == 3. This code
-    did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
-
-    * src/au.c
-    Removed <sys/stat.h> from list of #includes (not being used).
-
-    * src/sndfile.c
-    Added MacOS specific #ifdef to replace <sys/stat.h>.
-
-    * src/sndfile.h
-    Added MacOS specific #ifdef to replace <sys/stat.h>.
-
-    * src/sndfile.h
-    Added MacOS specific typedef for off_t.
-
-    * MacOS-readme.txt
-    New file with instructions for building libsndfile under MacOS. Thanks
-    to Ben "Jacobs" for supplying these instructions.
-
-1999-07-24  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * configure.in
-    Removed sndfile.h from generated file list as there were no longer
-    any autoconf substitutions being made.
-
-    * src/raw.c
-    New file for handling raw header-less PCM files. In order to open these
-    for read, the user must specify format, pcmbitwidth and channels in the
-    SF_INFO struct when calling sf_open_read ().
-
-    * src/sndfile.c
-    Added support for raw header-less PCM files.    
-
-1999-07-22  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * examples/sfinfo.c
-    Removed options so the sfinfo program always prints out all the information.
-
-1999-07-19  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/alaw.c
-    New file for A-law encoding (similar to u-law).
-
-    * tests/alaw_test.c
-    New test program to test the A-law encode/decode lookup tables.
-
-    * tests/lossy_comp_test.c
-    Added tests for a-law encoded WAV, AU and AULE files.
-
-1999-07-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c src/au.c
-    Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
-    this out.
-
-1999-07-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/ulaw_test.c
-    New test program to test the u-law encode/decode lookup tables.
-
-1999-07-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.h
-    Made corrections to comments on the return values from sf_seek ().
-
-    * src/sndfile.c
-    Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
-
-1999-07-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/au.c src/ulaw.c
-    Finished implementation of u-law encoded AU files.
-
-    * src/wav.c
-    Implemented reading and writing of u-law encoded WAV files.
-
-    * tests/
-    Changed name of adpcm_test.c to lossy_comp_test.c. This test program
-    will now be used to test Ulaw and Alaw encoding as well as APDCM.
-    Added tests for Ulaw encoded WAV files.
-
-1999-07-14  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/adpcm_test.c
-    Initialised amp variable in gen_signal() to remove compiler warning.
-
-1999-07-12  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    In __aiff_open_read () prevented fseek()ing beyond end of file which 
-    was causing trouble on MacOS with the MetroWerks compiler. Thanks to
-    Ben "Jacobs" for pointing this out.
-
-    *src/wav.c
-    Fixed as above in __wav_open_read ().
-
-1999-07-01    Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_ms_adpcm.c
-    Implemented MS ADPCM encoding. Code cleanup of decoder.
-
-    * tests/adpcm_test.c
-    Added tests for MS ADPCM WAV files.
-
-    * src/wav_ima_adpcm.c
-    Fixed incorrect parameter in call to srate2blocksize () from
-    __ima_writer_init ().
-
-1999-06-23  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/read_seek_test.c
-    Added test for 8 bit AIFF files.
-
-1999-06-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/write_read_test.c
-    Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
-
-    * configure.in
-    Added -Wconversion to CFLAGS. 
-
-    * src/*.c tests/*.c examples/*.c
-    Fixed all warnings resulting from use of -Wconversion. 
-
-1999-06-17  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
-    WAV files.
-
-    * src/wav_ima.c
-    Changed block alignment to be dependant on sample rate. This should make
-    WAV files created with libsndfile compatible with the MS Windows media
-    players.
-
-    * tests/adpcm_test.c
-    Reimplemented adpcm_test_short and implemented adpcm_test_int and adpcm_test_double.
-    Now have full testing of IMA ADPCM WAV file read, write and seek.
-
-1999-06-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_float.c
-    Fixed function prototype for x86f2d_array () which was causing ocassional 
-    seg. faults on Sparc Solaris machines.
-
-1999-06-14  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c
-    Fixed bug in __aiff_close where the length fields in the header were
-    not being correctly calculated before writing.
-
-    * tests/write_read_test.c
-    Modified to detect the above bug in WAV, AIFF and AU files.
-
-1999-06-12    Erik de Castro Lopo     <erikd AT zip DOT com DOT au>
-
-    * Win32/*
-    Added a contribution from Albert Faber to allow libsndfile to compile
-    under Win32 systems. libsndfile will now be used as part of LAME the
-    the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
-
-1999-06-11    Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * configure.in
-    Changed to reflect previous changes.
-
-    * src/wav_ima_adpcm.c
-    Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
-
-    Fixed bug when writing from int or double data to IMA ADPCM file. Will need 
-    to write test code for this.
-
-    Fixed bug in __ima_write () whereby the length of the current block was 
-    calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
-
-1999-03-27  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/*.c
-    Changed all read/write/lseek function calls to fread/fwrite/
-    fseek/ftell and added error checking of return values from
-    fread and fwrite in critical areas of the code.
-
-    * src/au.c
-    Fixed incorrect datasize element in AU header on write.
-
-    * tests/error_test.c
-    Add new test to check all error values have an associated error
-    string. This will avoid embarrassing real world core dumps.
-
-1999-03-23  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c src/aiff.c
-    Added handling for unknown chunk markers in the file. 
-
-1999-03-22  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Filled in missing error strings in SndfileErrors array. Missing entries 
-    can cause core dumps when calling sf_error-str (). Thanks to Sam 
-    <mrsam at-sign geocities.com> for finding this problem.
-
-1999-03-21  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav_ima_adpcm.c
-    Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading 
-    stereo files. Caused by not adjusting offset into buffer of decoded
-    samples for 2 channels. A similar bug existed in __ima_write ().
-    Need a test for stereo ADPCM files.
-
-    * src/wav_ms_adpcm.c
-    Decoder working correctly.
-
-1999-03-18  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * configure.in Makefile.am
-    Added --enable-justsrc configuration variable sent by Sam
-    <mrsam at-sign geocities.com>.
-
-    * src/wav_ima_adpcm.c
-    Fixed bug when reading beyond end of data section due to not
-    checking pima->blockcount.
-    This uncovered __ima_seek () bug due to pima->blockcount being set 
-    before calling __ima_init_block ().
-
-1999-03-17  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Started implementing MS ADPCM decoder. 
-    If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
-    encoder seems to add an extra byte. Why not just give an even data
-    length? 
-
-1999-03-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
-    This will make it easier to add and debug other kinds of WAV files
-    in future.
-
-1999-03-14  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/
-    Added adpcm_test.c which implements test functions for
-    IMA ADPCM reading/writing/seeking etc.
-
-    * src/wav.c
-    Fixed many bugs in IMA ADPCM encoder and decoder. 
-
-1999-03-11  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Finished implementing IMA ADPCM encoder and decoder (what a bitch!). 
-
-1999-03-03  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/wav.c
-    Started implementing IMA ADPCM decoder. 
-
-1999-03-02  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/sndfile.c
-    Fixed bug where the sf_read_XXX functions were returning a 
-    incorrect read count when reading past end of file.
-    Fixed bug in sf_seek () when seeking backwards from end of file.
-
-    * tests/read_seek_test.c
-    Added multiple read test to short_test(), int_test () and
-    double_test ().
-    Added extra chunk to all test WAV files to test that reading
-    stops at end of 'data' chunk.
-
-1999-02-21  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/write_read_test.c
-    Added tests for little DEC endian AU files.
-
-    * src/au.c
-    Add handling for DEC format little endian AU files.
-
-1999-02-20  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c src/au.c src/wav.c
-    Add __psf_sprintf calls during header parsing.
-
-    * src/sndfile.c src/common.c
-    Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
-
-    * tests/write_read_test.c
-    Added tests for 8 bit PCM files (WAV, AIFF and AU).
-
-    * src/au.c src/aiff.c
-    Add handling of 8 bit PCM data format.
-
-    * src/aiff.c
-    On write, set blocksize in SSND chunk to zero like everybody else.
-
-1999-02-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/pcm.c:
-    Fixed bug in let2s_array (cptr was not being initialised).
-
-    * src/sndfile.c:
-    Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
-    now work when using these functions.
-
-1999-02-15  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * tests/write_read_test.c:
-    Force test_buffer array to be double aligned. Sparc Solaris
-    requires this.
-
-1999-02-14  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/pcm.c:
-    Fixed a bug which was causing errors in the reading
-    and writing of 24 bit PCM files.
-
-    * doc/api.html
-    Finished of preliminary documentaion.
-
-1999-02-13  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * src/aiff.c:
-    Changed reading of 'COMM' chunk to avoid reading an int
-    which overlaps an int (4 byte) boundary.
-
--- a/common/libsndfile/INSTALL
+++ /dev/null
@@ -1,182 +1,0 @@
-Basic Installation
-==================
-
-   These are generic installation instructions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
-
-     Running `configure' takes awhile.  While running, it prints some
-     messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on.  Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
-     CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
-   If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
-
-`--help'
-     Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
--- a/common/libsndfile/MacOS/MacOS-readme.txt
+++ /dev/null
@@ -1,82 +1,0 @@
-BUILDING LIBSNDFILE FOR MACINTOSH (Pre Mac OSX)
------------------------------------------------
-
-These instructions are current as of libsndfile 0.0.16, and assume the
-following development environment:
-
-- MacOS 8.6
-- Metrowerks CodeWarrior Pro4 (IDE3.3, and all publicly available
-  compiler updates as of June, 1999)
-- Apple Universal Libraries 3.2
-
-The following procedure is recommended for building a libsndfile library
-suitable for inclusion in other MacOS projects:
-
-1. using CodeWarrior, create a new "Empty Project"
-
-2. obtain the libsndfile source distribution (see homepage URL below);
-   add all ".c" files found in the top level of the "src", "src/GSM610" and 
-   "src/G72x" folders to the project
-
-3. starting from the factory defaults, adjust the following project
-   settings:
-   - Target Settings panel:
-        linker = "MacOS PPC Linker"
-   - PPC Target panel:
-        project type = "Library"
-        file name = "libsndfile"
-
-4. grab the "config.h" file from the MacOS directory and replace the default
-   config.h file in the "src" directory
-
-5. Make the project
-
-
-CROSSPLATFORM (x86) BUILDS?
---------------------------
-
-For situations in which CodeWarrior is being used to develop a project
-for dual-platform operation, it is possible to build an x86 version of
-libsndfile on the mac as well.  Use the procedure above to set up the
-PPC target, then perform the following steps:
-
-6. create a new target, by cloning the existing ppc target (created
-   above)
-
-7. adjust the following project settings:
-   - Target Settings panel:
-        linker = "Win32 x86 Linker"
-   - x86 Settings panel:
-        project type = "Library (LIB)"
-        file name = "libsndfile.x32.lib"
-   - Access Paths panel:
-        add this compiler-relative path at the TOP of "System Paths"
-        (note: this must be at the TOP of the path list):
-          "{Compiler}:Win32-x86 Support:Headers:Win32 SDK:sys:"
-
-8. Make the x86 target
-
-
-SEE ALSO
---------
-
-The file "README" in the libsndfile distribution, for general
-information about libsndfile.
-
-
-CONTACTS
---------
-
-libsndfile was written by Erik de Castro Lopo (erikd@zip.com.au).  
-The libsndfile home page is at :
-
-        http://www.zip.com.au/~erikd/libsndfile/
-
-MacOS-specific questions, and issues specific to the instructions
-contained in this document should be directed to Ben "Jacobs" at the
-address below.
-
-
-Good luck,
-
--Ben "Jacobs" <random@well.com>
--- a/common/libsndfile/MacOS/Makefile.am
+++ /dev/null
@@ -1,1 +1,0 @@
-EXTRA_DIST = 	config.h MacOS-readme.txt
--- a/common/libsndfile/MacOS/Makefile.in
+++ /dev/null
@@ -1,182 +1,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-DLLTOOL = @DLLTOOL@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
-VERSION = @VERSION@
-subdirs = @subdirs@
-
-EXTRA_DIST = config.h MacOS-readme.txt
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../src/config.h
-CONFIG_CLEAN_FILES = 
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps MacOS/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = MacOS
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-generic distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/common/libsndfile/MacOS/config.h
+++ /dev/null
@@ -1,93 +1,0 @@
-/* src/config.h.  Generated automatically by configure.  */
-/* src/config.h.in.  Generated automatically from configure.in by autoheader.  */
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-/* #undef off_t */
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-/* #undef size_t */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-/* #undef off_t */
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-/* #undef size_t */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Set to 1 if the processor is big endian, otherwise set to 0.  */
-#ifdef __MWERKS__
-#ifdef _WIN32
-#define GUESS_BIG_ENDIAN 0
-#define GUESS_LITTLE_ENDIAN 1
-#else
-#define GUESS_BIG_ENDIAN 1
-#define GUESS_LITTLE_ENDIAN 0
-#endif
-#endif
-
-/* Set to 1 to force the use of code for processors with broken floats */
-/* Otherwise set it to 0.  */
-#define	FORCE_BROKEN_FLOAT 0
-
-/* The number of bytes in a double.  */
-#define SIZEOF_DOUBLE 8
-
-/* The number of bytes in a float.  */
-#define SIZEOF_FLOAT 4
-
-/* The number of bytes in a int.  */
-#define SIZEOF_INT 4
-
-/* The number of bytes in a long.  */
-#define SIZEOF_LONG 4
-
-/* The number of bytes in a short.  */
-#define SIZEOF_SHORT 2
-
-/* The number of bytes in a void*.  */
-#define SIZEOF_VOIDP 4
-
-/* Define if you have the fclose function.  */
-#define HAVE_FCLOSE 1
-
-/* Define if you have the fopen function.  */
-#define HAVE_FOPEN 1
-
-/* Define if you have the fread function.  */
-#define HAVE_FREAD 1
-
-/* Define if you have the free function.  */
-#define HAVE_FREE 1
-
-/* Define if you have the fseek function.  */
-#define HAVE_FSEEK 1
-
-/* Define if you have the ftell function.  */
-#define HAVE_FTELL 1
-
-/* Define if you have the fwrite function.  */
-#define HAVE_FWRITE 1
-
-/* Define if you have the malloc function.  */
-#define HAVE_MALLOC 1
-
-/* Define if you have the snprintf function.  */
-#define HAVE_SNPRINTF 1
-
-/* Define if you have the vsnprintf function.  */
-#define HAVE_VSNPRINTF 1
-
-/* Define if you have the <endian.h> header file.  */
-#define HAVE_ENDIAN_H 1
-
-/* Name of package */
-#define PACKAGE "libsndfile"
-
-/* Version number of package */
-#define VERSION "0.0.26"
-
--- a/common/libsndfile/Makefile.am
+++ /dev/null
@@ -1,5 +1,0 @@
-DIST_SUBDIRS = src examples doc tests Win32 MacOS
-SUBDIRS = @subdirs@
-EXTRA_DIST = reconf acconfig.h libsndfile.spec.in libsndfile.spec \
-			 check_libsndfile.py
-
--- a/common/libsndfile/Makefile.in
+++ /dev/null
@@ -1,365 +1,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = .
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-DLLTOOL = @DLLTOOL@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
-VERSION = @VERSION@
-subdirs = @subdirs@
-
-DIST_SUBDIRS = src examples doc tests Win32 MacOS
-SUBDIRS = @subdirs@
-EXTRA_DIST = reconf acconfig.h libsndfile.spec.in libsndfile.spec 			 check_libsndfile.py
-
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ./src/config.h
-CONFIG_CLEAN_FILES =  libsndfile.spec
-DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
-Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess config.sub \
-configure configure.in install-sh libsndfile.spec.in ltconfig ltmain.sh \
-missing mkinstalldirs src/config.h.in src/stamp-h.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(ACLOCAL_M4):  configure.in 
-	cd $(srcdir) && $(ACLOCAL)
-
-config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES)
-	$(SHELL) ./config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
-	cd $(srcdir) && $(AUTOCONF)
-
-src/config.h: src/stamp-h
-	@if test ! -f $@; then \
-		rm -f src/stamp-h; \
-		$(MAKE) src/stamp-h; \
-	else :; fi
-src/stamp-h: $(srcdir)/src/config.h.in $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES= CONFIG_HEADERS=src/config.h \
-	     $(SHELL) ./config.status
-	@echo timestamp > src/stamp-h 2> /dev/null
-$(srcdir)/src/config.h.in: $(srcdir)/src/stamp-h.in
-	@if test ! -f $@; then \
-		rm -f $(srcdir)/src/stamp-h.in; \
-		$(MAKE) $(srcdir)/src/stamp-h.in; \
-	else :; fi
-$(srcdir)/src/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
-	cd $(top_srcdir) && $(AUTOHEADER)
-	@echo timestamp > $(srcdir)/src/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
-	-rm -f src/config.h
-
-maintainer-clean-hdr:
-libsndfile.spec: $(top_builddir)/config.status libsndfile.spec.in
-	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive  \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
-	  rev="$$subdir $$rev"; \
-	  test "$$subdir" = "." && dot_seen=yes; \
-	done; \
-	test "$$dot_seen" = "no" && rev=". $$rev"; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-   if test "$$subdir" = .; then :; else \
-	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-   fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-	-rm -rf $(distdir)
-	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
-	mkdir $(distdir)/=build
-	mkdir $(distdir)/=inst
-	dc_install_base=`cd $(distdir)/=inst && pwd`; \
-	cd $(distdir)/=build \
-	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
-	  && $(MAKE) $(AM_MAKEFLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
-	  && $(MAKE) $(AM_MAKEFLAGS) check \
-	  && $(MAKE) $(AM_MAKEFLAGS) install \
-	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist
-	-rm -rf $(distdir)
-	@banner="$(distdir).tar.gz is ready for distribution"; \
-	dashes=`echo "$$banner" | sed s/./=/g`; \
-	echo "$$dashes"; \
-	echo "$$banner"; \
-	echo "$$dashes"
-dist: distdir
-	-chmod -R a+r $(distdir)
-	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-	-rm -rf $(distdir)
-dist-all: distdir
-	-chmod -R a+r $(distdir)
-	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-	-rm -rf $(distdir)
-distdir: $(DISTFILES)
-	-rm -rf $(distdir)
-	mkdir $(distdir)
-	-chmod 777 $(distdir)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	for subdir in $(DIST_SUBDIRS); do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d $(distdir)/$$subdir \
-	    || mkdir $(distdir)/$$subdir \
-	    || exit 1; \
-	    chmod 777 $(distdir)/$$subdir; \
-	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am:
-uninstall: uninstall-recursive
-all-am: Makefile
-all-redirect: all-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-hdr mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am:  clean-hdr clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am:  distclean-hdr distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-recursive
-	-rm -f config.status
-
-maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-tags \
-		maintainer-clean-generic distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -f config.status
-
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/common/libsndfile/NEWS
+++ /dev/null
@@ -1,95 +1,0 @@
-Version 0.0.26 (2001-09-30)
-  * Offical release.
-  * Changed how A-law and u-law WAV file headers are written to allow files generated
-    by libsndfile to be read by M$ windoze.
-  * Added IRCAM file support.
-  * Minor bug fixes.
-  * This will be the last release in the 0.0.X development stream apart from bug fixes.
-    A new deveopement stream with minor interface changes in already in development.
-
-Version 0.0.25 (2001-09-24)
-  * Offical release.
-  * Added sf_command () interface which allows switching normalisation on and off for
-    sf_read/write_float () methods.  
-  * Minor bug fixes.
-  * This will be the last release in the 0.0.X development stream apart from bug fixes.
-    A new deveopement stream with minor interface changes in already in development.
-
-Version 0.0.24 (2001-08-19)
-  * Offical release.
-  * Massive refactoring of header reading code for all file formats.
-  * Added sf_read_float () and sf_write_float () interfaces.
-  * Minor bug fixes.
-
-Version 0.0.23 (2001-07-06)
-  * Offical release.
-  * Massive refactoring of header writing code for all file formats.
-  * Added support for Sphere NIST.
-  * Added support for 32 bit float AIFF and little endian AIFF files (Mac OSX).
-  * Added read and write support for the PEAK chunk in 32 bit float AIFF and WAV files.
-  * Added support for REX files (Propellorheads Reason).
-  * Minor bug fixes.
-
-Version 0.0.22 (2000-10-17)
-  * Offical release.
-  * Bug fix in G723 AU file handling.
-
-Version 0.0.21 (2000-08-16)
-  * Offical release.
-  * AU files without the normal AU file header are now recognised as headerless
-    8kHz 8 bit ulaw encoded files.
-  * Added handling for G721 4bit APDCM encoded AU files.
-  * Added handling for G723 3bit APDCM encoded AU files.
-  * Improved Win32 compiling and use instructions from Mike Ricos.
-  * License change from GPL to LGPL.
-
-Version 0.0.20 (2000-05-30)
-  * Offical release.
-  * Minor bug fix for LinuxPPC (endian issues).
-
-Version 0.0.19 (2000-05-20)
-  * Offical release.
-  * Minor bug fix for handling GSM 6.10 encoded WAV files on big endian machines.
-
-Version 0.0.18 (2000-04-25)
-  * Offical release.
-  * Added handling for GSM 6.10 encoded WAV files.
-  * Minor bug fixes.
-
-Version 0.0.17 (1999-11-16)
-  * Offical release.
-  * New file formats (SVX and PAF).
-  * Minor bug fixes.
-
-Version 0.0.16 (1999-07-31)
-  * Offical release.
-  * Fixed minor MacOS configuration issues.
-
-Version 0.0.15 (1999-07-30)
-  * Offical release.
-  * Added MS ADPCM WAV file write.
-  * Added WAV and AU file A-law and u-law encoding.
-  * Added RAW header-less PCM file handling.
-  * Added MacOS support (thanks to Ben "Jacobs").
-
-Version 0.0.12 (1999-06-19)
-  * Offical release.
-  * Code cleanup to remove compiler warning messages.
-
-Version 0.0.10 (1999-06-12)
-  * Unoffical release.
-  * Changes to low level code which improve error detection and handling.
-  * Added read-only handling of Microsoft ADPCM WAV files.
-  * Added Win32 support (almost exclusively due to Albert Faber, thanks).
-  * Fixed bug in IMA ADPCM file writing.
-
-Version 0.0.9 (1999-03-14)
-  * Add handling of IMA ADPCM WAV files.
-  * Add new function sf_get_header_info and add example program sfinfo.
-  * Implemented 8 bit PCM data formats for AIFF, AU and WAV.
-  
-Version 0.0.8 (1999-02-16)
-  * First offical release.
-
-Version 0.0.7 (1999-02-13)
-  * First unoffical release.
--- a/common/libsndfile/README
+++ /dev/null
@@ -1,62 +1,0 @@
-This is libsndfile, 0.0.26
-
-libsndfile is a library of C routines for reading and writing 
-files containing sampled audio data. 
-
-The src/ directory contains the source code for library itself.
-
-The doc/ directory contains the libsndfile documentation.
-
-The examples/ directory contains examples of how to write code using
-libsndfile. 'wav32_aiff24' converts a WAV file containing 32 bit floating 
-point data into a 24 bit PCM AIFF file. 'sndfile2oct' dumps the audio
-data of a file in a human readable format. 'sfconvert' is the beginnings
-of a audio file format conversion utility. 'make_sine' generates a WAV
-file containing one cycle of a sine wave with 4096 sample points in
-32 bit floating point format. 'sfinfo' opens a sound file and prints
-out information about that file.
-
-The tests/ directory contains programs which link against libsndfile
-and test its functionality.
-
-The Win32/ directory contains files and documentation to allow libsndfile
-to compile under Win32 with the Microsoft Visual C++ compiler.
-
-The MacOS/ directory contains files and documentation to allow libsndfile
-to compile under MacOS with the Metrowerks compiler.
-
-The src/GSM610 directory contains code written by Jutta Degener and Carsten 
-Bormann. Their original code can be found at :
-    http://kbs.cs.tu-berlin.de/~jutta/toast.html
-
-The src/G72x directory contains code written and released by Sum Microsystems
-under a suitably free license.
-
-OTHER PLATFORMS
----------------
-
-To compile libsndfile on platforms which have a Bourne Shell compatible
-shell, an ANSI C compiler and a make utility should require no more that
-the following three commands :
-		./configure
-		make
-		make install
-		
-For platforms without the required shell, it is usually sufficient to 
-create an approriate config.h file in the src/ directory with correct
-values for the following #defines  (this would work for AmigaOS) :
-
-#define HAVE_ENDIAN_H 0
-#define GUESS_BIG_ENDIAN 1
-#define GUESS_LITTLE_ENDIAN 0
-#define FORCE_BROKEN_FLOAT 0
-
-
-CONTACTS
---------
-
-libsndfile was written by Erik de Castro Lopo (erikd AT zip DOT com DOT au).  
-The libsndfile home page is at :
-
-	http://www.zip.com.au/~erikd/libsndfile/
-
--- a/common/libsndfile/TODO
+++ /dev/null
@@ -1,46 +1,0 @@
-Here's a list of what I (erikd AT zip DOT com DOT au) think needs to be 
-done. The list is by no means exhaustive and people are encouraged to 
-email me with suggestions. 
-
-  o Add pipe in/out capabilities. libsndfile should be able to read 
-	its input from a pipe and write its output to a pipe.
-
-  o Add checks of the error state after fseek???? Use ferror ().
-
-  o Modify tests/lossy_comp_test.c to add tests for stereo files.
-
-  o Testing compilation and correctness on more platforms.
-
-  o Improve testing routines. Must test all combinations of inputs
-    and outputs.
-
-  o Test sf_seek function on write???
-
-  o Get hold of a couple of Sun/Next AU files containing 32 and 64 bit 
-    floating point data write code to read and write them (well at least
-    the 32 bit ones).
-
-  o Add more sound file formats. People should contact me with their
-    requirements. 
-
-  o Add support for accessing sound formats with multiple audio
-    data sections (ie samples within tracker files, Soundfont II and 
-    multi-sample sampler formats). 
-
-  o Add an interface to allow reading and writing of sample loop points 
-    and other info within AIFF and other file formats. This must be a 
-    general solution.
-
-  o Improve documentation. Is HTML documentation good enough?
-
-  o Look into the possibility of optional sample rate convert on file 
-    read.
-
-As I am the person who knows libsndfile best, I can probably implement 
-any new features faster than anybody else (and you can spend your time
-writing applications with libsndfile). All I need is some 
-documentation and some sample files. Please contact me before emailing
-me documentation and sample files. I would much rather pull them off
-the web than have them clogging up my email inbox.
-
-
--- a/common/libsndfile/Win32/Makefile.am
+++ /dev/null
@@ -1,3 +1,0 @@
-EXTRA_DIST = 	README-Win32.txt README-Win32.txt.old	\
-				config.h unistd.h
-				
--- a/common/libsndfile/Win32/Makefile.in
+++ /dev/null
@@ -1,183 +1,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-DLLTOOL = @DLLTOOL@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
-VERSION = @VERSION@
-subdirs = @subdirs@
-
-EXTRA_DIST = README-Win32.txt README-Win32.txt.old					config.h unistd.h
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../src/config.h
-CONFIG_CLEAN_FILES = 
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Win32/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = Win32
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-generic distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/common/libsndfile/Win32/README-Win32.txt
+++ /dev/null
@@ -1,89 +1,0 @@
-This is the readme-Win32.txt file associated with the LibSndFile 
-library. It describes how the included workspace and project 
-was created for Microsoft Visual C++ developer's studio (MSVC), 
-version 5.0.  Skip to point 7 if you wish to create a new 
-project for building an executable.
-
-1. Extracted libsndfile.zip to d:\files\msvc\
-
-2. It created (replace X.Y.Z with the libsndfile version number)
-     d:\files\msvc\libsndfile-X.Y.Z\Win32      *
-     d:\files\msvc\libsndfile-X.Y.Z\src        *
-     d:\files\msvc\libsndfile-X.Y.Z\tests      *
-     d:\files\msvc\libsndfile-X.Y.Z\examples   
-     d:\files\msvc\libsndfile-X.Y.Z\doc
-     d:\files\msvc\libsndfile-X.Y.Z\m4
-     d:\files\msvc\libsndfile-X.Y.Z\MacOS
-
-     * are needed for this example
-
-3. From MSVC:New->Workspace, I created LibSndFileWorkspace at:
-    d:\files\msvc\libsndfile-X.Y.Z\Win32\
-    (workspace files have the extension .dsw)
-
-3. In MSVC, rt-click on "Workspace LibSndFileWorkspace" and add project:
-    Project type:      Win32 Static Library  
-    Project Name:      LibSndFile 
-    Project Location:  D:\files\msvc\libsndfile-X.Y.Z\Win32
-    Select button:     'Add to current workspace' 
-    Platforms:         Win32
-
-4.  Rt-click newly formed "LibSndFile files" and add files:
-     d:\files\msvc\libsndfile-X.Y.Z\src\*.*
-     d:\files\msvc\libsndfile-X.Y.Z\src\Gsm610\*.*
-     d:\files\msvc\libsndfile-X.Y.Z\src\G72x\*.*
-
-5.  Rt-click 'LibSndFile files' and  go to Settings
-     a. Select all configurations on the left hand side
-     b. Then select C/C++/Preprocessor and add
-     "..\" (no quotes) to 'Additional include directories'
-     (This allows ..Win32\config.h and unistd.h to be found.)
-
-6.  At this point you should be able to build the library. The output
-    will be found in ..\Win32\LibSndFile\Debug\LibSndFile.lib. You can
-    change the LibSndFile project to Release and a similar release 
-    path will be created.
-
-The following describes how to add an application project to the 
-workspace. You may add as many as you wish. In general, you will
-need one project for each executable you want to create.
-
-7. Rt-click LibSndFileWorkspace and select 'Add project'
-    Project type:      Win32 Console Application   
-    Project Name:      sfversion 
-    Location: d:\files\msvc\libsndfile-X.Y.Z\Win32\sfversion 
-    Select button:     'Add to current workspace' 
-    Platforms:         Win32
-    
-    Notes: 
-     - MSVC will create a directory ..\Win32\sfversion\
-     - MSVC will create the file sfversion.dsp in this directory
-
-8. Rt-click 'sfversion files' and add file:
-     d:\files\msvc\libsndfile-X.Y.Z\tests\sfversion.c
-
-9. Rt-click 'sfversion files' and go to Settings:
-     a. Select 'All configurations' on the left hand side
-     b. Then select C/C++/Preprocessor and add
-     "..\..\src,..\" (no quotes) to 'Additional include directories'
-
-9. Rt-click 'sfversion files' and go to Settings:
-     a. Select 'Debug Configuration' on left hand side
-     b. Then select Link tab and add
-     "..\LibSndFile\Debug\LibSndFile.lib " (no quotes) to 
-     the list of 'Object/library modules'. Leave a space between new
-     addition existing lib files.
-
-10. Repeat above for Release build adding Release path info.
-
-11. Build your application, it should link and create an .exe
-
-Final notes:
-
-Files created during build by msvc but are not needed for archive:
-*ncb *.plg *.opt *.obj *.idb *.pch *.lib *.exe
-
-Files associated with LibSndFile but not used by msvc:
-Makefile.in
-Makefile.am
-                          - End -  
--- a/common/libsndfile/Win32/README-Win32.txt.old
+++ /dev/null
@@ -1,32 +1,0 @@
-The MSCV++ workspace and project files have been broken for some time and I 
-have not found anyone willing to fix them or provide new ones. I hope the
-following instructions will be sufficient for Win32 to users to build, test
-and use this library.
-
-It is assumed that when you unzip the source code package you will keep the
-directory structure of the archive.
-
-The source code for the library it self is in following directories under 
-the main libsndfile directory:
-
-		src/
-		src/GSM610/
-
-To build the library you need to create a project containing all the *.c files 
-in these two directories. In addition, you should copy the two header files
-in the Win32/ directory (config.h and unistd.h) to the src/ directory. In the
-case of config.h you will be overwriting the existing config.h file.
-
-The test programs are all in the directory tests/ which contains one .c file
-for each test program. To create all the test programs you will need to 
-compile each of these test programs and link it to the library.
-
-Finally, there is also a directory examples/, which contains a number of small
-example programs. These can be compiled and linked much like the files in the
-tests/ directory.
-
-Anybody who can add to or clarify these instructions should should send me 
-email at <erikd@zip.com.au>.
-
-Erik de Castro Lopo
-May 30th, 2000
--- a/common/libsndfile/Win32/config.h
+++ /dev/null
@@ -1,88 +1,0 @@
-/* src/config.h.  Generated automatically by configure.  */
-/* src/config.h.in.  Generated automatically from configure.in by autoheader.  */
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-/* #undef off_t */
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-/* #undef size_t */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-/* #undef off_t */
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-/* #undef size_t */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Set to 1 if the processor is big endian, otherwise set to 0.  */
-#define GUESS_BIG_ENDIAN 0
-
-/* Set to 1 if the processor is little endian, otherwise set to 0.  */
-#define GUESS_LITTLE_ENDIAN 1
-
-/* Set to 1 to force the use of code for processors with broken floats */
-/* Otherwise set it to 0.  */
-#define FORCE_BROKEN_FLOAT 0
-
-/* The number of bytes in a double.  */
-#define SIZEOF_DOUBLE 8
-
-/* The number of bytes in a float.  */
-#define SIZEOF_FLOAT 4
-
-/* The number of bytes in a int.  */
-#define SIZEOF_INT 4
-
-/* The number of bytes in a long.  */
-#define SIZEOF_LONG 4
-
-/* The number of bytes in a short.  */
-#define SIZEOF_SHORT 2
-
-/* The number of bytes in a void*.  */
-#define SIZEOF_VOIDP 4
-
-/* Define if you have the fclose function.  */
-#define HAVE_FCLOSE 1
-
-/* Define if you have the fopen function.  */
-#define HAVE_FOPEN 1
-
-/* Define if you have the fread function.  */
-#define HAVE_FREAD 1
-
-/* Define if you have the free function.  */
-#define HAVE_FREE 1
-
-/* Define if you have the fseek function.  */
-#define HAVE_FSEEK 1
-
-/* Define if you have the ftell function.  */
-#define HAVE_FTELL 1
-
-/* Define if you have the fwrite function.  */
-#define HAVE_FWRITE 1
-
-/* Define if you have the malloc function.  */
-#define HAVE_MALLOC 1
-
-/* Define if you have the snprintf function.  */
-#define HAVE_SNPRINTF 0
-
-/* Define if you have the vsnprintf function.  */
-#define HAVE_VSNPRINTF 0
-
-/* Define if you have the <endian.h> header file.  */
-#define HAVE_ENDIAN_H 0
-
-/* Name of package */
-#define PACKAGE "libsndfile"
-
-/* Version number of package */
-#define VERSION "0.0.26"
-
--- a/common/libsndfile/Win32/libsndfile.dsp
+++ /dev/null
@@ -1,208 +1,0 @@
-# Microsoft Developer Studio Project File - Name="libsndfile" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=libsndfile - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libsndfile.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libsndfile.mak" CFG="libsndfile - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libsndfile - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libsndfile - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "libsndfile - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "..\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=xilink6.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "libsndfile - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=xilink6.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libsndfile - Win32 Release"
-# Name "libsndfile - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\src\aiff.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\au.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\float32.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\ircam.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\nist.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\paf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\pcm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\raw.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\samplitude.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\sndfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\svx.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\voc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\wav.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\src\au.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\GSM610\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\floatcast.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\G72x\g72x.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\GSM610\gsm.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\G72x\private.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\GSM610\private.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\GSM610\proto.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\sfendian.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\sndfile.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\GSM610\unproto.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\wav.h
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/common/libsndfile/Win32/libsndfile.dsw
+++ /dev/null
@@ -1,29 +1,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libsndfile"=.\libsndfile.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
--- a/common/libsndfile/Win32/libsndfile.sln
+++ /dev/null
@@ -1,21 +1,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsndfile", "libsndfile.vcproj", "{BC57B03E-5BA1-4493-9488-07D9311D316F}"
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		ConfigName.0 = Debug
-		ConfigName.1 = Release
-	EndGlobalSection
-	GlobalSection(ProjectDependencies) = postSolution
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{BC57B03E-5BA1-4493-9488-07D9311D316F}.Debug.ActiveCfg = Debug|Win32
-		{BC57B03E-5BA1-4493-9488-07D9311D316F}.Debug.Build.0 = Debug|Win32
-		{BC57B03E-5BA1-4493-9488-07D9311D316F}.Release.ActiveCfg = Release|Win32
-		{BC57B03E-5BA1-4493-9488-07D9311D316F}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
--- a/common/libsndfile/Win32/libsndfile.vcproj
+++ /dev/null
@@ -1,201 +1,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="libsndfile"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="4"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-				StringPooling="TRUE"
-				RuntimeLibrary="4"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/libsndfile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\Release\libsndfile.lib"
-				SuppressStartupBanner="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1043"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="4"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/libsndfile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\Debug\libsndfile.lib"
-				SuppressStartupBanner="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1043"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-			<File
-				RelativePath="..\src\aiff.c">
-			</File>
-			<File
-				RelativePath="..\src\au.c">
-			</File>
-			<File
-				RelativePath="..\src\common.c">
-			</File>
-			<File
-				RelativePath="..\src\float32.c">
-			</File>
-			<File
-				RelativePath="..\src\ircam.c">
-			</File>
-			<File
-				RelativePath="..\src\nist.c">
-			</File>
-			<File
-				RelativePath="..\src\paf.c">
-			</File>
-			<File
-				RelativePath="..\src\pcm.c">
-			</File>
-			<File
-				RelativePath="..\src\raw.c">
-			</File>
-			<File
-				RelativePath="..\src\samplitude.c">
-			</File>
-			<File
-				RelativePath="..\src\sndfile.c">
-			</File>
-			<File
-				RelativePath="..\src\svx.c">
-			</File>
-			<File
-				RelativePath="..\src\voc.c">
-			</File>
-			<File
-				RelativePath="..\src\wav.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl">
-			<File
-				RelativePath="..\src\au.h">
-			</File>
-			<File
-				RelativePath="..\src\common.h">
-			</File>
-			<File
-				RelativePath=".\config.h">
-			</File>
-			<File
-				RelativePath="..\src\GSM610\config.h">
-			</File>
-			<File
-				RelativePath="..\src\floatcast.h">
-			</File>
-			<File
-				RelativePath="..\src\G72x\g72x.h">
-			</File>
-			<File
-				RelativePath="..\src\GSM610\gsm.h">
-			</File>
-			<File
-				RelativePath="..\src\G72x\private.h">
-			</File>
-			<File
-				RelativePath="..\src\GSM610\private.h">
-			</File>
-			<File
-				RelativePath="..\src\GSM610\proto.h">
-			</File>
-			<File
-				RelativePath="..\src\sfendian.h">
-			</File>
-			<File
-				RelativePath="..\src\sndfile.h">
-			</File>
-			<File
-				RelativePath=".\unistd.h">
-			</File>
-			<File
-				RelativePath="..\src\GSM610\unproto.h">
-			</File>
-			<File
-				RelativePath="..\src\wav.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
--- a/common/libsndfile/Win32/unistd.h
+++ /dev/null
@@ -1,44 +1,0 @@
-/*
-** Copyright (C) 1999 Albert Faber
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/* A hack file in order to compile the libsndfile package for win32 systems 
-** Define the things that Bill and his fellows forgot to define
-*/
-
-#ifdef _WIN32
-#include <direct.h>
-
-#define	_IFMT		_S_IFMT
-#define _IFREG		_S_IFREG
-
-#define	S_ISREG(m)	((m) & _S_IFREG)
-
-#define	S_IRWXU 	0000700	/* rwx, owner */
-#define		S_IRUSR	0000400	/* read permission, owner */
-#define		S_IWUSR	0000200	/* write permission, owner */
-#define		S_IXUSR	0000100	/* execute/search permission, owner */
-#define	S_IRWXG		0000070	/* rwx, group */
-#define		S_IRGRP	0000040	/* read permission, group */
-#define		S_IWGRP	0000020	/* write permission, grougroup */
-#define		S_IXGRP	0000010	/* execute/search permission, group */
-#define	S_IRWXO		0000007	/* rwx, other */
-#define		S_IROTH	0000004	/* read permission, other */
-#define		S_IWOTH	0000002	/* write permission, other */
-#define		S_IXOTH	0000001	/* execute/search permission, other */
-
-#endif
\ No newline at end of file
--- a/common/libsndfile/acconfig.h
+++ /dev/null
@@ -1,288 +1,0 @@
-/* acconfig.h
-   This file is in the public domain.
-
-   Descriptive text for the C preprocessor macros that
-   the distributed Autoconf macros can define.
-   No software package will use all of them; autoheader copies the ones
-   your configure.in uses into your configuration header file templates.
-
-   The entries are in sort -df order: alphabetical, case insensitive,
-   ignoring punctuation (such as underscores).  Although this order
-   can split up related entries, it makes it easier to check whether
-   a given entry is in the file.
-
-   Leave the following blank line there!!  Autoheader needs it.  */
-
-
-/* Define if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
-#ifndef _ALL_SOURCE
-#undef _ALL_SOURCE
-#endif
-
-/* Define if using alloca.c.  */
-#undef C_ALLOCA
-
-/* Define if type char is unsigned and you are not using gcc.  */
-#ifndef __CHAR_UNSIGNED__
-#undef __CHAR_UNSIGNED__
-#endif
-
-/* Define if the closedir function returns void instead of int.  */
-#undef CLOSEDIR_VOID
-
-/* Define to empty if the keyword does not work.  */
-#undef const
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
-   This function is required for alloca.c support on those systems.  */
-#undef CRAY_STACKSEG_END
-
-/* Define for DGUX with <sys/dg_sys_info.h>.  */
-#undef DGUX
-
-/* Define if you have <dirent.h>.  */
-#undef DIRENT
-
-/* Define to the type of elements in the array set by `getgroups'.
-   Usually this is either `int' or `gid_t'.  */
-#undef GETGROUPS_T
-
-/* Define if the `getloadavg' function needs to be run setuid or setgid.  */
-#undef GETLOADAVG_PRIVILEGED
-
-/* Define if the `getpgrp' function takes no argument.  */
-#undef GETPGRP_VOID
-
-/* Define to `int' if <sys/types.h> doesn't define.  */
-#undef gid_t
-
-/* Define if you have alloca, as a function or macro.  */
-#undef HAVE_ALLOCA
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
-#undef HAVE_ALLOCA_H
-
-/* Define if you don't have vprintf but do have _doprnt.  */
-#undef HAVE_DOPRNT
-
-/* Define if your system has a working fnmatch function.  */
-#undef HAVE_FNMATCH
-
-/* Define if your system has its own `getloadavg' function.  */
-#undef HAVE_GETLOADAVG
-
-/* Define if you have the getmntent function.  */
-#undef HAVE_GETMNTENT
-
-/* Define if the `long double' type works.  */
-#undef HAVE_LONG_DOUBLE
-
-/* Define if you support file names longer than 14 characters.  */
-#undef HAVE_LONG_FILE_NAMES
-
-/* Define if you have a working `mmap' system call.  */
-#undef HAVE_MMAP
-
-/* Define if system calls automatically restart after interruption
-   by a signal.  */
-#undef HAVE_RESTARTABLE_SYSCALLS
-
-/* Define if your struct stat has st_blksize.  */
-#undef HAVE_ST_BLKSIZE
-
-/* Define if your struct stat has st_blocks.  */
-#undef HAVE_ST_BLOCKS
-
-/* Define if you have the strcoll function and it is properly defined.  */
-#undef HAVE_STRCOLL
-
-/* Define if your struct stat has st_rdev.  */
-#undef HAVE_ST_RDEV
-
-/* Define if you have the strftime function.  */
-#undef HAVE_STRFTIME
-
-/* Define if you have the ANSI # stringizing operator in cpp. */
-#undef HAVE_STRINGIZE
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
-#undef HAVE_SYS_WAIT_H
-
-/* Define if your struct tm has tm_zone.  */
-#undef HAVE_TM_ZONE
-
-/* Define if you don't have tm_zone but do have the external array
-   tzname.  */
-#undef HAVE_TZNAME
-
-/* Define if you have <unistd.h>.  */
-#undef HAVE_UNISTD_H
-
-/* Define if utime(file, NULL) sets file's timestamp to the present.  */
-#undef HAVE_UTIME_NULL
-
-/* Define if you have <vfork.h>.  */
-#undef HAVE_VFORK_H
-
-/* Define if you have the vprintf function.  */
-#undef HAVE_VPRINTF
-
-/* Define if you have the wait3 system call.  */
-#undef HAVE_WAIT3
-
-/* Define as __inline if that's what the C compiler calls it.  */
-#undef inline
-
-/* Define if int is 16 bits instead of 32.  */
-#undef INT_16_BITS
-
-/* Define if long int is 64 bits.  */
-#undef LONG_64_BITS
-
-/* Define if major, minor, and makedev are declared in <mkdev.h>.  */
-#undef MAJOR_IN_MKDEV
-
-/* Define if major, minor, and makedev are declared in <sysmacros.h>.  */
-#undef MAJOR_IN_SYSMACROS
-
-/* Define if on MINIX.  */
-#undef _MINIX
-
-/* Define to `int' if <sys/types.h> doesn't define.  */
-#undef mode_t
-
-/* Define if you don't have <dirent.h>, but have <ndir.h>.  */
-#undef NDIR
-
-/* Define if you have <memory.h>, and <string.h> doesn't declare the
-   mem* functions.  */
-#undef NEED_MEMORY_H
-
-/* Define if your struct nlist has an n_un member.  */
-#undef NLIST_NAME_UNION
-
-/* Define if you have <nlist.h>.  */
-#undef NLIST_STRUCT
-
-/* Define if your C compiler doesn't accept -c and -o together.  */
-#undef NO_MINUS_C_MINUS_O
-
-/* Define if your Fortran 77 compiler doesn't accept -c and -o together. */
-#undef F77_NO_MINUS_C_MINUS_O
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-#undef off_t
-
-/* Define to `int' if <sys/types.h> doesn't define.  */
-#undef pid_t
-
-/* Define if the system does not provide POSIX.1 features except
-   with this defined.  */
-#undef _POSIX_1_SOURCE
-
-/* Define if you need to in order for stat and other things to work.  */
-#undef _POSIX_SOURCE
-
-/* Define as the return type of signal handlers (int or void).  */
-#undef RETSIGTYPE
-
-/* Define to the type of arg1 for select(). */
-#undef SELECT_TYPE_ARG1
-
-/* Define to the type of args 2, 3 and 4 for select(). */
-#undef SELECT_TYPE_ARG234
-
-/* Define to the type of arg5 for select(). */
-#undef SELECT_TYPE_ARG5
-
-/* Define if the `setpgrp' function takes no argument.  */
-#undef SETPGRP_VOID
-
-/* Define if the setvbuf function takes the buffering type as its second
-   argument and the buffer pointer as the third, as on System V
-   before release 3.  */
-#undef SETVBUF_REVERSED
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-#undef size_t
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at run-time.
-	STACK_DIRECTION > 0 => grows toward higher addresses
-	STACK_DIRECTION < 0 => grows toward lower addresses
-	STACK_DIRECTION = 0 => direction of growth unknown
- */
-#undef STACK_DIRECTION
-
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
-#undef STAT_MACROS_BROKEN
-
-/* Define if you have the ANSI C header files.  */
-#undef STDC_HEADERS
-
-/* Define on System V Release 4.  */
-#undef SVR4
-
-/* Define if you don't have <dirent.h>, but have <sys/dir.h>.  */
-#undef SYSDIR
-
-/* Define if you don't have <dirent.h>, but have <sys/ndir.h>.  */
-#undef SYSNDIR
-
-/* Define if `sys_siglist' is declared by <signal.h>.  */
-#undef SYS_SIGLIST_DECLARED
-
-/* Define if you can safely include both <sys/time.h> and <time.h>.  */
-#undef TIME_WITH_SYS_TIME
-
-/* Define if your <sys/time.h> declares struct tm.  */
-#undef TM_IN_SYS_TIME
-
-/* Define to `int' if <sys/types.h> doesn't define.  */
-#undef uid_t
-
-/* Define for Encore UMAX.  */
-#undef UMAX
-
-/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
-   instead of <sys/cpustats.h>.  */
-#undef UMAX4_3
-
-/* Define if you do not have <strings.h>, index, bzero, etc..  */
-#undef USG
-
-/* Define vfork as fork if vfork does not work.  */
-#undef vfork
-
-/* Define if the closedir function returns void instead of int.  */
-#undef VOID_CLOSEDIR
-
-/* Define if your processor stores words with the most significant
-   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
-#undef WORDS_BIGENDIAN
-
-/* Define if the X Window System is missing or not being used.  */
-#undef X_DISPLAY_MISSING
-
-/* Define if lex declares yytext as a char * by default, not a char[].  */
-#undef YYTEXT_POINTER
-
-
-/* Leave that blank line there!!  Autoheader needs it.
-   If you're adding to this file, keep in mind:
-   The entries are in sort -df order: alphabetical, case insensitive,
-   ignoring punctuation (such as underscores).  */
-
-/* Set to 1 if the processor is big endian, otherwise set to 0.  */
-#undef	GUESS_BIG_ENDIAN
-
-/* Set to 1 if the processor is little endian, otherwise set to 0.  */
-#undef	GUESS_LITTLE_ENDIAN
-
-/* Set to 1 to force the use of code for processors with broken floats */
-/* Otherwise set it to 0.  */
-#undef	FORCE_BROKEN_FLOAT
-
--- a/common/libsndfile/aclocal.m4
+++ /dev/null
@@ -1,540 +1,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4-p4
-
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-# Do all the work for Automake.  This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
-
-# serial 1
-
-dnl Usage:
-dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-
-AC_DEFUN(AM_INIT_AUTOMAKE,
-[AC_REQUIRE([AC_PROG_INSTALL])
-PACKAGE=[$1]
-AC_SUBST(PACKAGE)
-VERSION=[$2]
-AC_SUBST(VERSION)
-dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
-  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-ifelse([$3],,
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
-AC_REQUIRE([AM_SANITY_CHECK])
-AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-AC_DEFUN(AM_SANITY_CHECK,
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
-   if test "[$]*" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftestfile`
-   fi
-   if test "[$]*" != "X $srcdir/configure conftestfile" \
-      && test "[$]*" != "X conftestfile $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "[$]2" = conftestfile
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-rm -f conftest*
-AC_MSG_RESULT(yes)])
-
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf.  Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
-   $1=$2
-   AC_MSG_RESULT(found)
-else
-   $1="$3/missing $2"
-   AC_MSG_RESULT(missing)
-fi
-AC_SUBST($1)])
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file.
-
-AC_DEFUN(AM_CONFIG_HEADER,
-[AC_PREREQ([2.12])
-AC_CONFIG_HEADER([$1])
-dnl When config.status generates a header, we must update the stamp-h file.
-dnl This file resides in the same directory as the config header
-dnl that is generated.  We must strip everything past the first ":",
-dnl and everything past the last "/".
-AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
-ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
-<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
-<<am_indx=1
-for am_file in <<$1>>; do
-  case " <<$>>CONFIG_HEADERS " in
-  *" <<$>>am_file "*<<)>>
-    echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
-    ;;
-  esac
-  am_indx=`expr "<<$>>am_indx" + 1`
-done<<>>dnl>>)
-changequote([,]))])
-
-
-# serial 40 AC_PROG_LIBTOOL
-AC_DEFUN(AC_PROG_LIBTOOL,
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-
-# Save cache, so that ltconfig can load it
-AC_CACHE_SAVE
-
-# Actually configure libtool.  ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
-DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
-|| AC_MSG_ERROR([libtool configure failed])
-
-# Reload cache, that may have been modified by ltconfig
-AC_CACHE_LOAD
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-])
-
-AC_DEFUN(AC_LIBTOOL_SETUP,
-[AC_PREREQ(2.13)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_RANLIB])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-dnl
-
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
-[libtool_flags="$libtool_flags --enable-dlopen"])
-ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
-[libtool_flags="$libtool_flags --enable-win32-dll"])
-AC_ARG_ENABLE(libtool-lock,
-  [  --disable-libtool-lock  avoid locking (might break parallel builds)])
-test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
-test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$lt_target" in
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case "`/usr/bin/file conftest.o`" in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-
-ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-])
-esac
-])
-
-# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
-AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
-
-# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
-AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
-
-# AC_ENABLE_SHARED - implement the --enable-shared flag
-# Usage: AC_ENABLE_SHARED[(DEFAULT)]
-#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
-#   `yes'.
-AC_DEFUN(AC_ENABLE_SHARED, [dnl
-define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(shared,
-changequote(<<, >>)dnl
-<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
-  enable_shared=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_shared=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac],
-enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
-])
-
-# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
-AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)])
-
-# AC_ENABLE_STATIC - implement the --enable-static flag
-# Usage: AC_ENABLE_STATIC[(DEFAULT)]
-#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
-#   `yes'.
-AC_DEFUN(AC_ENABLE_STATIC, [dnl
-define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(static,
-changequote(<<, >>)dnl
-<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
-  enable_static=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_static=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac],
-enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
-])
-
-# AC_DISABLE_STATIC - set the default static flag to --disable-static
-AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)])
-
-
-# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
-# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
-#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
-#   `yes'.
-AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
-define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(fast-install,
-changequote(<<, >>)dnl
-<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
-  enable_fast_install=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_fast_install=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac],
-enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
-])
-
-# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
-AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)])
-
-# AC_PROG_LD - find the path to the GNU or non-GNU linker
-AC_DEFUN(AC_PROG_LD,
-[AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  ac_prog=`($CC -print-prog-name=ld) 2>&5`
-  case "$ac_prog" in
-    # Accept absolute paths.
-changequote(,)dnl
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-changequote([,])dnl
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(ac_cv_path_LD,
-[if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      ac_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-	test "$with_gnu_ld" != no && break
-      else
-	test "$with_gnu_ld" != yes && break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])
-
-AC_DEFUN(AC_PROG_LD_GNU,
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  ac_cv_prog_gnu_ld=yes
-else
-  ac_cv_prog_gnu_ld=no
-fi])
-])
-
-# AC_PROG_NM - find the path to a BSD-compatible name lister
-AC_DEFUN(AC_PROG_NM,
-[AC_MSG_CHECKING([for BSD-compatible nm])
-AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  ac_cv_path_NM="$NM"
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
-      # Check to see if the nm accepts a BSD-compat flag.
-      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-      #   nm: unknown option "B" ignored
-      if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	ac_cv_path_NM="$ac_dir/nm -B"
-	break
-      elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	ac_cv_path_NM="$ac_dir/nm -p"
-	break
-      else
-	ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
-	continue # so that we can try to find one that supports BSD flags
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
-NM="$ac_cv_path_NM"
-AC_MSG_RESULT([$NM])
-])
-
-# AC_CHECK_LIBM - check for math library
-AC_DEFUN(AC_CHECK_LIBM,
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case "$lt_target" in
-*-*-beos* | *-*-cygwin*)
-  # These system don't have libm
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, main, LIBM="-lm")
-  ;;
-esac
-])
-
-# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library and INCLTDL to the include flags for
-# the libltdl header and adds --enable-ltdl-convenience to the
-# configure arguments.  Note that LIBLTDL and INCLTDL are not
-# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
-# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
-# with '${top_builddir}/' and INCLTDL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
-AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case "$enable_ltdl_convenience" in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-])
-
-# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library and INCLTDL to the include flags for
-# the libltdl header and adds --enable-ltdl-install to the configure
-# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
-# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
-# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
-# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
-# with '${top_srcdir}/' (note the single quotes!).  If your package is
-# not flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, main,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    INCLTDL=
-  fi
-])
-
-dnl old names
-AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
-AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
-AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
-
-dnl This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])dnl
-
--- a/common/libsndfile/check_libsndfile.py
+++ /dev/null
@@ -1,67 +1,0 @@
-#!/usr/bin/env python 
-
-import commands, os, string, sys 
-
-# This program tests libsndfile against a user provided list of audio files. 
-# The list is provided as a text file. 
-# 
-
-_EXE_NAME = 'examples/sndfile_info'
-
-
-def dump_status_output_exit (status, output, msg = None): 
-	if msg: 
-		print msg 
-	print "Status :", status 
-	print output 
-	sys.exit (0) 
-
-def sfinfo_check_ok (filename): 
-	cmd = '%s %s' % (_EXE_NAME, filename) 
-	(status, output) = commands.getstatusoutput (cmd) 
-	if status: 
-		dump_status_output_exit (status, output, "Bad status. Dumping") 
-	if string.find (output, "should") > 0: 
-		dump_status_output_exit (status, output, "Found `should'. Dumping") 
-	if string.find (output, "*") > 0: 
-		dump_status_output_exit (status, output, "Found `*'. Dumping") 
-	return 
-
-def sfinfo_check_not_crash (filename): 
-	print filename 
-	 
-_USAGE = """ 
-This is the usage message. 
-
-""" 
-
-if len (sys.argv) != 2: 
-	print _USAGE 
-	sys.exit (0) 
-
-
-if not os.path.isfile (_EXE_NAME): 
-	print "Could not find required program :", _EXE_NAME 
-	sys.exit (0) 
-
-list_file = open (sys.argv [1]) 
-
-while 1: 
-	line = list_file.readline () 
-	if not line: 
-		break  
-	line = string.strip (line)
-	if len (line) < 1:
-		continue 
-	if line [0] == '#':
-		continue 
-	print line
-	if os.path.isfile (line): 
-		sfinfo_check_ok (line) 
-	else: 
-		print "Bad file name : ", line 
-		sys.exit (0) 
-
-list_file.close () 
-
-print "Finished. No errors found." 
--- a/common/libsndfile/config.guess
+++ /dev/null
@@ -1,1183 +1,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-#   Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
-  if test x"$HOST_CC" != x; then
-    CC_FOR_BUILD="$HOST_CC"
-  else
-    if test x"$CC" != x; then
-      CC_FOR_BUILD="$CC"
-    else
-      CC_FOR_BUILD=cc
-    fi
-  fi
-fi
-
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# Netbsd (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	# Determine the machine/vendor (is the vendor relevant).
-	case "${UNAME_MACHINE}" in
-	    amiga) machine=m68k-cbm ;;
-	    arm32) machine=arm-unknown ;;
-	    atari*) machine=m68k-atari ;;
-	    sun3*) machine=m68k-sun ;;
-	    mac68k) machine=m68k-apple ;;
-	    macppc) machine=powerpc-apple ;;
-	    hp3[0-9][05]) machine=m68k-hp ;;
-	    ibmrt|romp-ibm) machine=romp-ibm ;;
-	    *) machine=${UNAME_MACHINE}-unknown ;;
-	esac
-	# The Operating System including object format.
-	if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-		| grep __ELF__ >/dev/null
-	then
-	    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-	    # Return netbsd for either.  FIX?
-	    os=netbsd
-	else
-	    os=netbsdelf
-	fi
-	# The OS release
-	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit 0 ;;
-    alpha:OSF1:*:*)
-	if test $UNAME_RELEASE = "V4.0"; then
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-	fi
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	cat <<EOF >$dummy.s
-	.data
-\$Lformat:
-	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-	.text
-	.globl main
-	.align 4
-	.ent main
-main:
-	.frame \$30,16,\$26,0
-	ldgp \$29,0(\$27)
-	.prologue 1
-	.long 0x47e03d80 # implver \$0
-	lda \$2,-1
-	.long 0x47e20c21 # amask \$2,\$1
-	lda \$16,\$Lformat
-	mov \$0,\$17
-	not \$1,\$18
-	jsr \$26,printf
-	ldgp \$29,0(\$26)
-	mov 0,\$16
-	jsr \$26,exit
-	.end main
-EOF
-	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		case `./$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-		esac
-	fi
-	rm -f $dummy.s $dummy
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit 0 ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit 0 ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit 0 ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-cbm-sysv4
-	exit 0;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit 0 ;;
-    arc64:OpenBSD:*:*)
-	echo mips64el-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hkmips:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit 0 ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
-    SR2?01:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit 0;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit 0 ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit 0 ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit 0 ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
-    sun3*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit 0 ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit 0 ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy \
-	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit 0 ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit 0 ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit 0 ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
- 	exit 0 ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit 0 ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit 0 ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit 0 ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i?86:AIX:*:*)
-	echo i386-ibm-aix
-	exit 0 ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-		rm -f $dummy.c $dummy
-		echo rs6000-ibm-aix3.2.5
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit 0 ;;
-    *:AIX:*:4)
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=4.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit 0 ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit 0 ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit 0 ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit 0 ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit 0 ;;
-    9000/[34678]??:HP-UX:*:*)
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-              sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
-EOF
-	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-	rm -f $dummy.c $dummy
-	esac
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    3050*:HI-UX:*:*)
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit 0 ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit 0 ;;
-    *9??*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit 0 ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit 0 ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit 0 ;;
-    i?86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit 0 ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit 0 ;;
-    hppa*:OpenBSD:*:*)
-	echo hppa-unknown-openbsd
-	exit 0 ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit 0 ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit 0 ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit 0 ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit 0 ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*X-MP:*:*:*)
-	echo xmp-cray-unicos
-        exit 0 ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE}
-	exit 0 ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-	exit 0 ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*T3E:*:*:*)
-	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY-2:*:*:*)
-	echo cray2-cray-unicos
-        exit 0 ;;
-    F300:UNIX_System_V:*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    F301:UNIX_System_V:*:*)
-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
-       exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:FreeBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit 0 ;;
-    i*:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit 0 ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i386-pc-interix
-	exit 0 ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit 0 ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit 0 ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    *:GNU:*:*)
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
-    *:Linux:*:*)
-
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	ld_help_string=`cd /; ld --help 2>&1`
-	ld_supported_emulations=`echo $ld_help_string \
-			 | sed -ne '/supported emulations:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported emulations: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_emulations" in
-	  *ia64)
-		echo "${UNAME_MACHINE}-unknown-linux"
-		exit 0
-		;;
-	  i?86linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0
-		;;
-	  elf_i?86)
-		echo "${UNAME_MACHINE}-pc-linux"
-		exit 0
-		;;
-	  i?86coff)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0
-		;;
-	  sparclinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  armlinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  elf32arm*)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
-		exit 0
-		;;
-	  armelf_linux*)
-		echo "${UNAME_MACHINE}-unknown-linux-gnu"
-		exit 0
-		;;
-	  m68klinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  elf32ppc | elf32ppclinux)
-		# Determine Lib Version
-		cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
-     int argc;
-     char *argv[];
-{
-#if defined(__GLIBC__)
-  printf("%s %s\n", __libc_version, __libc_release);
-#else
-  printf("unkown\n");
-#endif
-  return 0;
-}
-EOF
-		LIBC=""
-		$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
-		if test "$?" = 0 ; then
-			./$dummy | grep 1\.99 > /dev/null
-			if test "$?" = 0 ; then
-				LIBC="libc1"
-			fi
-		fi
-		rm -f $dummy.c $dummy
-		echo powerpc-unknown-linux-gnu${LIBC}
-		exit 0
-		;;
-	esac
-
-	if test "${UNAME_MACHINE}" = "alpha" ; then
-		cat <<EOF >$dummy.s
-			.data
-		\$Lformat:
-			.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-			.text
-			.globl main
-			.align 4
-			.ent main
-		main:
-			.frame \$30,16,\$26,0
-			ldgp \$29,0(\$27)
-			.prologue 1
-			.long 0x47e03d80 # implver \$0
-			lda \$2,-1
-			.long 0x47e20c21 # amask \$2,\$1
-			lda \$16,\$Lformat
-			mov \$0,\$17
-			not \$1,\$18
-			jsr \$26,printf
-			ldgp \$29,0(\$26)
-			mov 0,\$16
-			jsr \$26,exit
-			.end main
-EOF
-		LIBC=""
-		$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-		if test "$?" = 0 ; then
-			case `./$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-			esac
-
-			objdump --private-headers $dummy | \
-			  grep ld.so.1 > /dev/null
-			if test "$?" = 0 ; then
-				LIBC="libc1"
-			fi
-		fi
-		rm -f $dummy.s $dummy
-		echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
-	elif test "${UNAME_MACHINE}" = "mips" ; then
-	  cat >$dummy.c <<EOF
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
-  printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
-  printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-	  rm -f $dummy.c $dummy
-	elif test "${UNAME_MACHINE}" = "s390"; then
-	  echo s390-ibm-linux && exit 0
-	else
-	  # Either a pre-BFD a.out linker (linux-gnuoldld)
-	  # or one that does not give us useful --help.
-	  # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
-	  # If ld does not provide *any* "supported emulations:"
-	  # that means it is gnuoldld.
-	  echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
-	  test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
-	  case "${UNAME_MACHINE}" in
-	  i?86)
-	    VENDOR=pc;
-	    ;;
-	  *)
-	    VENDOR=unknown;
-	    ;;
-	  esac
-	  # Determine whether the default compiler is a.out or elf
-	  cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-	  rm -f $dummy.c $dummy
-	fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
-# are messed up and put the nodename in both sysname and nodename.
-    i?86:DYNIX/ptx:4*:*)
-	echo i386-sequent-sysv4
-	exit 0 ;;
-    i?86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit 0 ;;
-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit 0 ;;
-    i?86:*:5:7*)
-        # Fixed at (any) Pentium or better
-        UNAME_MACHINE=i586
-        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
-	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
-	else
-	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-	fi
-	exit 0 ;;
-    i?86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit 0 ;;
-    i?86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit 0 ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
-        exit 0 ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit 0 ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit 0 ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit 0 ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit 0 ;;
-    M68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit 0 ;;
-    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit 0 ;;
-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                           # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit 0 ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes@openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
-    *:*:*:FTX*)
-	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit 0 ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
-    news*:NEWS-OS:*:6*)
-	echo mips-sony-newsos6
-	exit 0 ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit 0 ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit 0 ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit 0 ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit 0 ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Darwin:*:*)
-	echo `uname -p`-apple-darwin${UNAME_RELEASE}
-	exit 0 ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	if test "${UNAME_MACHINE}" = "x86pc"; then
-		UNAME_MACHINE=pc
-	fi
-	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
-	exit 0 ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit 0 ;;
-    NSR-W:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit 0 ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit 0 ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
-  printf ("vax-dec-bsd\n"); exit (0);
-#else
-  printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit 0 ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit 0 ;;
-    c34*)
-	echo c34-convex-bsd
-	exit 0 ;;
-    c38*)
-	echo c38-convex-bsd
-	exit 0 ;;
-    c4*)
-	echo c4-convex-bsd
-	exit 0 ;;
-    esac
-fi
-
-#echo '(Unable to guess system type)' 1>&2
-
-exit 1
--- a/common/libsndfile/config.sub
+++ /dev/null
@@ -1,1268 +1,0 @@
-#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-#   Free Software Foundation, Inc.
-#
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-if [ x$1 = x ]
-then
-	echo Configuration name missing. 1>&2
-	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-	echo "or     $0 ALIAS" 1>&2
-	echo where ALIAS is a recognized configuration type. 1>&2
-	exit 1
-fi
-
-# First pass through any local machine types.
-case $1 in
-	*local*)
-		echo $1
-		exit 0
-		;;
-	*)
-	;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple)
-		os=
-		basic_machine=$1
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
-		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
-		| 580 | i960 | h8300 \
-		| x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
-		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-		| hppa64 \
-		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
-		| alphaev6[78] \
-		| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
-		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
-		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
-		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-		| mips64vr5000 | miprs64vr5000el | mcore \
-		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
-		| thumb | d10v | fr30 | avr)
-		basic_machine=$basic_machine-unknown
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i[34567]86)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	# FIXME: clean up the formatting here.
-	vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
-	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
-	      | xmp-* | ymp-* \
-	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
-	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
-	      | hppa2.0n-* | hppa64-* \
-	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
-	      | alphaev6[78]-* \
-	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
-	      | clipper-* | orion-* \
-	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
-	      | mips64el-* | mips64orion-* | mips64orionel-* \
-	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
-	      | mipstx39-* | mipstx39el-* | mcore-* \
-	      | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
-	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
-	      | bs2000-*)
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-cbm
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-cbm
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-cbm
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	cray2)
-		basic_machine=cray2-cray
-		os=-unicos
-		;;
-	[ctj]90-cray)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i[34567]86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i[34567]86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i[34567]86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i[34567]86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	i386-go32 | go32)
-		basic_machine=i386-unknown
-		os=-go32
-		;;
-	i386-mingw32 | mingw32)
-		basic_machine=i386-unknown
-		os=-mingw32
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mipsel*-linux*)
-		basic_machine=mipsel-unknown
-		os=-linux-gnu
-		;;
-	mips*-linux*)
-		basic_machine=mips-unknown
-		os=-linux-gnu
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	msdos)
-		basic_machine=i386-unknown
-		os=-msdos
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-        pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pentium | p5 | k5 | k6 | nexen)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexen-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=rs6000-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-	        ;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-	        ;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sparclite-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=t3e-cray
-		os=-unicos
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xmp)
-		basic_machine=xmp-cray
-		os=-unicos
-		;;
-        xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	mips)
-		if [ x$os = x-linux-gnu ]; then
-			basic_machine=mips-unknown
-		else
-			basic_machine=mips-mips
-		fi
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sparc | sparcv9)
-		basic_machine=sparc-sun
-		;;
-        cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	c4x*)
-		basic_machine=c4x-none
-		os=-coff
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i[34567]86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto*)
-		os=-nto-qnx
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-ns2 )
-	        os=-nextstep2
-		;;
-	-nsk)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-        -*mint | -*MiNT)
-	        os=-mint
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-        pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-        *-gould)
-		os=-sysv
-		;;
-        *-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-        *-sgi)
-		os=-irix
-		;;
-        *-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f301-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-vxsim* | -vxworks*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -*MiNT)
-				vendor=atari
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
--- a/common/libsndfile/configure
+++ /dev/null
@@ -1,2735 +1,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
-  --enable-shared[=PKGS]  build shared libraries [default=yes]"
-ac_help="$ac_help
-  --enable-static[=PKGS]  build static libraries [default=yes]"
-ac_help="$ac_help
-  --enable-fast-install[=PKGS]  optimize for fast installation [default=yes]"
-ac_help="$ac_help
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]"
-ac_help="$ac_help
-  --disable-libtool-lock  avoid locking (might break parallel builds)"
-ac_help="$ac_help
-  --enable-justsrc             only compile library sources "
-ac_help="$ac_help
-  --disable-gcc-pipe           disable gcc -pipe option "
-ac_help="$ac_help
-  --disable-gcc-opt            disable gcc optimisations "
-ac_help="$ac_help
-  --enable-force-broken-float  force use of broken float code "
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
-    ac_prev=
-    continue
-  fi
-
-  case "$ac_option" in
-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) ac_optarg= ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case "$ac_option" in
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir="$ac_optarg" ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build="$ac_optarg" ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file="$ac_optarg" ;;
-
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
-    datadir="$ac_optarg" ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    eval "enable_${ac_feature}=no" ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_${ac_feature}='$ac_optarg'" ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix="$ac_optarg" ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he)
-    # Omit some internal or obsolete options to make the list less imposing.
-    # This message is too long to be a string in the A/UX 3.1 sh.
-    cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
-  --cache-file=FILE       cache test results in FILE
-  --help                  print this message
-  --no-create             do not create output files
-  --quiet, --silent       do not print \`checking...' messages
-  --version               print the version of autoconf that created configure
-Directory and file names:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-  --datadir=DIR           read-only architecture-independent data in DIR
-                          [PREFIX/share]
-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-                          [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-  --includedir=DIR        C header files in DIR [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-  --infodir=DIR           info documentation in DIR [PREFIX/info]
-  --mandir=DIR            man documentation in DIR [PREFIX/man]
-  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-  --program-prefix=PREFIX prepend PREFIX to installed program names
-  --program-suffix=SUFFIX append SUFFIX to installed program names
-  --program-transform-name=PROGRAM
-                          run sed PROGRAM on installed program names
-EOF
-    cat << EOF
-Host type:
-  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-  --host=HOST             configure for HOST [guessed]
-  --target=TARGET         configure for TARGET [TARGET=HOST]
-Features and packages:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --x-includes=DIR        X include files are in DIR
-  --x-libraries=DIR       X library files are in DIR
-EOF
-    if test -n "$ac_help"; then
-      echo "--enable and --with options recognized:$ac_help"
-    fi
-    exit 0 ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host="$ac_optarg" ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir="$ac_optarg" ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir="$ac_optarg" ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir="$ac_optarg" ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir="$ac_optarg" ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    localstatedir="$ac_optarg" ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir="$ac_optarg" ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir="$ac_optarg" ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix="$ac_optarg" ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix="$ac_optarg" ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix="$ac_optarg" ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name="$ac_optarg" ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir="$ac_optarg" ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir="$ac_optarg" ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site="$ac_optarg" ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir="$ac_optarg" ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir="$ac_optarg" ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target="$ac_optarg" ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13"
-    exit 0 ;;
-
-  -with-* | --with-*)
-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_${ac_package}='$ac_optarg'" ;;
-
-  -without-* | --without-*)
-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    eval "with_${ac_package}=no" ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes="$ac_optarg" ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries="$ac_optarg" ;;
-
-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-    ;;
-
-  *)
-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-      echo "configure: warning: $ac_option: invalid host type" 1>&2
-    fi
-    if test "x$nonopt" != xNONE; then
-      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-    fi
-    nonopt="$ac_option"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
-  case "$ac_arg" in
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c) ;;
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-  esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set.  These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=src/sndfile.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-  srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-  else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-  fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
-fi
-for ac_site_file in $CONFIG_SITE; do
-  if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
-else
-  echo "creating cache $cache_file"
-  > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-#    same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-#    as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:590: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
-  case $nonopt in
-  NONE)
-    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
-    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-    fi ;;
-  *) host_alias=$nonopt ;;
-  esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:611: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
-  case $nonopt in
-  NONE) target_alias=$host_alias ;;
-  *) target_alias=$nonopt ;;
-  esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:629: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
-  case $nonopt in
-  NONE) build_alias=$host_alias ;;
-  *) build_alias=$nonopt ;;
-  esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:664: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
-  for ac_dir in $PATH; do
-    # Account for people who put trailing slashes in PATH elements.
-    case "$ac_dir/" in
-    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-    *)
-      # OSF1 and SCO ODT 3.0 have their own names for install.
-      # Don't use installbsd from OSF since it installs stuff as root
-      # by default.
-      for ac_prog in ginstall scoinst install; do
-        if test -f $ac_dir/$ac_prog; then
-	  if test $ac_prog = install &&
-            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  else
-	    ac_cv_path_install="$ac_dir/$ac_prog -c"
-	    break 2
-	  fi
-	fi
-      done
-      ;;
-    esac
-  done
-  IFS="$ac_save_IFS"
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL="$ac_cv_path_install"
-  else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
-    INSTALL="$ac_install_sh"
-  fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:717: checking whether build environment is sane" >&5
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftestfile`
-   fi
-   if test "$*" != "X $srcdir/configure conftestfile" \
-      && test "$*" != "X conftestfile $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      { echo "configure: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" 1>&2; exit 1; }
-   fi
-
-   test "$2" = conftestfile
-   )
-then
-   # Ok.
-   :
-else
-   { echo "configure: error: newly created file is older than distributed files!
-Check your system clock" 1>&2; exit 1; }
-fi
-rm -f conftest*
-echo "$ac_t""yes" 1>&6
-if test "$program_transform_name" = s,x,x,; then
-  program_transform_name=
-else
-  # Double any \ or $.  echo might interpret backslashes.
-  cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
-  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
-  rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
-  program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:774: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftestmake <<\EOF
-all:
-	@echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  SET_MAKE=
-else
-  echo "$ac_t""no" 1>&6
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-PACKAGE=libsndfile
-
-VERSION=0.0.27
-
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
-  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
-fi
-cat >> confdefs.h <<EOF
-#define PACKAGE "$PACKAGE"
-EOF
-
-cat >> confdefs.h <<EOF
-#define VERSION "$VERSION"
-EOF
-
-
-
-missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:820: checking for working aclocal" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf.  Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
-   ACLOCAL=aclocal
-   echo "$ac_t""found" 1>&6
-else
-   ACLOCAL="$missing_dir/missing aclocal"
-   echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:833: checking for working autoconf" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf.  Sigh.
-if (autoconf --version) < /dev/null > /dev/null 2>&1; then
-   AUTOCONF=autoconf
-   echo "$ac_t""found" 1>&6
-else
-   AUTOCONF="$missing_dir/missing autoconf"
-   echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:846: checking for working automake" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf.  Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
-   AUTOMAKE=automake
-   echo "$ac_t""found" 1>&6
-else
-   AUTOMAKE="$missing_dir/missing automake"
-   echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:859: checking for working autoheader" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf.  Sigh.
-if (autoheader --version) < /dev/null > /dev/null 2>&1; then
-   AUTOHEADER=autoheader
-   echo "$ac_t""found" 1>&6
-else
-   AUTOHEADER="$missing_dir/missing autoheader"
-   echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:872: checking for working makeinfo" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf.  Sigh.
-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
-   MAKEINFO=makeinfo
-   echo "$ac_t""found" 1>&6
-else
-   MAKEINFO="$missing_dir/missing makeinfo"
-   echo "$ac_t""missing" 1>&6
-fi
-
-
-
-
-SHARED_VERSION_INFO="0:27:0"
-
-
-
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:897: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="gcc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:927: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_prog_rejected=no
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-        ac_prog_rejected=yes
-	continue
-      fi
-      ac_cv_prog_CC="cc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# -gt 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    set dummy "$ac_dir/$ac_word" "$@"
-    shift
-    ac_cv_prog_CC="$@"
-  fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-  if test -z "$CC"; then
-    case "`uname -s`" in
-    *win32* | *WIN32*)
-      # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:978: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="cl"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
- ;;
-    esac
-  fi
-  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1010: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 1021 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:1026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  ac_cv_prog_cc_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cc_cross=no
-  else
-    ac_cv_prog_cc_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
-  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1052: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1057: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gcc=yes
-else
-  ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1085: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-  ac_cv_prog_cc_g=yes
-else
-  ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1128: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
-  for ac_dir in $PATH; do
-    # Account for people who put trailing slashes in PATH elements.
-    case "$ac_dir/" in
-    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-    *)
-      # OSF1 and SCO ODT 3.0 have their own names for install.
-      # Don't use installbsd from OSF since it installs stuff as root
-      # by default.
-      for ac_prog in ginstall scoinst install; do
-        if test -f $ac_dir/$ac_prog; then
-	  if test $ac_prog = install &&
-            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  else
-	    ac_cv_path_install="$ac_dir/$ac_prog -c"
-	    break 2
-	  fi
-	fi
-      done
-      ;;
-    esac
-  done
-  IFS="$ac_save_IFS"
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL="$ac_cv_path_install"
-  else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
-    INSTALL="$ac_install_sh"
-  fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1182: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftestmake <<\EOF
-all:
-	@echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  SET_MAKE=
-else
-  echo "$ac_t""no" 1>&6
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1209: checking whether ln -s works" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
-  rm -f conftestdata
-  ac_cv_prog_LN_S="ln -s"
-else
-  ac_cv_prog_LN_S=ln
-fi
-fi
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
-  echo "$ac_t""yes" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
-  enable_shared=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_shared=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac
-else
-  enable_shared=yes
-fi
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
-  enable_static=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_static=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac
-else
-  enable_static=yes
-fi
-
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
-  enableval="$enable_fast_install"
-  p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
-  enable_fast_install=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_fast_install=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac
-else
-  enable_fast_install=yes
-fi
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1301: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_RANLIB="ranlib"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
-  echo "$ac_t""$RANLIB" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1340: checking for ld used by GCC" >&5
-  ac_prog=`($CC -print-prog-name=ld) 2>&5`
-  case "$ac_prog" in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1364: checking for GNU ld" >&5
-else
-  echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1367: checking for non-GNU ld" >&5
-fi
-if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      ac_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-	test "$with_gnu_ld" != no && break
-      else
-	test "$with_gnu_ld" != yes && break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
-  echo "$ac_t""$LD" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1402: checking if the linker ($LD) is GNU ld" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  ac_cv_prog_gnu_ld=yes
-else
-  ac_cv_prog_gnu_ld=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
-
-
-echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1418: checking for BSD-compatible nm" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  ac_cv_path_NM="$NM"
-else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
-      # Check to see if the nm accepts a BSD-compat flag.
-      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-      #   nm: unknown option "B" ignored
-      if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	ac_cv_path_NM="$ac_dir/nm -B"
-	break
-      elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	ac_cv_path_NM="$ac_dir/nm -p"
-	break
-      else
-	ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
-	continue # so that we can try to find one that supports BSD flags
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi
-fi
-
-NM="$ac_cv_path_NM"
-echo "$ac_t""$NM" 1>&6
-
-
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
-  :
-fi
-
-test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
-test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$lt_target" in
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line 1482 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:1483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-    case "`/usr/bin/file conftest.o`" in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:1504: checking whether the C compiler needs -belf" >&5
-if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1509 "configure"
-#include "confdefs.h"
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:1516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  lt_cv_cc_needs_belf=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  lt_cv_cc_needs_belf=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-
-
-esac
-
-
-# Save cache, so that ltconfig can load it
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-
-# Actually configure libtool.  ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
-DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
-|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
-
-# Reload cache, that may have been modified by ltconfig
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
-else
-  echo "creating cache $cache_file"
-  > $cache_file
-fi
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1619: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    # This must be in double quotes, not single quotes, because CPP may get
-  # substituted into the Makefile and "${CC-cc}" will confuse make.
-  CPP="${CC-cc} -E"
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp.
-  cat > conftest.$ac_ext <<EOF
-#line 1634 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1640: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -E -traditional-cpp"
-  cat > conftest.$ac_ext <<EOF
-#line 1651 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1657: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -nologo -E"
-  cat > conftest.$ac_ext <<EOF
-#line 1668 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-  ac_cv_prog_CPP="$CPP"
-fi
-  CPP="$ac_cv_prog_CPP"
-else
-  ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1699: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1704 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1712: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  ac_cv_header_stdc=yes
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 1729 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "memchr" >/dev/null 2>&1; then
-  :
-else
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 1747 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "free" >/dev/null 2>&1; then
-  :
-else
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
-  :
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1768 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:1779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  :
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
-  cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-
-for ac_hdr in endian.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1807: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1812 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-
-for ac_func in fopen fread fwrite fclose fseek ftell malloc free snprintf vsnprintf
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1847: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1852 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-
-echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1901: checking for size_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1906 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_type_size_t=yes
-else
-  rm -rf conftest*
-  ac_cv_type_size_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_size_t" 1>&6
-if test $ac_cv_type_size_t = no; then
-  cat >> confdefs.h <<\EOF
-#define size_t unsigned
-EOF
-
-fi
-
-echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1934: checking for off_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1939 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_type_off_t=yes
-else
-  rm -rf conftest*
-  ac_cv_type_off_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_off_t" 1>&6
-if test $ac_cv_type_off_t = no; then
-  cat >> confdefs.h <<\EOF
-#define off_t long
-EOF
-
-fi
-
-
-echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:1968: checking size of short" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_sizeof_short=2
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1976 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <sys/types.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(short));
-  exit(0);
-}
-EOF
-if { (eval echo configure:1988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_sizeof_short=`cat conftestval`
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_sizeof_short=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_short" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-EOF
-
-
-echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:2008: checking size of int" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_sizeof_int=4
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2016 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <sys/types.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(int));
-  exit(0);
-}
-EOF
-if { (eval echo configure:2028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_sizeof_int=`cat conftestval`
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_sizeof_int=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_int" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-EOF
-
-
-echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:2048: checking size of long" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_sizeof_long=8
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2056 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <sys/types.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(long));
-  exit(0);
-}
-EOF
-if { (eval echo configure:2068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_sizeof_long=`cat conftestval`
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_sizeof_long=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_long" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-EOF
-
-
-echo $ac_n "checking size of float""... $ac_c" 1>&6
-echo "configure:2088: checking size of float" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_sizeof_float=4
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2096 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <sys/types.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(float));
-  exit(0);
-}
-EOF
-if { (eval echo configure:2108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_sizeof_float=`cat conftestval`
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_sizeof_float=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_float" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_FLOAT $ac_cv_sizeof_float
-EOF
-
-
-echo $ac_n "checking size of double""... $ac_c" 1>&6
-echo "configure:2128: checking size of double" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_sizeof_double=4
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2136 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <sys/types.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(double));
-  exit(0);
-}
-EOF
-if { (eval echo configure:2148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_sizeof_double=`cat conftestval`
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_sizeof_double=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_double" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-EOF
-
-
-echo $ac_n "checking size of void*""... $ac_c" 1>&6
-echo "configure:2168: checking size of void*" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_voidp'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_sizeof_voidp=8
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2176 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <sys/types.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(void*));
-  exit(0);
-}
-EOF
-if { (eval echo configure:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_sizeof_voidp=`cat conftestval`
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_sizeof_voidp=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_voidp" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_VOIDP $ac_cv_sizeof_voidp
-EOF
-
-
-
-# Check whether --enable-justsrc or --disable-justsrc was given.
-if test "${enable_justsrc+set}" = set; then
-  enableval="$enable_justsrc"
-  ac_arg_justsrc="Y"
-else
-  ac_arg_justsrc="N"
-fi
-
-
-# Check whether --enable-gcc-pipe or --disable-gcc-pipe was given.
-if test "${enable_gcc_pipe+set}" = set; then
-  enableval="$enable_gcc_pipe"
-  ac_arg_gcc_pipe="N"
-else
-  ac_arg_gcc_pipe="Y"
-fi
-
-
-# Check whether --enable-gcc-opt or --disable-gcc-opt was given.
-if test "${enable_gcc_opt+set}" = set; then
-  enableval="$enable_gcc_opt"
-  ac_arg_gcc_opt="N"
-else
-  ac_arg_gcc_opt="Y"
-fi
-
-
-# Check whether --enable-force-broken-float or --disable-force-broken-float was given.
-if test "${enable_force_broken_float+set}" = set; then
-  enableval="$enable_force_broken_float"
-  ac_arg_broken_float="Y"
-else
-  ac_arg_broken_float="N"
-fi
-
-
-if test $ac_cv_prog_gcc = yes ; then
-	CFLAGS="$CFLAGS -g -O2 -Wstrict-prototypes"
-	if test "$ac_arg_gcc_opt" = "N" ; then
-		CFLAGS="$CFLAGS -g -O0 -Wstrict-prototypes"
-		echo "configure: warning: *** Compiler optimisations switched off. ***" 1>&2
-		fi
-			case "$target_os" in 
-		darwin* | rhapsody*)
-			;;
-		*)
-			CFLAGS="$CFLAGS -Wall -pedantic"
-			;;
-		esac
-	if test $ac_arg_gcc_pipe != "N" ; then
-	 	CFLAGS="$CFLAGS -pipe"
-	 	fi
-	fi
-	
-if test $cross_compiling = yes ; then
-	echo "configure: warning: ******************************************************************" 1>&2
-	echo "configure: warning: *** We are cross-compiling, so have to assume sizeof (short) == 2 " 1>&2
-	echo "configure: warning: *** and sizeof (int) == 4. If this is not the case there is no    " 1>&2
-	echo "configure: warning: *** chance of this working. Please contact the mantainer.         " 1>&2
-	echo "configure: warning: ******************************************************************" 1>&2
-	fi
-	
-if test $ac_cv_sizeof_int != 4 ; then
-	echo "configure: warning: ******************************************************************" 1>&2
-	echo "configure: warning: *** sizeof (int) != 4                                             " 1>&2
-	echo "configure: warning: ******************************************************************" 1>&2
-	fi
-
-if test $ac_cv_sizeof_short != 2 ; then
-	echo "configure: warning: ******************************************************************" 1>&2
-	echo "configure: warning: *** sizeof (short) != 2.                                          " 1>&2
-	echo "configure: warning: ******************************************************************" 1>&2
-	fi
-	
-if test $ac_cv_sizeof_float != 4 ; then
-	echo "configure: warning: ******************************************************************" 1>&2
-	echo "configure: warning: *** sizeof (float) != 4.                                          " 1>&2
-	echo "configure: warning: ******************************************************************" 1>&2
-	fi
-	
-if test $ac_cv_sizeof_double != 8 ; then
-	echo "configure: warning: ******************************************************************" 1>&2
-	echo "configure: warning: *** sizeof (double) != 8.                                         " 1>&2
-	echo "configure: warning: ******************************************************************" 1>&2
-	fi
-
-case "$target_cpu" in
-	alpha* | i?86 )
-		cat >> confdefs.h <<\EOF
-#define GUESS_LITTLE_ENDIAN 1
-EOF
-
-		cat >> confdefs.h <<\EOF
-#define GUESS_BIG_ENDIAN 0
-EOF
-
-		;;
-		
-	hppa* | m68* | mips* | powerpc* | hppa* | sparc*)
-		cat >> confdefs.h <<\EOF
-#define GUESS_LITTLE_ENDIAN 0
-EOF
-
-		cat >> confdefs.h <<\EOF
-#define GUESS_BIG_ENDIAN 1
-EOF
-
-		;;
-
-	*)
-		echo "configure: warning: *****************************************************************" 1>&2
-		echo "configure: warning: *** Not able to determine endian-ness of processor.              " 1>&2
-		echo "configure: warning: *** You will need to edit src/config.h before compiling.         " 1>&2
-		echo "configure: warning: *****************************************************************" 1>&2
-		;;
-esac
-
-subdirs="src/GSM610 src/G72x src"
-if test $ac_arg_justsrc = "N" ; then
-	subdirs="$subdirs examples doc tests"
-	fi
-
-if test $ac_arg_broken_float = "Y" ; then
-	cat >> confdefs.h <<\EOF
-#define FORCE_BROKEN_FLOAT 1
-EOF
-
-	echo "configure: warning: *** Testing code for processors that can't read/write IEEE floats." 1>&2
-else
-	cat >> confdefs.h <<\EOF
-#define FORCE_BROKEN_FLOAT 0
-EOF
-
-	fi
- 
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
-  case "\$ac_option" in
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.13"
-    exit 0 ;;
-  -help | --help | --hel | --he | --h)
-    echo "\$ac_cs_usage"; exit 0 ;;
-  *) echo "\$ac_cs_usage"; exit 1 ;;
-  esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile src/Makefile src/GSM610/Makefile src/G72x/Makefile \
-			examples/Makefile tests/Makefile doc/Makefile Win32/Makefile \
-			MacOS/Makefile libsndfile.spec src/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PACKAGE@%$PACKAGE%g
-s%@VERSION@%$VERSION%g
-s%@ACLOCAL@%$ACLOCAL%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@AUTOMAKE@%$AUTOMAKE%g
-s%@AUTOHEADER@%$AUTOHEADER%g
-s%@MAKEINFO@%$MAKEINFO%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@CC@%$CC%g
-s%@LN_S@%$LN_S%g
-s%@RANLIB@%$RANLIB%g
-s%@LIBTOOL@%$LIBTOOL%g
-s%@CPP@%$CPP%g
-s%@subdirs@%$subdirs%g
-s%@SHARED_VERSION_INFO@%$SHARED_VERSION_INFO%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
-  if test $ac_beg -gt 1; then
-    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-  else
-    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-  fi
-  if test ! -s conftest.s$ac_file; then
-    ac_more_lines=false
-    rm -f conftest.s$ac_file
-  else
-    if test -z "$ac_sed_cmds"; then
-      ac_sed_cmds="sed -f conftest.s$ac_file"
-    else
-      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-    fi
-    ac_file=`expr $ac_file + 1`
-    ac_beg=$ac_end
-    ac_end=`expr $ac_end + $ac_max_sed_cmds`
-  fi
-done
-if test -z "$ac_sed_cmds"; then
-  ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile src/Makefile src/GSM610/Makefile src/G72x/Makefile \
-			examples/Makefile tests/Makefile doc/Makefile Win32/Makefile \
-			MacOS/Makefile libsndfile.spec"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-    # The file is in a subdirectory.
-    test ! -d "$ac_dir" && mkdir "$ac_dir"
-    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-    # A "../" for each directory in $ac_dir_suffix.
-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-  else
-    ac_dir_suffix= ac_dots=
-  fi
-
-  case "$ac_given_srcdir" in
-  .)  srcdir=.
-      if test -z "$ac_dots"; then top_srcdir=.
-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-  *) # Relative path.
-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-    top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  case "$ac_given_INSTALL" in
-  [/$]*) INSTALL="$ac_given_INSTALL" ;;
-  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-  esac
-
-  echo creating "$ac_file"
-  rm -f "$ac_file"
-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-  case "$ac_file" in
-  *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
-  *) ac_comsub= ;;
-  esac
-
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
-ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
-ac_uB='\([ 	]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
-  CONFIG_HEADERS="src/config.h"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  echo creating $ac_file
-
-  rm -f conftest.frag conftest.in conftest.out
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h.  And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
-  ac_lines=`grep -c . conftest.vals`
-  # grep -c gives empty output for an empty file on some AIX systems.
-  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
-  # Write a limited-size here document to conftest.frag.
-  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
-  echo 'CEOF
-  sed -f conftest.frag conftest.in > conftest.out
-  rm -f conftest.in
-  mv conftest.out conftest.in
-' >> $CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
-  rm -f conftest.vals
-  mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
-  rm -f conftest.frag conftest.h
-  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
-  cat conftest.in >> conftest.h
-  rm -f conftest.in
-  if cmp -s $ac_file conftest.h 2>/dev/null; then
-    echo "$ac_file is unchanged"
-    rm -f conftest.h
-  else
-    # Remove last slash and all that follows it.  Not all systems have dirname.
-      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-      # The file is in a subdirectory.
-      test ! -d "$ac_dir" && mkdir "$ac_dir"
-    fi
-    rm -f $ac_file
-    mv conftest.h $ac_file
-  fi
-fi; done
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-test -z "$CONFIG_HEADERS" || echo timestamp > src/stamp-h
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
--- a/common/libsndfile/configure.in
+++ /dev/null
@@ -1,145 +1,0 @@
-# Configure `libsndfile'.
-# Copyright (C) 1999-2001 Erik de Castro Lopo (erikd@zip.com.au).
-
-dnl Require autoconf version >= 2.12
-
-AC_PREREQ(2.12)			
-AC_INIT(src/sndfile.c)
-AC_CANONICAL_SYSTEM
-
-AM_INIT_AUTOMAKE(libsndfile,0.0.27)
-
-dnl This is the version info according to the libtool versioning system.
-dnl It does *not* correspond to the release number.
-
-SHARED_VERSION_INFO="0:27:0"
-
-dnl Process this file with autoconf to produce a configure script.
-
-AM_CONFIG_HEADER(src/config.h)
-
-AC_PROG_CC
-AC_PROG_INSTALL
-
-AC_PROG_MAKE_SET
-AC_PROG_LN_S
-AM_PROG_LIBTOOL
-
-AC_HEADER_STDC
-
-AC_CHECK_HEADERS(endian.h)
-
-AC_CHECK_FUNCS(fopen fread fwrite fclose fseek ftell malloc free snprintf vsnprintf)
-
-AC_TYPE_SIZE_T
-AC_TYPE_OFF_T
-
-AC_CHECK_SIZEOF(short,2)
-AC_CHECK_SIZEOF(int,4)
-AC_CHECK_SIZEOF(long,8)
-AC_CHECK_SIZEOF(float,4)
-AC_CHECK_SIZEOF(double,4)
-AC_CHECK_SIZEOF(void*,8)
-
-AC_ARG_ENABLE(justsrc,  [  --enable-justsrc             only compile library sources ],
-	ac_arg_justsrc="Y", ac_arg_justsrc="N")
-
-AC_ARG_ENABLE(gcc-pipe, [  --disable-gcc-pipe           disable gcc -pipe option ],
-	ac_arg_gcc_pipe="N", ac_arg_gcc_pipe="Y")
-
-AC_ARG_ENABLE(gcc-opt,  [  --disable-gcc-opt            disable gcc optimisations ],
-	ac_arg_gcc_opt="N", ac_arg_gcc_opt="Y")
-
-AC_ARG_ENABLE(force-broken-float,  
-						[  --enable-force-broken-float  force use of broken float code ],
-	ac_arg_broken_float="Y", ac_arg_broken_float="N")
-
-if test $ac_cv_prog_gcc = yes ; then
-	CFLAGS="$CFLAGS -g -O2 -Wstrict-prototypes"
-	if test "$ac_arg_gcc_opt" = "N" ; then
-		CFLAGS="$CFLAGS -g -O0 -Wstrict-prototypes"
-		AC_MSG_WARN([[*** Compiler optimisations switched off. ***]])
-		fi
-	dnl Disable -Wall and -pedantic for Apple Darwin/Rhapsody.
-	dnl System headers on these systems are broken.
-	case "$target_os" in 
-		darwin* | rhapsody*)
-			;;
-		*)
-			CFLAGS="$CFLAGS -Wall -pedantic"
-			;;
-		esac
-	if test $ac_arg_gcc_pipe != "N" ; then
-	 	CFLAGS="$CFLAGS -pipe"
-	 	fi
-	fi
-	
-if test $cross_compiling = yes ; then
-	AC_MSG_WARN([[******************************************************************]])
-	AC_MSG_WARN([[*** We are cross-compiling, so have to assume sizeof (short) == 2 ]])
-	AC_MSG_WARN([[*** and sizeof (int) == 4. If this is not the case there is no    ]])
-	AC_MSG_WARN([[*** chance of this working. Please contact the mantainer.         ]])
-	AC_MSG_WARN([[******************************************************************]])
-	fi
-	
-if test $ac_cv_sizeof_int != 4 ; then
-	AC_MSG_WARN([[******************************************************************]])
-	AC_MSG_WARN([[*** sizeof (int) != 4                                             ]])
-	AC_MSG_WARN([[******************************************************************]])
-	fi
-
-if test $ac_cv_sizeof_short != 2 ; then
-	AC_MSG_WARN([[******************************************************************]])
-	AC_MSG_WARN([[*** sizeof (short) != 2.                                          ]])
-	AC_MSG_WARN([[******************************************************************]])
-	fi
-	
-if test $ac_cv_sizeof_float != 4 ; then
-	AC_MSG_WARN([[******************************************************************]])
-	AC_MSG_WARN([[*** sizeof (float) != 4.                                          ]])
-	AC_MSG_WARN([[******************************************************************]])
-	fi
-	
-if test $ac_cv_sizeof_double != 8 ; then
-	AC_MSG_WARN([[******************************************************************]])
-	AC_MSG_WARN([[*** sizeof (double) != 8.                                         ]])
-	AC_MSG_WARN([[******************************************************************]])
-	fi
-
-case "$target_cpu" in
-	alpha* | i?86 )
-		AC_DEFINE(GUESS_LITTLE_ENDIAN,1)
-		AC_DEFINE(GUESS_BIG_ENDIAN,0)
-		;;
-		
-	hppa* | m68* | mips* | powerpc* | hppa* | sparc*)
-		AC_DEFINE(GUESS_LITTLE_ENDIAN,0)
-		AC_DEFINE(GUESS_BIG_ENDIAN,1)
-		;;
-
-	*)
-		AC_MSG_WARN([[*****************************************************************]])
-		AC_MSG_WARN([[*** Not able to determine endian-ness of processor.              ]])
-		AC_MSG_WARN([[*** You will need to edit src/config.h before compiling.         ]])
-		AC_MSG_WARN([[*****************************************************************]])
-		;;
-esac
-
-subdirs="src/GSM610 src/G72x src"
-if test $ac_arg_justsrc = "N" ; then
-	subdirs="$subdirs examples doc tests"
-	fi
-
-if test $ac_arg_broken_float = "Y" ; then
-	AC_DEFINE(FORCE_BROKEN_FLOAT,1)
-	AC_MSG_WARN([[*** Testing code for processors that can't read/write IEEE floats.]])
-else
-	AC_DEFINE(FORCE_BROKEN_FLOAT,0)
-	fi
- 
-AC_SUBST(subdirs)
-AC_SUBST(SHARED_VERSION_INFO)
-
-AC_OUTPUT(Makefile src/Makefile src/GSM610/Makefile src/G72x/Makefile \
-			examples/Makefile tests/Makefile doc/Makefile Win32/Makefile \
-			MacOS/Makefile libsndfile.spec)
--- a/common/libsndfile/install-sh
+++ /dev/null
@@ -1,119 +1,0 @@
-#!/bin/sh
-
-#
-# install - install a program, script, or datafile
-# This comes from X11R5; it is not part of GNU.
-#
-# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-
-instcmd="$mvprog"
-chmodcmd=""
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-lib=""
-dst=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd="$cpprog"
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd="$stripprog"
-	    shift
-	    continue;;
-
-	*)  if [ x"$lib" = x ]
-	    then
-		lib=$1
-	    else
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$lib" = x ]
-then
-	echo "install:  no input file specified"
-	exit 1
-fi
-
-if [ x"$dst" = x ]
-then
-	echo "install:  no destination specified"
-	exit 1
-fi
-
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-if [ -d $dst ]
-then
-	dst="$dst"/`basename $lib`
-fi
-
-# Make a temp file name in the proper directory.
-
-dstdir=`dirname $dst`
-dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-$doit $instcmd $lib $dsttmp
-
-# and set any options; do chmod last to preserve setuid bits
-
-if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
-if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
-if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
-if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
-
-# Now rename the file to the real destination.
-
-$doit $rmcmd $dst
-$doit $mvcmd $dsttmp $dst
-
-
-exit 0
--- a/common/libsndfile/libsndfile.spec
+++ /dev/null
@@ -1,60 +1,0 @@
-
-%define name    libsndfile
-%define version 0.0.27
-%define release 1
-%define prefix  /usr
-
-Summary: A library to handle various audio file formats.
-Name: %{name}
-Version: %{version}
-Release: %{release}
-Prefix: %{prefix}
-Copyright: LGPL
-Group: Libraries/Sound
-Source: http://www.zip.com.au/~erikd/libsndfile/libsndfile-%{version}.tar.gz
-URL: http://www.zip.com.au/~erikd/libsndfile/
-BuildRoot: /var/tmp/%{name}-%{version}
-
-%description
-libsndfile is a C library for reading and writing sound files such as
-AIFF, AU and WAV files through one standard interface. It can currently
-read/write 8, 16, 24 and 32-bit PCM files as well as 32-bit floating
-point WAV files and a number of compressed formats.
-
-%package devel
-Summary: Libraries, includes, etc to develop libsndfile applications
-Group: Libraries
-
-%description devel
-Libraries, include files, etc you can use to develop libsndfile applications.
-
-%prep
-%setup
-
-%build
-./configure --prefix=%{prefix}
-make
-
-%install
-if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
-mkdir -p $RPM_BUILD_ROOT
-make prefix=$RPM_BUILD_ROOT%{prefix} install
-
-%clean
-if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
-
-%files
-%defattr(-,root,root)
-%doc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO doc
-%prefix/lib/libsndfile.so.*
-
-%files devel
-%defattr(-,root,root)
-%{prefix}/lib/libsndfile.a
-%{prefix}/lib/libsndfile.la
-%{prefix}/lib/libsndfile.so
-%{prefix}/include/sndfile.h
-
-%changelog
-* Thu Jul 6 2000 Josh Green <jgreen@users.sourceforge.net>
-- Created libsndfile.spec.in
--- a/common/libsndfile/libsndfile.spec.in
+++ /dev/null
@@ -1,60 +1,0 @@
-
-%define name    @PACKAGE@
-%define version @VERSION@
-%define release 1
-%define prefix  /usr
-
-Summary: A library to handle various audio file formats.
-Name: %{name}
-Version: %{version}
-Release: %{release}
-Prefix: %{prefix}
-Copyright: LGPL
-Group: Libraries/Sound
-Source: http://www.zip.com.au/~erikd/libsndfile/libsndfile-%{version}.tar.gz
-URL: http://www.zip.com.au/~erikd/libsndfile/
-BuildRoot: /var/tmp/%{name}-%{version}
-
-%description
-libsndfile is a C library for reading and writing sound files such as
-AIFF, AU and WAV files through one standard interface. It can currently
-read/write 8, 16, 24 and 32-bit PCM files as well as 32-bit floating
-point WAV files and a number of compressed formats.
-
-%package devel
-Summary: Libraries, includes, etc to develop libsndfile applications
-Group: Libraries
-
-%description devel
-Libraries, include files, etc you can use to develop libsndfile applications.
-
-%prep
-%setup
-
-%build
-./configure --prefix=%{prefix}
-make
-
-%install
-if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
-mkdir -p $RPM_BUILD_ROOT
-make prefix=$RPM_BUILD_ROOT%{prefix} install
-
-%clean
-if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
-
-%files
-%defattr(-,root,root)
-%doc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO doc
-%prefix/lib/libsndfile.so.*
-
-%files devel
-%defattr(-,root,root)
-%{prefix}/lib/libsndfile.a
-%{prefix}/lib/libsndfile.la
-%{prefix}/lib/libsndfile.so
-%{prefix}/include/sndfile.h
-
-%changelog
-* Thu Jul 6 2000 Josh Green <jgreen@users.sourceforge.net>
-- Created libsndfile.spec.in
--- a/common/libsndfile/ltconfig
+++ /dev/null
@@ -1,3114 +1,0 @@
-#! /bin/sh
-
-# ltconfig - Create a system-specific libtool.
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A lot of this script is taken from autoconf-2.10.
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-echo=echo
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# Find the correct PATH separator.  Usually this is `:', but
-# DJGPP uses `;' like DOS.
-if test "X${PATH_SEPARATOR+set}" != Xset; then
-  UNAME=${UNAME-`uname 2>/dev/null`}
-  case X$UNAME in
-    *-DOS) PATH_SEPARATOR=';' ;;
-    *)     PATH_SEPARATOR=':' ;;
-  esac
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-if test "X${echo_test_string+set}" != Xset; then
-  # find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
-   test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH /usr/ucb; do
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running ltconfig again with it.
-      ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
-    else
-      # Try using printf.
-      echo='printf "%s\n"'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-	   test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-	   test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "$0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# The name of this program.
-progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
-
-# Constants:
-PROGRAM=ltconfig
-PACKAGE=libtool
-VERSION=1.3.5
-TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-rm="rm -f"
-
-help="Try \`$progname --help' for more information."
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-enable_shared=yes
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-enable_static=yes
-enable_fast_install=yes
-enable_dlopen=unknown
-enable_win32_dll=no
-ltmain=
-silent=
-srcdir=
-ac_config_guess=
-ac_config_sub=
-host=
-nonopt=
-ofile="$default_ofile"
-verify_host=yes
-with_gcc=no
-with_gnu_ld=no
-need_locks=yes
-ac_ext=c
-objext=o
-libext=a
-exeext=
-cache_file=
-
-old_AR="$AR"
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-old_CPPFLAGS="$CPPFLAGS"
-old_LDFLAGS="$LDFLAGS"
-old_LD="$LD"
-old_LN_S="$LN_S"
-old_LIBS="$LIBS"
-old_NM="$NM"
-old_RANLIB="$RANLIB"
-old_DLLTOOL="$DLLTOOL"
-old_OBJDUMP="$OBJDUMP"
-old_AS="$AS"
-
-# Parse the command line options.
-args=
-prev=
-for option
-do
-  case "$option" in
-  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    eval "$prev=\$option"
-    prev=
-    continue
-  fi
-
-  case "$option" in
-  --help) cat <<EOM
-Usage: $progname [OPTION]... [HOST [LTMAIN]]
-
-Generate a system-specific libtool script.
-
-    --debug                enable verbose shell tracing
-    --disable-shared       do not build shared libraries
-    --disable-static       do not build static libraries
-    --disable-fast-install do not optimize for fast installation
-    --enable-dlopen        enable dlopen support
-    --enable-win32-dll     enable building dlls on win32 hosts
-    --help                 display this help and exit
-    --no-verify            do not verify that HOST is a valid host type
--o, --output=FILE          specify the output file [default=$default_ofile]
-    --quiet                same as \`--silent'
-    --silent               do not print informational messages
-    --srcdir=DIR           find \`config.guess' in DIR
-    --version              output version information and exit
-    --with-gcc             assume that the GNU C compiler will be used
-    --with-gnu-ld          assume that the C compiler uses the GNU linker
-    --disable-lock         disable file locking
-    --cache-file=FILE      configure cache file
-
-LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
-that provides basic libtool functionality.
-
-HOST is the canonical host system name [default=guessed].
-EOM
-  exit 0
-  ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --disable-shared) enable_shared=no ;;
-
-  --disable-static) enable_static=no ;;
-
-  --disable-fast-install) enable_fast_install=no ;;
-
-  --enable-dlopen) enable_dlopen=yes ;;
-
-  --enable-win32-dll) enable_win32_dll=yes ;;
-
-  --quiet | --silent) silent=yes ;;
-
-  --srcdir) prev=srcdir ;;
-  --srcdir=*) srcdir="$optarg" ;;
-
-  --no-verify) verify_host=no ;;
-
-  --output | -o) prev=ofile ;;
-  --output=*) ofile="$optarg" ;;
-
-  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
-
-  --with-gcc) with_gcc=yes ;;
-  --with-gnu-ld) with_gnu_ld=yes ;;
-
-  --disable-lock) need_locks=no ;;
-
-  --cache-file=*) cache_file="$optarg" ;;
-
-  -*)
-    echo "$progname: unrecognized option \`$option'" 1>&2
-    echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    if test -z "$ltmain"; then
-      ltmain="$option"
-    elif test -z "$host"; then
-# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
-#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
-#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
-#      fi
-      host="$option"
-    else
-      echo "$progname: too many arguments" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-done
-
-if test -z "$ltmain"; then
-  echo "$progname: you must specify a LTMAIN file" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-if test ! -f "$ltmain"; then
-  echo "$progname: \`$ltmain' does not exist" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-# Quote any args containing shell metacharacters.
-ltconfig_args=
-for arg
-do
-  case "$arg" in
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ltconfig_args="$ltconfig_args '$arg'" ;;
-  *) ltconfig_args="$ltconfig_args $arg" ;;
-  esac
-done
-
-# A relevant subset of AC_INIT.
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 compiler messages saved in config.log
-# 6 checking for... messages and results
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>>./config.log
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
-if test "X${LANG+set}"   = Xset; then LANG=C;   export LANG;   fi
-
-if test -n "$cache_file" && test -r "$cache_file"; then
-  echo "loading cache $cache_file within ltconfig"
-  . $cache_file
-fi
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-if test -z "$srcdir"; then
-  # Assume the source directory is the same one as the path to LTMAIN.
-  srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
-  test "$srcdir" = "$ltmain" && srcdir=.
-fi
-
-trap "$rm conftest*; exit 1" 1 2 15
-if test "$verify_host" = yes; then
-  # Check for config.guess and config.sub.
-  ac_aux_dir=
-  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-    if test -f $ac_dir/config.guess; then
-      ac_aux_dir=$ac_dir
-      break
-    fi
-  done
-  if test -z "$ac_aux_dir"; then
-    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-  ac_config_guess=$ac_aux_dir/config.guess
-  ac_config_sub=$ac_aux_dir/config.sub
-
-  # Make sure we can run config.sub.
-  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
-  else
-    echo "$progname: cannot run $ac_config_sub" 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-
-  echo $ac_n "checking host system type""... $ac_c" 1>&6
-
-  host_alias=$host
-  case "$host_alias" in
-  "")
-    if host_alias=`$SHELL $ac_config_guess`; then :
-    else
-      echo "$progname: cannot guess host type; you must specify one" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-  host=`$SHELL $ac_config_sub $host_alias`
-  echo "$ac_t$host" 1>&6
-
-  # Make sure the host verified.
-  test -z "$host" && exit 1
-
-elif test -z "$host"; then
-  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
-  echo "$help" 1>&2
-  exit 1
-else
-  host_alias=$host
-fi
-
-# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
-case "$host_os" in
-linux-gnu*) ;;
-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
-esac
-
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-case "$host_os" in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR cru $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-# Set a sane default for `AR'.
-test -z "$AR" && AR=ar
-
-# Set a sane default for `OBJDUMP'.
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-# If RANLIB is not set, then run the test.
-if test "${RANLIB+set}" != "set"; then
-  result=no
-
-  echo $ac_n "checking for ranlib... $ac_c" 1>&6
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH; do
-    test -z "$dir" && dir=.
-    if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
-      RANLIB="ranlib"
-      result="ranlib"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  echo "$ac_t$result" 1>&6
-fi
-
-if test -n "$RANLIB"; then
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
-fi
-
-# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$AS" && AS=as
-
-# Check to see if we are using GCC.
-if test "$with_gcc" != yes || test -z "$CC"; then
-  # If CC is not set, then try to find GCC or a usable CC.
-  if test -z "$CC"; then
-    echo $ac_n "checking for gcc... $ac_c" 1>&6
-    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
-	CC="gcc"
-	break
-      fi
-    done
-    IFS="$save_ifs"
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-  fi
-
-  # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
-  if test -z "$CC"; then
-    echo $ac_n "checking for cc... $ac_c" 1>&6
-    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    cc_rejected=no
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
-	if test "$dir/cc" = "/usr/ucb/cc"; then
-	  cc_rejected=yes
-	  continue
-	fi
-	CC="cc"
-	break
-      fi
-    done
-    IFS="$save_ifs"
-    if test $cc_rejected = yes; then
-      # We found a bogon in the path, so make sure we never use it.
-      set dummy $CC
-      shift
-      if test $# -gt 0; then
-	# We chose a different compiler from the bogus one.
-	# However, it has the same name, so the bogon will be chosen
-	# first if we set CC to just the name; use the full file name.
-	shift
-	set dummy "$dir/cc" "$@"
-	shift
-	CC="$@"
-      fi
-    fi
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-
-    if test -z "$CC"; then
-      echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
-      exit 1
-    fi
-  fi
-
-  # Now see if the compiler is really GCC.
-  with_gcc=no
-  echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-  echo "$progname:581: checking whether we are using GNU C" >&5
-
-  $rm conftest.c
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-    with_gcc=yes
-  fi
-  $rm conftest.c
-  echo "$ac_t$with_gcc" 1>&6
-fi
-
-# Allow CC to be a program name with arguments.
-set dummy $CC
-compiler="$2"
-
-echo $ac_n "checking for object suffix... $ac_c" 1>&6
-$rm conftest*
-echo 'int i = 1;' > conftest.c
-echo "$progname:603: checking for object suffix" >& 5
-if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
-  # Append any warnings to the config.log.
-  cat conftest.err 1>&5
-
-  for ac_file in conftest.*; do
-    case $ac_file in
-    *.c) ;;
-    *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
-    esac
-  done
-else
-  cat conftest.err 1>&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.c >&5
-fi
-$rm conftest*
-echo "$ac_t$objext" 1>&6
-
-echo $ac_n "checking for executable suffix... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_cv_exeext="no"
-  $rm conftest*
-  echo 'main () { return 0; }' > conftest.c
-  echo "$progname:629: checking for executable suffix" >& 5
-  if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-
-    for ac_file in conftest.*; do
-      case $ac_file in
-      *.c | *.err | *.$objext ) ;;
-      *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
-      esac
-    done
-  else
-    cat conftest.err 1>&5
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest*
-fi
-if test "X$ac_cv_exeext" = Xno; then
-  exeext=""
-else
-  exeext="$ac_cv_exeext"
-fi
-echo "$ac_t$ac_cv_exeext" 1>&6
-
-echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
-pic_flag=
-special_shlib_compile_flags=
-wl=
-link_static_flag=
-no_builtin_flag=
-
-if test "$with_gcc" = yes; then
-  wl='-Wl,'
-  link_static_flag='-static'
-
-  case "$host_os" in
-  beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
-    # PIC is the default for these OSes.
-    ;;
-  aix*)
-    # Below there is a dirty hack to force normal static linking with -ldl
-    # The problem is because libdl dynamically linked with both libc and
-    # libC (AIX C++ library), which obviously doesn't included in libraries
-    # list by gcc. This cause undefined symbols with -static flags.
-    # This hack allows C programs to be linked with "-static -ldl", but
-    # we not sure about C++ programs.
-    link_static_flag="$link_static_flag ${wl}-lC"
-    ;;
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-  amigaos*)
-    # FIXME: we need at least 68020 code to build shared libraries, but
-    # adding the `-m68020' flag to GCC prevents building anything better,
-    # like `-m68040'.
-    pic_flag='-m68020 -resident32 -malways-restore-a4'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec; then
-       pic_flag=-Kconform_pic
-    fi
-    ;;
-  *)
-    pic_flag='-fPIC'
-    ;;
-  esac
-else
-  # PORTME Check for PIC flags for the system compiler.
-  case "$host_os" in
-  aix3* | aix4*)
-    # All AIX code is PIC.
-    link_static_flag='-bnso -bI:/lib/syscalls.exp'
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    # Is there a better link_static_flag that works with the bundled CC?
-    wl='-Wl,'
-    link_static_flag="${wl}-a ${wl}archive"
-    pic_flag='+Z'
-    ;;
-
-  irix5* | irix6*)
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    # PIC (with -KPIC) is the default.
-    ;;
-
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-
-  osf3* | osf4* | osf5*)
-    # All OSF/1 code is PIC.
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    ;;
-
-  sco3.2v5*)
-    pic_flag='-Kpic'
-    link_static_flag='-dn'
-    special_shlib_compile_flags='-belf'
-    ;;
-
-  solaris*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  sunos4*)
-    pic_flag='-PIC'
-    link_static_flag='-Bstatic'
-    wl='-Qoption ld '
-    ;;
-
-  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  uts4*)
-    pic_flag='-pic'
-    link_static_flag='-Bstatic'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec ;then
-      pic_flag='-Kconform_pic'
-      link_static_flag='-Bstatic'
-    fi
-    ;;
-  *)
-    can_build_shared=no
-    ;;
-  esac
-fi
-
-if test -n "$pic_flag"; then
-  echo "$ac_t$pic_flag" 1>&6
-
-  # Check to make sure the pic_flag actually works.
-  echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $pic_flag -DPIC"
-  echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
-  if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-    
-    case "$host_os" in
-    hpux9* | hpux10* | hpux11*)
-      # On HP-UX, both CC and GCC only warn that PIC is supported... then they
-      # create non-PIC objects.  So, if there were any warnings, we assume that
-      # PIC is not supported.
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	can_build_shared=no
-	pic_flag=
-      else
-	echo "$ac_t"yes 1>&6
-	pic_flag=" $pic_flag"
-      fi
-      ;;
-    *)
-      echo "$ac_t"yes 1>&6
-      pic_flag=" $pic_flag"
-      ;;
-    esac
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    can_build_shared=no
-    pic_flag=
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  echo "$ac_t"none 1>&6
-fi
-
-# Check to see if options -o and -c are simultaneously supported by compiler
-echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
-$rm -r conftest 2>/dev/null
-mkdir conftest
-cd conftest
-$rm conftest*
-echo "int some_variable = 0;" > conftest.c
-mkdir out
-# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
-# that will create temporary files in the current directory regardless of
-# the output directory.  Thus, making CWD read-only will cause this test
-# to fail, enabling locking or at least warning the user not to do parallel
-# builds.
-chmod -w .
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -o out/conftest2.o"
-echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
-if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
-
-  # The compiler can only warn and ignore the option if not recognized
-  # So say no if there are warnings
-    if test -s out/conftest.err; then
-      echo "$ac_t"no 1>&6
-      compiler_c_o=no
-    else
-      echo "$ac_t"yes 1>&6
-      compiler_c_o=yes
-    fi
-else
-  # Append any errors to the config.log.
-  cat out/conftest.err 1>&5
-  compiler_c_o=no
-  echo "$ac_t"no 1>&6
-fi
-CFLAGS="$save_CFLAGS"
-chmod u+w .
-$rm conftest* out/*
-rmdir out
-cd ..
-rmdir conftest
-$rm -r conftest 2>/dev/null
-
-if test x"$compiler_c_o" = x"yes"; then
-  # Check to see if we can write to a .lo
-  echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -c -o conftest.lo"
-  echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
-if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	compiler_o_lo=no
-      else
-	echo "$ac_t"yes 1>&6
-	compiler_o_lo=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_o_lo=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  compiler_o_lo=no
-fi
-
-# Check to see if we can do hard links to lock some files if needed
-hard_links="nottested"
-if test "$compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$ac_t$hard_links" 1>&6
-  $rm conftest*
-  if test "$hard_links" = no; then
-    echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-if test "$with_gcc" = yes; then
-  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
-  echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-  if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	compiler_rtti_exceptions=no
-      else
-	echo "$ac_t"yes 1>&6
-	compiler_rtti_exceptions=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_rtti_exceptions=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-
-  if test "$compiler_rtti_exceptions" = "yes"; then
-    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
-  else
-    no_builtin_flag=' -fno-builtin'
-  fi
-  
-fi
-
-# Check for any special shared library compilation flags.
-if test -n "$special_shlib_compile_flags"; then
-  echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
-  if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$special_shlib_compile_flags[ 	]" >/dev/null; then :
-  else
-    echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
-    can_build_shared=no
-  fi
-fi
-
-echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
-$rm conftest*
-echo 'main(){return(0);}' > conftest.c
-save_LDFLAGS="$LDFLAGS"
-LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  echo "$ac_t$link_static_flag" 1>&6
-else
-  echo "$ac_t"none 1>&6
-  link_static_flag=
-fi
-LDFLAGS="$save_LDFLAGS"
-$rm conftest*
-
-if test -z "$LN_S"; then
-  # Check to see if we can use ln -s, or we need hard links.
-  echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
-  $rm conftest.dat
-  if ln -s X conftest.dat 2>/dev/null; then
-    $rm conftest.dat
-    LN_S="ln -s"
-  else
-    LN_S=ln
-  fi
-  if test "$LN_S" = "ln -s"; then
-    echo "$ac_t"yes 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-fi
-
-# Make sure LD is an absolute path.
-if test -z "$LD"; then
-  ac_prog=ld
-  if test "$with_gcc" = yes; then
-    # Check if gcc -print-prog-name=ld gives a path.
-    echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-    echo "$progname:991: checking for ld used by GCC" >&5
-    ac_prog=`($CC -print-prog-name=ld) 2>&5`
-    case "$ac_prog" in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-    "")
-      # If it fails, then pretend we are not using GCC.
-      ac_prog=ld
-      ;;
-    *)
-      # If it is relative, then search for the first ld in PATH.
-      with_gnu_ld=unknown
-      ;;
-    esac
-  elif test "$with_gnu_ld" = yes; then
-    echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-    echo "$progname:1015: checking for GNU ld" >&5
-  else
-    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-    echo "$progname:1018: checking for non-GNU ld" >&5
-  fi
-
-  if test -z "$LD"; then
-    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-	LD="$ac_dir/$ac_prog"
-	# Check to see if the program is GNU ld.  I'd rather use --version,
-	# but apparently some GNU ld's only accept -v.
-	# Break only if it was the GNU/non-GNU ld that we prefer.
-	if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-	  test "$with_gnu_ld" != no && break
-	else
-	  test "$with_gnu_ld" != yes && break
-	fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-  fi
-
-  if test -n "$LD"; then
-    echo "$ac_t$LD" 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-
-  if test -z "$LD"; then
-    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
-    exit 1
-  fi
-fi
-
-# Check to see if it really is or is not GNU ld.
-echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
-# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-echo "$ac_t$with_gnu_ld" 1>&6
-
-# See if the linker supports building shared libraries.
-echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
-
-allow_undefined_flag=
-no_undefined_flag=
-need_lib_prefix=unknown
-need_version=unknown
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-archive_cmds=
-archive_expsym_cmds=
-old_archive_from_new_cmds=
-export_dynamic_flag_spec=
-whole_archive_flag_spec=
-thread_safe_flag_spec=
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-hardcode_shlibpath_var=unsupported
-runpath_var=
-always_export_symbols=no
-export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
-# include_expsyms should be a list of space-separated symbols to be *always*
-# included in the symbol list
-include_expsyms=
-# exclude_expsyms can be an egrep regular expression of symbols to exclude
-# it will be wrapped by ` (' and `)$', so one must not match beginning or
-# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-# as well as any symbol that contains `d'.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-# platforms (ab)use it in PIC code, but their linkers get confused if
-# the symbol is explicitly referenced.  Since portable code cannot
-# rely on this symbol name, it's probably fine to never include it in
-# preloaded symbol tables.
-
-case "$host_os" in
-cygwin* | mingw*)
-  # FIXME: the MSVC++ port hasn't been tested in a loooong time
-  # When not using gcc, we currently assume that we are using
-  # Microsoft Visual C++.
-  if test "$with_gcc" != yes; then
-    with_gnu_ld=no
-  fi
-  ;;
-
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # If archive_cmds runs LD, not CC, wlarc should be empty
-  wlarc='${wl}'
-
-  # See if GNU ld supports shared libraries.
-  case "$host_os" in
-  aix3* | aix4*)
-    # On AIX, the GNU linker is very broken
-    ld_shlibs=no
-    cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-    ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-
-    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-    # that the semantics of dynamic libraries on AmigaOS, at least up
-    # to version 4, is to share data among multiple programs linked
-    # with the same dynamic library.  Since this doesn't match the
-    # behavior of shared libraries on other platforms, we can use
-    # them.
-    ld_shlibs=no
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag=unsupported
-      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-
-  cygwin* | mingw*)
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec='-L$libdir'
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-
-    # Extract the symbol export list from an `--export-all' def file,
-    # then regenerate the def file from the symbol export list, so that
-    # the compiled dll only exports the symbol export list.
-    # Be careful not to strip the DATA tag left by newer dlltools.
-    export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
-      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
-
-    # If DATA tags from a recent dlltool are present, honour them!
-    archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
-      _lt_hint=1;
-      cat $export_symbols | while read symbol; do
-        set dummy \$symbol;
-        case \$# in
-          2) echo "	\$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
-          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
-        esac;
-	_lt_hint=`expr 1 + \$_lt_hint`;
-      done~
-      test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
-
-      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' 
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
-      # can we support soname and/or expsyms with a.out? -oliva
-    fi
-    ;;
-
-  solaris* | sysv5*)
-    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
-      ld_shlibs=no
-      cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;      
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    wlarc=
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-  esac
-
-  if test "$ld_shlibs" = yes; then
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    case $host_os in
-    cygwin* | mingw*)
-      # dlltool doesn't understand --whole-archive et. al.
-      whole_archive_flag_spec=
-      ;;
-    *)
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
-        whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-        whole_archive_flag_spec=
-      fi
-      ;;
-    esac
-  fi
-else
-  # PORTME fill in a description of your system's linker (not GNU ld)
-  case "$host_os" in
-  aix3*)
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-    archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
-    # Note: this linker hardcodes the directories in LIBPATH if there
-    # are no directories specified by -L.
-    hardcode_minus_L=yes
-    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
-      # Neither direct hardcoding nor static linking is supported with a
-      # broken collect2.
-      hardcode_direct=unsupported
-    fi
-    ;;
-
-  aix4*)
-    hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
-    hardcode_libdir_separator=':'
-    if test "$with_gcc" = yes; then
-      collect2name=`${CC} -print-prog-name=collect2`
-      if test -f "$collect2name" && \
-	 strings "$collect2name" | grep resolve_lib_name >/dev/null
-      then
-	# We have reworked collect2
-	hardcode_direct=yes
-      else
-	# We have old collect2
-	hardcode_direct=unsupported
-	# It fails to find uninstalled libraries when the uninstalled
-	# path is not listed in the libpath.  Setting hardcode_minus_L
-	# to unsupported forces relinking
-	hardcode_minus_L=yes
-	hardcode_libdir_flag_spec='-L$libdir'
-	hardcode_libdir_separator=
-      fi
-      shared_flag='-shared'
-    else
-      shared_flag='${wl}-bM:SRE'
-      hardcode_direct=yes
-    fi
-    allow_undefined_flag=' ${wl}-berok'
-    archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
-    archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
-    case "$host_os" in aix4.[01]|aix4.[01].*)
-      # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
-      always_export_symbols=yes ;;
-    esac
-   ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    # see comment about different semantics on the GNU ld section
-    ld_shlibs=no
-    ;;
-
-  cygwin* | mingw*)
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec=' '
-    allow_undefined_flag=unsupported
-    # Tell ltmain to make .lib files, not .a files.
-    libext=lib
-    # FIXME: Setting linknames here is a bad hack.
-    archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-    # The linker will automatically build a .lib file if we build a DLL.
-    old_archive_from_new_cmds='true'
-    # FIXME: Should let the user specify the lib program.
-    old_archive_cmds='lib /OUT:$oldlib$oldobjs'
-    fix_srcfile_path='`cygpath -w $srcfile`'
-    ;;
-
-  freebsd1*)
-    ld_shlibs=no
-    ;;
-
-  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-  # support.  Future versions do this automatically, but an explicit c++rt0.o
-  # does not break anything, and helps significantly (at the cost of a little
-  # extra space).
-  freebsd2.2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-  freebsd2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
-    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    case "$host_os" in
-    hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
-    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
-    esac
-    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator=:
-    hardcode_direct=yes
-    hardcode_minus_L=yes # Not in the search PATH, but as the default
-			 # location of the library.
-    export_dynamic_flag_spec='${wl}-E'
-    ;;
-
-  irix5* | irix6*)
-    if test "$with_gcc" = yes; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'  # a.out
-    else
-      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts'      # ELF
-    fi
-    hardcode_libdir_flag_spec='${wl}-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  os2*)
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    allow_undefined_flag=unsupported
-    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
-    old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
-    ;;
-
-  osf3*)
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  osf4* | osf5*)  # As osf3* with the addition of the -msym flag
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-  rhapsody*)
-    archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flags_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-                                       
-  sco3.2v5*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    runpath_var=LD_RUN_PATH
-    hardcode_runpath_var=yes
-    ;;
-
-  solaris*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_shlibpath_var=no
-    case "$host_os" in
-    solaris2.[0-5] | solaris2.[0-5].*) ;;
-    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
-    esac
-    ;;
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4)
-    if test "x$host_vendor" = xsequent; then
-      # Use $CC to link under sequent, because it throws in some extra .o 
-      # files that make .init and .fini sections work.
-      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
-    else
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    fi
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    hardcode_direct=no #Motorola manual says yes, but my tests say they lie 
-    ;;  
-
-  sysv4.3*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    export_dynamic_flag_spec='-Bexport'
-    ;;
-
-  sysv5*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec=
-    hardcode_shlibpath_var=no
-    runpath_var='LD_RUN_PATH'
-    ;;
-
-  uts4*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  dgux*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4*MP*)
-    if test -d /usr/nec; then
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-      hardcode_shlibpath_var=no
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ld_shlibs=yes
-    fi
-    ;;
-
-  sysv4.2uw2*)
-    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=no
-    hardcode_shlibpath_var=no
-    hardcode_runpath_var=yes
-    runpath_var=LD_RUN_PATH
-    ;;
-
-  unixware7*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    ld_shlibs=no
-    ;;
-  esac
-fi
-echo "$ac_t$ld_shlibs" 1>&6
-test "$ld_shlibs" = no && can_build_shared=no
-
-if test -z "$NM"; then
-  echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
-  case "$NM" in
-  [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path.
-  *)
-    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	  NM="$ac_dir/nm -B"
-	  break
-	elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	  NM="$ac_dir/nm -p"
-	  break
-	else
-	  NM=${NM="$ac_dir/nm"} # keep the first match, but
-	  continue # so that we can try to find one that supports BSD flags
-	fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-    test -z "$NM" && NM=nm
-    ;;
-  esac
-  echo "$ac_t$NM" 1>&6
-fi
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
-  ;;
-irix*)
-  symcode='[BCDEGRST]'
-  ;;
-solaris*)
-  symcode='[BDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
-  symcode='[ABCDGISTW]'
-fi
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Write the raw and C identifiers.
-  global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode\)[ 	][ 	]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-  $rm conftest*
-  cat > conftest.c <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  echo "$progname:1653: checking if global_symbol_pipe works" >&5
-  if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
-
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
-	if egrep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
-
-	  cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-	  sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
-	  cat <<\EOF >> conftest.c
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$objext conftstm.$objext
-	  save_LIBS="$LIBS"
-	  save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$objext"
-	  CFLAGS="$CFLAGS$no_builtin_flag"
-	  if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-	    pipe_works=yes
-	  else
-	    echo "$progname: failed program was:" >&5
-	    cat conftest.c >&5
-	  fi
-	  LIBS="$save_LIBS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    global_symbol_pipe=
-  fi
-done
-if test "$pipe_works" = yes; then
-  echo "${ac_t}ok" 1>&6
-else
-  echo "${ac_t}failed" 1>&6
-fi
-
-if test -z "$global_symbol_pipe"; then
-  global_symbol_to_cdecl=
-fi
-
-# Check hardcoding attributes.
-echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var"; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$hardcode_shlibpath_var" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-echo "$ac_t$hardcode_action" 1>&6
-
-
-reload_flag=
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
-# PORTME Some linkers may need a different reload flag.
-reload_flag='-r'
-echo "$ac_t$reload_flag" 1>&6
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-
-# PORTME Fill in your ld.so characteristics
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-file_magic_cmd=
-file_magic_test_file=
-deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
-case "$host_os" in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}.so$major'
-  ;;
-
-aix4*)
-  version_type=linux
-  # AIX has no versioning support, so currently we can not hardcode correct
-  # soname into executable. Probably we can add versioning support to
-  # collect2, so additional links can be useful in future.
-  # We preserve .a as extension for shared libraries though AIX4.2
-  # and later linker supports .so
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
-  shlibpath_var=LIBPATH
-  deplibs_check_method=pass_all
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}.so'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  deplibs_check_method=pass_all
-  lt_cv_dlopen="load_add_on"
-  lt_cv_dlopen_libs=
-  lt_cv_dlopen_self=yes
-  ;;
-
-bsdi4*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  export_dynamic_flag_spec=-rdynamic
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw*)
-  version_type=windows
-  need_version=no
-  need_lib_prefix=no
-  if test "$with_gcc" = yes; then
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
-  else
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
-  fi
-  dynamic_linker='Win32 ld.exe'
-  deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  file_magic_cmd='${OBJDUMP} -f'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  lt_cv_dlopen="LoadLibrary"
-  lt_cv_dlopen_libs=
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-  
-freebsd*)
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
-  version_type=freebsd-$objformat
-  case "$version_type" in
-    freebsd-elf*)
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      deplibs_check_method=unknown
-      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_os" in
-  freebsd2* | freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  *) # from 3.2 on
-    shlibpath_overrides_runpath=no
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  dynamic_linker="$host_os dld.sl"
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  shlibpath_var=SHLIB_PATH
-  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
-  soname_spec='${libname}${release}.sl$major'
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  case "$host_os" in
-  hpux10.20*)
-    # TODO:  Does this work for hpux-11 too?
-    deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    file_magic_cmd=/usr/bin/file
-    file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-irix5* | irix6*)
-  version_type=irix
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}.so.$major'
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
-  case "$host_os" in
-  irix5*)
-    libsuff= shlibsuff=
-    # this will be overridden with pass_all, but let us keep it just in case
-    deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
-    ;;
-  *)
-    case "$LD" in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=`echo /lib${libsuff}/libc.so*`
-  deplibs_check_method='pass_all'
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  deplibs_check_method=pass_all
-
-  if test -f /lib/ld.so.1; then
-    dynamic_linker='GNU ld.so'
-  else
-    # Only the GNU ld.so supports shared libraries on MkLinux.
-    case "$host_cpu" in
-    powerpc*) dynamic_linker=no ;;
-    *) dynamic_linker='Linux ld.so' ;;
-    esac
-  fi
-  ;;
-
-netbsd*)
-  version_type=sunos
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
-    soname_spec='${libname}${release}.so$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-openbsd*)
-  version_type=sunos
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-    need_version=no
-  fi
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-os2*)
-  libname_spec='$name'
-  need_lib_prefix=no
-  library_names_spec='$libname.dll $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_version=no
-  soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  # this will be overridden with pass_all, but let us keep it just in case
-  deplibs_check_method='file_magic COFF format alpha shared library'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  deplibs_check_method='pass_all'
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rhapsody*)
-  version_type=sunos
-  library_names_spec='${libname}.so'
-  soname_spec='${libname}.so'
-  shlibpath_var=DYLD_LIBRARY_PATH
-  deplibs_check_method=pass_all
-  ;;
-
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}.so$major'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/lib/libc.so
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_vendor" in
-    sequent)
-      file_magic_cmd='/bin/file'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-      ;;
-    ncr)
-      deplibs_check_method='pass_all'
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      ;;
-  esac
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-    soname_spec='$libname.so.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-echo "$ac_t$dynamic_linker" 1>&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-# Report the final consequences.
-echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
-
-# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
-# configure.in, otherwise build static only libraries.
-case "$host_os" in
-cygwin* | mingw* | os2*)
-  if test x$can_build_shared = xyes; then
-    test x$enable_win32_dll = xno && can_build_shared=no
-    echo "checking if package supports dlls... $can_build_shared" 1>&6
-  fi
-;;
-esac
-
-if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
-  case "$deplibs_check_method" in
-  "file_magic "*)
-    file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
-    if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-       egrep "$file_magic_regex" > /dev/null; then
-      :
-    else
-      cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
-    fi ;;
-  esac
-fi
-
-echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix4*)
-  test "$enable_shared" = yes && enable_static=no
-  ;;
-esac
-
-echo "$ac_t$enable_shared" 1>&6
-
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-
-echo "checking whether to build static libraries... $enable_static" 1>&6
-
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-echo $ac_n "checking for objdir... $ac_c" 1>&6
-rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-echo "$ac_t$objdir" 1>&6
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
-  lt_cv_dlopen=no lt_cv_dlopen_libs=
-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "$progname:2248: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2256 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "$progname:2288: checking for dlopen" >&5
-if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2293 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-dlopen();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "$progname:2335: checking for dld_link in -ldld" >&5
-ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2343 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link();
-
-int main() {
-dld_link()
-; return 0; }
-EOF
-if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "$progname:2375: checking for shl_load" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2380 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-shl_load();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "$progname:2423: checking for shl_load in -ldld" >&5
-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2431 "ltconfig"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load();
-
-int main() {
-shl_load()
-; return 0; }
-EOF
-if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-fi
-
-    
-fi
-
-  
-fi
-
-
-fi
-
-fi
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  fi
-
-  case "$lt_cv_dlopen" in
-  dlopen)
-for ac_hdr in dlfcn.h; do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "$progname:2488: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2493 "ltconfig"
-#include <$ac_hdr>
-int fnord = 0;
-EOF
-ac_try="$ac_compile >/dev/null 2>conftest.out"
-{ (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-    if test "x$ac_cv_header_dlfcn_h" = xyes; then
-      CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-    fi
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-  echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2526: checking whether a program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self=cross
-  else
-    cat > conftest.c <<EOF
-#line 2534 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL	RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL	DL_GLOBAL
-# else
-#  define LTDL_GLOBAL	0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW	DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW	RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW	DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW	0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-	       if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self" 1>&6
-
-  if test "$lt_cv_dlopen_self" = yes; then
-    LDFLAGS="$LDFLAGS $link_static_flag"
-  echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self_static=cross
-  else
-    cat > conftest.c <<EOF
-#line 2607 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL	RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL	DL_GLOBAL
-# else
-#  define LTDL_GLOBAL	0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW	DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW	RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW	DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW	0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-    if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self_static=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self_static=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
-fi
-    ;;
-  esac
-
-  case "$lt_cv_dlopen_self" in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case "$lt_cv_dlopen_self_static" in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-# Copy echo and quote the copy, instead of the original, because it is
-# used later.
-ltecho="$echo"
-if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   ltecho="$CONFIG_SHELL \$0 --fallback-echo"
-fi
-LTSHELL="$SHELL"
-
-LTCONFIG_VERSION="$VERSION"
-
-# Only quote variables if we're using ltmain.sh.
-case "$ltmain" in
-*.sh)
-  # Now quote all the things that may contain metacharacters.
-  for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \
-    AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
-    reload_flag reload_cmds wl \
-    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
-    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
-    library_names_spec soname_spec \
-    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
-    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
-    file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
-    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
-    hardcode_libdir_flag_spec hardcode_libdir_separator  \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
-
-    case "$var" in
-    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case "$ltecho" in
-  *'\$0 --fallback-echo"')
-    ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-  trap "$rm \"$ofile\"; exit 1" 1 2 15
-  echo "creating $ofile"
-  $rm "$ofile"
-  cat <<EOF > "$ofile"
-#! $SHELL
-
-# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
-#
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="sed -e s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-### BEGIN LIBTOOL CONFIG
-EOF
-  cfgfile="$ofile"
-  ;;
-
-*)
-  # Double-quote the variables that need it (for aesthetics).
-  for var in old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
-    eval "$var=\\\"\$var\\\""
-  done
-
-  # Just create a config file.
-  cfgfile="$ofile.cfg"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  echo "creating $cfgfile"
-  $rm "$cfgfile"
-  cat <<EOF > "$cfgfile"
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-EOF
-  ;;
-esac
-
-cat <<EOF >> "$cfgfile"
-# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
-# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
-# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
-# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\
-#   $0$ltconfig_args
-#
-# Compiler and other test output produced by $progname, useful for
-# debugging $progname, is in ./config.log if it exists.
-
-# The version of $progname that generated this script.
-LTCONFIG_VERSION=$LTCONFIG_VERSION
-
-# Shell to use when invoking shell scripts.
-SHELL=$LTSHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-
-# An echo program that does not interpret backslashes.
-echo=$ltecho
-
-# The archiver.
-AR=$AR
-
-# The default C compiler.
-CC=$CC
-
-# The linker used to build libraries.
-LD=$LD
-
-# Whether we need hard or soft links.
-LN_S=$LN_S
-
-# A BSD-compatible nm program.
-NM=$NM
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$reload_flag
-reload_cmds=$reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$wl
-
-# Object file suffix (normally "o").
-objext="$objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$pic_flag
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$compiler_c_o
-
-# Can we write directly to a .lo ?
-compiler_o_lo=$compiler_o_lo
-
-# Must we lock files when doing compilation ?
-need_locks=$need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$link_static_flag
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$RANLIB
-old_archive_cmds=$old_archive_cmds
-old_postinstall_cmds=$old_postinstall_cmds
-old_postuninstall_cmds=$old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$old_archive_from_new_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$archive_cmds
-archive_expsym_cmds=$archive_expsym_cmds
-postinstall_cmds=$postinstall_cmds
-postuninstall_cmds=$postuninstall_cmds
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$global_symbol_to_cdecl
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$include_expsyms
-
-EOF
-
-case "$ltmain" in
-*.sh)
-  echo '### END LIBTOOL CONFIG' >> "$ofile"
-  echo >> "$ofile"
-  case "$host_os" in
-  aix3*)
-    cat <<\EOF >> "$ofile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # Append the ltmain.sh script.
-  sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-
-  chmod +x "$ofile"
-  ;;
-
-*)
-  # Compile the libtool program.
-  echo "FIXME: would compile $ltmain"
-  ;;
-esac
-
-test -n "$cache_file" || exit 0
-
-# AC_CACHE_SAVE
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
--- a/common/libsndfile/ltmain.sh
+++ /dev/null
@@ -1,4024 +1,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun ltconfig.
-#
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell, and then maybe $echo will work.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# The name of this program.
-progname=`$echo "$0" | sed 's%^.*/%%'`
-modename="$progname"
-
-# Constants.
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.3.5
-TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# 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'
-SP2NL='tr \040 \012'
-NL2SP='tr \015\012 \040\040'
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
-fi
-
-if test "$LTCONFIG_VERSION" != "$VERSION"; then
-  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
-  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit 1
-fi
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  echo "$modename: not configured to build any kind of library" 1>&2
-  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit 1
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-
-# Parse our command line options once, thoroughly.
-while test $# -gt 0
-do
-  arg="$1"
-  shift
-
-  case "$arg" in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case "$prev" in
-    execute_dlfiles)
-      eval "$prev=\"\$$prev \$arg\""
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
-
-    prev=
-    prevopt=
-    continue
-  fi
-
-  # Have we seen a non-optional argument yet?
-  case "$arg" in
-  --help)
-    show_help=yes
-    ;;
-
-  --version)
-    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
-    exit 0
-    ;;
-
-  --config)
-    sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
-    exit 0
-    ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
-
-  --features)
-    echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-    exit 0
-    ;;
-
-  --finish) mode="finish" ;;
-
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
-
-  --quiet | --silent)
-    show=:
-    ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
-    ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    nonopt="$arg"
-    break
-    ;;
-  esac
-done
-
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit 1
-fi
-
-if test -z "$show_help"; then
-
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    case "$nonopt" in
-    *cc | *++ | gcc* | *-gcc*)
-      mode=link
-      for arg
-      do
-	case "$arg" in
-	-c)
-	   mode=compile
-	   break
-	   ;;
-	esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
-      ;;
-    *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
-
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-	if test -n "$nonopt"; then
-	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-	else
-	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-	fi
-      fi
-      ;;
-    esac
-  fi
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
-    exit 1
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
-
-  # These modes are in order of execution frequency so that they run quickly.
-  case "$mode" in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
-    # Get the compilation command and the source file.
-    base_compile=
-    lastarg=
-    srcfile="$nonopt"
-    suppress_output=
-
-    user_target=no
-    for arg
-    do
-      # Accept any command-line options.
-      case "$arg" in
-      -o)
-	if test "$user_target" != "no"; then
-	  $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-	  exit 1
-	fi
-	user_target=next
-	;;
-
-      -static)
-	build_old_libs=yes
-	continue
-	;;
-      esac
-
-      case "$user_target" in
-      next)
-	# The next one is the -o target name
-	user_target=yes
-	continue
-	;;
-      yes)
-	# We got the output file
-	user_target=set
-	libobj="$arg"
-	continue
-	;;
-      esac
-
-      # Accept the current argument as the source file.
-      lastarg="$srcfile"
-      srcfile="$arg"
-
-      # Aesthetically quote the previous argument.
-
-      # Backslashify any backslashes, double quotes, and dollar signs.
-      # These are the only characters that are still specially
-      # interpreted inside of double-quoted scrings.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly in scan
-      # sets, so we specify it separately.
-      case "$lastarg" in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	lastarg="\"$lastarg\""
-	;;
-      esac
-
-      # Add the previous argument to base_compile.
-      if test -z "$base_compile"; then
-	base_compile="$lastarg"
-      else
-	base_compile="$base_compile $lastarg"
-      fi
-    done
-
-    case "$user_target" in
-    set)
-      ;;
-    no)
-      # Get the name of the library object.
-      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
-      ;;
-    *)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit 1
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSfmso]'
-    case "$libobj" in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.f90) xform=f90 ;;
-    *.for) xform=for ;;
-    esac
-
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
-    case "$libobj" in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
-    *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit 1
-      ;;
-    esac
-
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $libobj"
-    else
-      removelist="$libobj"
-    fi
-
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit 1" 1 2 15
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit 1" 1 2 15
-    else
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until ln "$0" "$lockfile" 2>/dev/null; do
-	$show "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-	echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit 1
-      fi
-      echo $srcfile > "$lockfile"
-    fi
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      # All platforms use -DPIC, to notify preprocessed assembler code.
-      command="$base_compile $srcfile $pic_flag -DPIC"
-      if test "$build_old_libs" = yes; then
-	lo_libobj="$libobj"
-	dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
-	if test "X$dir" = "X$libobj"; then
-	  dir="$objdir"
-	else
-	  dir="$dir/$objdir"
-	fi
-	libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
-
-	if test -d "$dir"; then
-	  $show "$rm $libobj"
-	  $run $rm $libobj
-	else
-	  $show "$mkdir $dir"
-	  $run $mkdir $dir
-	  status=$?
-	  if test $status -ne 0 && test ! -d $dir; then
-	    exit $status
-	  fi
-	fi
-      fi
-      if test "$compiler_o_lo" = yes; then
-	output_obj="$libobj"
-	command="$command -o $output_obj"
-      elif test "$compiler_c_o" = yes; then
-	output_obj="$obj"
-	command="$command -o $output_obj"
-      fi
-
-      $run $rm "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-	test -n "$output_obj" && $run $rm $removelist
-	exit 1
-      fi
-
-      if test "$need_locks" = warn &&
-	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
-	echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit 1
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test x"$output_obj" != x"$libobj"; then
-	$show "$mv $output_obj $libobj"
-	if $run $mv $output_obj $libobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # If we have no pic_flag, then copy the object into place and finish.
-      if test -z "$pic_flag" && test "$build_old_libs" = yes; then
-	# Rename the .lo from within objdir to obj
-	if test -f $obj; then
-	  $show $rm $obj
-	  $run $rm $obj
-	fi
-
-	$show "$mv $libobj $obj"
-	if $run $mv $libobj $obj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-
-	xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-	if test "X$xdir" = "X$obj"; then
-	  xdir="."
-	else
-	  xdir="$xdir"
-	fi
-	baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
-	libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
-	# Now arrange that obj and lo_libobj become the same file
-	$show "(cd $xdir && $LN_S $baseobj $libobj)"
-	if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
-	  exit 0
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Allow error messages only from the first compilation.
-      suppress_output=' >/dev/null 2>&1'
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      command="$base_compile $srcfile"
-      if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
-	output_obj="$obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      $run $rm "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-	$run $rm $removelist
-	exit 1
-      fi
-
-      if test "$need_locks" = warn &&
-	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
-	echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit 1
-      fi
-
-      # Just move the object if needed
-      if test x"$output_obj" != x"$obj"; then
-	$show "$mv $output_obj $obj"
-	if $run $mv $output_obj $obj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Create an invalid libtool object if no PIC, so that we do not
-      # accidentally link it into a program.
-      if test "$build_libtool_libs" != yes; then
-	$show "echo timestamp > $libobj"
-	$run eval "echo timestamp > \$libobj" || exit $?
-      else
-	# Move the .lo from within objdir
-	$show "$mv $libobj $lo_libobj"
-	if $run $mv $libobj $lo_libobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-    fi
-
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $rm "$lockfile"
-    fi
-
-    exit 0
-    ;;
-
-  # libtool link mode
-  link)
-    modename="$modename: link"
-    case "$host" in
-    *-*-cygwin* | *-*-mingw* | *-*-os2*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invokation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-
-      # This is a source program that is used to create dlls on Windows
-      # Don't remove nor modify the starting and closing comments
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-      # This is a source program that is used to create import libraries
-      # on Windows for dlls which lack them. Don't remove nor modify the
-      # starting and closing comments
-# /* impgen.c starts here */
-# /*   Copyright (C) 1999 Free Software Foundation, Inc.
-# 
-#  This file is part of GNU libtool.
-# 
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2 of the License, or
-#  (at your option) any later version.
-# 
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-# 
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#  */
-# 
-#  #include <stdio.h>		/* for printf() */
-#  #include <unistd.h>		/* for open(), lseek(), read() */
-#  #include <fcntl.h>		/* for O_RDONLY, O_BINARY */
-#  #include <string.h>		/* for strdup() */
-# 
-#  static unsigned int
-#  pe_get16 (fd, offset)
-#       int fd;
-#       int offset;
-#  {
-#    unsigned char b[2];
-#    lseek (fd, offset, SEEK_SET);
-#    read (fd, b, 2);
-#    return b[0] + (b[1]<<8);
-#  }
-# 
-#  static unsigned int
-#  pe_get32 (fd, offset)
-#      int fd;
-#      int offset;
-#  {
-#    unsigned char b[4];
-#    lseek (fd, offset, SEEK_SET);
-#    read (fd, b, 4);
-#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
-#  }
-# 
-#  static unsigned int
-#  pe_as32 (ptr)
-#       void *ptr;
-#  {
-#    unsigned char *b = ptr;
-#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
-#  }
-# 
-#  int
-#  main (argc, argv)
-#      int argc;
-#      char *argv[];
-#  {
-#      int dll;
-#      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
-#      unsigned long export_rva, export_size, nsections, secptr, expptr;
-#      unsigned long name_rvas, nexp;
-#      unsigned char *expdata, *erva;
-#      char *filename, *dll_name;
-# 
-#      filename = argv[1];
-# 
-#      dll = open(filename, O_RDONLY|O_BINARY);
-#      if (!dll)
-#  	return 1;
-# 
-#      dll_name = filename;
-#    
-#      for (i=0; filename[i]; i++)
-#  	if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
-#  	    dll_name = filename + i +1;
-# 
-#      pe_header_offset = pe_get32 (dll, 0x3c);
-#      opthdr_ofs = pe_header_offset + 4 + 20;
-#      num_entries = pe_get32 (dll, opthdr_ofs + 92);
-# 
-#      if (num_entries < 1) /* no exports */
-#  	return 1;
-# 
-#      export_rva = pe_get32 (dll, opthdr_ofs + 96);
-#      export_size = pe_get32 (dll, opthdr_ofs + 100);
-#      nsections = pe_get16 (dll, pe_header_offset + 4 +2);
-#      secptr = (pe_header_offset + 4 + 20 +
-#  	      pe_get16 (dll, pe_header_offset + 4 + 16));
-# 
-#      expptr = 0;
-#      for (i = 0; i < nsections; i++)
-#      {
-#  	char sname[8];
-#  	unsigned long secptr1 = secptr + 40 * i;
-#  	unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
-#  	unsigned long vsize = pe_get32 (dll, secptr1 + 16);
-#  	unsigned long fptr = pe_get32 (dll, secptr1 + 20);
-#  	lseek(dll, secptr1, SEEK_SET);
-#  	read(dll, sname, 8);
-#  	if (vaddr <= export_rva && vaddr+vsize > export_rva)
-#  	{
-#  	    expptr = fptr + (export_rva - vaddr);
-#  	    if (export_rva + export_size > vaddr + vsize)
-#  		export_size = vsize - (export_rva - vaddr);
-#  	    break;
-#  	}
-#      }
-# 
-#      expdata = (unsigned char*)malloc(export_size);
-#      lseek (dll, expptr, SEEK_SET);
-#      read (dll, expdata, export_size);
-#      erva = expdata - export_rva;
-# 
-#      nexp = pe_as32 (expdata+24);
-#      name_rvas = pe_as32 (expdata+32);
-# 
-#      printf ("EXPORTS\n");
-#      for (i = 0; i<nexp; i++)
-#      {
-#  	unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
-#  	printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
-#      }
-# 
-#      return 0;
-#  }
-# /* impgen.c ends here */
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    linkopts=
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      lib_search_path=
-    fi
-    # now prepend the system-specific ones
-    eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-    
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    link_against_libtool_libs=
-    ltlibs=
-    module=no
-    objs=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case "$arg" in
-      -all-static | -static)
-	if test "X$arg" = "X-all-static"; then
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	else
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	fi
-	build_libtool_libs=no
-	build_old_libs=yes
-	prefer_static_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test $# -gt 0; do
-      arg="$1"
-      shift
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case "$prev" in
-	output)
-	  compile_command="$compile_command @OUTPUT@"
-	  finalize_command="$finalize_command @OUTPUT@"
-	  ;;
-	esac
-
-	case "$prev" in
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    compile_command="$compile_command @SYMFILE@"
-	    finalize_command="$finalize_command @SYMFILE@"
-	    preload=yes
-	  fi
-	  case "$arg" in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test "$dlself" = no; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test "$prev" = dlprefiles; then
-	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
-	    else
-	      dlprefiles="$dlprefiles $arg"
-	    fi
-	    prev=
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  if test ! -f "$arg"; then
-	    $echo "$modename: symbol file \`$arg' does not exist"
-	    exit 1
-	  fi
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case "$arg" in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    $echo "$modename: only absolute run-paths are allowed" 1>&2
-	    exit 1
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi
-
-      prevarg="$arg"
-
-      case "$arg" in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  compile_command="$compile_command $link_static_flag"
-	  finalize_command="$finalize_command $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-	continue
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  $echo "$modename: not more than one -exported-symbols argument allowed"
-	  exit 1
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -L*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
-	# We need an absolute path.
-	case "$dir" in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  if test -z "$absdir"; then
-	    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-	    absdir="$dir"
-	  fi
-	  dir="$absdir"
-	  ;;
-	esac
-	case " $deplibs " in
-	*" $arg "*) ;;
-	*) deplibs="$deplibs $arg";;
-	esac
-	case " $lib_search_path " in
-	*" $dir "*) ;;
-	*) lib_search_path="$lib_search_path $dir";;
-	esac
-	case "$host" in
-	*-*-cygwin* | *-*-mingw* | *-*-os2*)
-	  dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
-	  case ":$dllsearchpath:" in
-	  ::) dllsearchpath="$dllsearchdir";;
-	  *":$dllsearchdir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$dllsearchdir";;
-	  esac
-	  ;;
-	esac
-	;;
-
-      -l*)
-	if test "$arg" = "-lc"; then
-	  case "$host" in
-	  *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
-	    # These systems don't actually have c library (as such)
-	    continue
-	    ;;
-	  esac
-	elif test "$arg" = "-lm"; then
-	  case "$host" in
-	  *-*-cygwin* | *-*-beos*)
-	    # These systems don't actually have math library (as such)
-	    continue
-	    ;;
-	  esac
-	fi
-	deplibs="$deplibs $arg"
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
-	# We need an absolute path.
-	case "$dir" in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  $echo "$modename: only absolute run-paths are allowed" 1>&2
-	  exit 1
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
-	esac
-	continue
-	;;
-
-      -static)
-	# If we have no pic_flag, then this is the same as -all-static.
-	if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	  compile_command="$compile_command $link_static_flag"
-	  finalize_command="$finalize_command $link_static_flag"
-	fi
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-
-      # Some other compiler flag.
-      -* | +*)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case "$arg" in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-
-      *.o | *.obj | *.a | *.lib)
-	# A standard object.
-	objs="$objs $arg"
-	;;
-
-      *.lo)
-	# A library object.
-	if test "$prev" = dlfiles; then
-	  dlfiles="$dlfiles $arg"
-	  if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
-	    prev=
-	    continue
-	  else
-	    # If libtool objects are unsupported, then we need to preload.
-	    prev=dlprefiles
-	  fi
-	fi
-
-	if test "$prev" = dlprefiles; then
-	  # Preload the old-style object.
-	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
-	  prev=
-	fi
-	libobjs="$libobjs $arg"
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	dlname=
-	libdir=
-	library_names=
-	old_library=
-
-	# Check to see that this really is a libtool archive.
-	if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
-	  exit 1
-	fi
-
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variable installed.
-	installed=yes
-
-	# Read the .la file
-	# If there is no directory component, then add one.
-	case "$arg" in
-	*/* | *\\*) . $arg ;;
-	*) . ./$arg ;;
-	esac
-
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
-
-	if test -z "$linklib"; then
-	  $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
-	  exit 1
-	fi
-
-	# Find the relevant object directory and library name.
-	name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
-
-	if test "X$installed" = Xyes; then
-	  dir="$libdir"
-	else
-	  dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	  if test "X$dir" = "X$arg"; then
-	    dir="$objdir"
-	  else
-	    dir="$dir/$objdir"
-	  fi
-	fi
-
-	if test -n "$dependency_libs"; then
-	  # Extract -R and -L from dependency_libs
-	  temp_deplibs=
-	  for deplib in $dependency_libs; do
-	    case "$deplib" in
-	    -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
-		 case " $rpath $xrpath " in
-		 *" $temp_xrpath "*) ;;
-		 *) xrpath="$xrpath $temp_xrpath";;
-		 esac;;
-	    -L*) case "$compile_command $temp_deplibs " in
-		 *" $deplib "*) ;;
-		 *) temp_deplibs="$temp_deplibs $deplib";;
-		 esac
-		 temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-		 case " $lib_search_path " in
-		 *" $temp_dir "*) ;;
-		 *) lib_search_path="$lib_search_path $temp_dir";;
-		 esac
-		 ;;
-	    *) temp_deplibs="$temp_deplibs $deplib";;
-	    esac
-	  done
-	  dependency_libs="$temp_deplibs"
-	fi
-
-	if test -z "$libdir"; then
-	  # It is a libtool convenience library, so add in its objects.
-	  convenience="$convenience $dir/$old_library"
-	  old_convenience="$old_convenience $dir/$old_library"
-	  deplibs="$deplibs$dependency_libs"
-	  compile_command="$compile_command $dir/$old_library$dependency_libs"
-	  finalize_command="$finalize_command $dir/$old_library$dependency_libs"
-	  continue
-	fi
-
-	# This library was specified with -dlopen.
-	if test "$prev" = dlfiles; then
-	  dlfiles="$dlfiles $arg"
-	  if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then
-	    # If there is no dlname, no dlopen support or we're linking statically,
-	    # we need to preload.
-	    prev=dlprefiles
-	  else
-	    # We should not create a dependency on this library, but we
-	    # may need any libraries it requires.
-	    compile_command="$compile_command$dependency_libs"
-	    finalize_command="$finalize_command$dependency_libs"
-	    prev=
-	    continue
-	  fi
-	fi
-
-	# The library was specified with -dlpreopen.
-	if test "$prev" = dlprefiles; then
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    dlprefiles="$dlprefiles $dir/$old_library"
-	  else
-	    dlprefiles="$dlprefiles $dir/$linklib"
-	  fi
-	  prev=
-	fi
-
-	if test -n "$library_names" &&
-	   { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
-	  link_against_libtool_libs="$link_against_libtool_libs $arg"
-	  if test -n "$shlibpath_var"; then
-	    # Make sure the rpath contains only unique directories.
-	    case "$temp_rpath " in
-	    *" $dir "*) ;;
-	    *) temp_rpath="$temp_rpath $dir" ;;
-	    esac
-	  fi
-
-	  # We need an absolute path.
-	  case "$dir" in
-	  [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-	  *)
-	    absdir=`cd "$dir" && pwd`
-	    if test -z "$absdir"; then
-	      $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-	      $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-	      absdir="$dir"
-	    fi
-	    ;;
-	  esac
-	  
-	  # This is the magic to use -rpath.
-	  # Skip directories that are in the system default run-time
-	  # search path, unless they have been requested with -R.
-	  case " $sys_lib_dlsearch_path " in
-	  *" $absdir "*) ;;
-	  *)
-	    case "$compile_rpath " in
-	    *" $absdir "*) ;;
-	    *) compile_rpath="$compile_rpath $absdir" 
-	    esac
-	    ;;
-	  esac
-
-	  case " $sys_lib_dlsearch_path " in
-	  *" $libdir "*) ;;
-	  *)
-	    case "$finalize_rpath " in
-	    *" $libdir "*) ;;
-	    *) finalize_rpath="$finalize_rpath $libdir"
-	    esac
-	    ;;
-	  esac
-
-	  lib_linked=yes
-	  case "$hardcode_action" in
-	  immediate | unsupported)
-	    if test "$hardcode_direct" = no; then
-	      compile_command="$compile_command $dir/$linklib"
-	      deplibs="$deplibs $dir/$linklib"
-	      case "$host" in
-	      *-*-cygwin* | *-*-mingw* | *-*-os2*)
-		dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
-		if test -n "$dllsearchpath"; then
-		  dllsearchpath="$dllsearchpath:$dllsearchdir"
-		else
-		  dllsearchpath="$dllsearchdir"
-		fi
-		;;
-	      esac
-	    elif test "$hardcode_minus_L" = no; then
-	      case "$host" in
-	      *-*-sunos*)
-		compile_shlibpath="$compile_shlibpath$dir:"
-		;;
-	      esac
-	      case "$compile_command " in
-	      *" -L$dir "*) ;;
-	      *) compile_command="$compile_command -L$dir";;
-	      esac
-	      compile_command="$compile_command -l$name"
-	      deplibs="$deplibs -L$dir -l$name"
-	    elif test "$hardcode_shlibpath_var" = no; then
-	      case ":$compile_shlibpath:" in
-	      *":$dir:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$dir:";;
-	      esac
-	      compile_command="$compile_command -l$name"
-	      deplibs="$deplibs -l$name"
-	    else
-	      lib_linked=no
-	    fi
-	    ;;
-
-	  relink)
-	    if test "$hardcode_direct" = yes; then
-	      compile_command="$compile_command $absdir/$linklib"
-	      deplibs="$deplibs $absdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      case "$compile_command " in
-	      *" -L$absdir "*) ;;
-	      *) compile_command="$compile_command -L$absdir";;
-	      esac
-	      compile_command="$compile_command -l$name"
-	      deplibs="$deplibs -L$absdir -l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
-	      case ":$compile_shlibpath:" in
-	      *":$absdir:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$absdir:";;
-	      esac
-	      compile_command="$compile_command -l$name"
-	      deplibs="$deplibs -l$name"
-	    else
-	      lib_linked=no
-	    fi
-	    ;;
-
-	  *)
-	    lib_linked=no
-	    ;;
-	  esac
-
-	  if test "$lib_linked" != yes; then
-	    $echo "$modename: configuration error: unsupported hardcode properties"
-	    exit 1
-	  fi
-
-	  # Finalize command for both is simple: just hardcode it.
-	  if test "$hardcode_direct" = yes; then
-	    finalize_command="$finalize_command $libdir/$linklib"
-	  elif test "$hardcode_minus_L" = yes; then
-	    case "$finalize_command " in
-	    *" -L$libdir "*) ;;
-	    *) finalize_command="$finalize_command -L$libdir";;
-	    esac
-	    finalize_command="$finalize_command -l$name"
-	  elif test "$hardcode_shlibpath_var" = yes; then
-	    case ":$finalize_shlibpath:" in
-	    *":$libdir:"*) ;;
-	    *) finalize_shlibpath="$finalize_shlibpath$libdir:";;
-	    esac
-	    finalize_command="$finalize_command -l$name"
-	  else
-	    # We cannot seem to hardcode it, guess we'll fake it.
-	    case "$finalize_command " in
-	    *" -L$dir "*) ;;
-	    *) finalize_command="$finalize_command -L$libdir";;
-	    esac
-	    finalize_command="$finalize_command -l$name"
-	  fi
-	else
-	  # Transform directly to old archives if we don't build new libraries.
-	  if test -n "$pic_flag" && test -z "$old_library"; then
-	    $echo "$modename: cannot find static library for \`$arg'" 1>&2
-	    exit 1
-	  fi
-
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
-	    compile_command="$compile_command $dir/$linklib"
-	    finalize_command="$finalize_command $dir/$linklib"
-	  else
-	    case "$compile_command " in
-	    *" -L$dir "*) ;;
-	    *) compile_command="$compile_command -L$dir";;
-	    esac
-	    compile_command="$compile_command -l$name"
-	    case "$finalize_command " in
-	    *" -L$dir "*) ;;
-	    *) finalize_command="$finalize_command -L$dir";;
-	    esac
-	    finalize_command="$finalize_command -l$name"
-	  fi
-	fi
-
-	# Add in any libraries that this one depends upon.
-	compile_command="$compile_command$dependency_libs"
-	finalize_command="$finalize_command$dependency_libs"
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case "$arg" in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-      esac
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-      fi
-    done
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
-    libobjs_save="$libobjs"
-
-    case "$output" in
-    "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-      ;;
-
-    *.a | *.lib)
-      if test -n "$link_against_libtool_libs"; then
-	$echo "$modename: error: cannot link libtool libraries into archives" 1>&2
-	exit 1
-      fi
-
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      ;;
-
-    *.la)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case "$outputname" in
-      lib*)
-	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	if test "$module" = no; then
-	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-	if test "$need_lib_prefix" != no; then
-	  # Add the "lib" prefix for modules if required
-	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	  eval libname=\"$libname_spec\"
-	else
-	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	fi
-	;;
-      esac
-
-      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$output_objdir" = "X$output"; then
-	output_objdir="$objdir"
-      else
-	output_objdir="$output_objdir/$objdir"
-      fi
-
-      if test -n "$objs"; then
-	$echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
-	exit 1
-      fi
-
-      # How the heck are we supposed to write a wrapper for a shared library?
-      if test -n "$link_against_libtool_libs"; then
-	 $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
-	 exit 1
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
-      fi
-
-      set dummy $rpath
-      if test $# -gt 2; then
-	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
-	  # Building a libtool convenience library.
-	  libext=al
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-	dependency_libs="$deplibs"
-
-	if test -n "$vinfo"; then
-	  $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
-	fi
-
-	if test -n "$release"; then
-	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-	fi
-      else
-
-	# Parse the version information argument.
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
-	set dummy $vinfo 0 0 0
-	IFS="$save_ifs"
-
-	if test -n "$8"; then
-	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-
-	current="$2"
-	revision="$3"
-	age="$4"
-
-	# Check that each of the things are valid numbers.
-	case "$current" in
-	0 | [1-9] | [1-9][0-9]*) ;;
-	*)
-	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	case "$revision" in
-	0 | [1-9] | [1-9][0-9]*) ;;
-	*)
-	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	case "$age" in
-	0 | [1-9] | [1-9][0-9]*) ;;
-	*)
-	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	if test $age -gt $current; then
-	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case "$version_type" in
-	none) ;;
-
-	irix)
-	  major=`expr $current - $age + 1`
-	  versuffix="$major.$revision"
-	  verstring="sgi$major.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test $loop != 0; do
-	    iface=`expr $revision - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="sgi$major.$iface:$verstring"
-	  done
-	  ;;
-
-	linux)
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  ;;
-
-	osf)
-	  major=`expr $current - $age`
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test $loop != 0; do
-	    iface=`expr $current - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring:${iface}.0"
-	  done
-
-	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
-	  ;;
-
-	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
-	  ;;
-
-	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
-	  ;;
-
-	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current";
-	  ;;
-
-	windows)
-	  # Like Linux, but with '-' rather than '.', since we only
-	  # want one extension on Windows 95.
-	  major=`expr $current - $age`
-	  versuffix="-$major-$age-$revision"
-	  ;;
-
-	*)
-	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
-	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  verstring="0.0"
-	  if test "$need_version" = no; then
-	    versuffix=
-	  else
-	    versuffix=".0.0"
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
-	  major=
-	  versuffix=
-	  verstring=""
-	fi
-	
-	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-	    build_libtool_libs=no
-	    build_old_libs=yes
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
-	fi
-
-	dependency_libs="$deplibs"
-	case "$host" in
-	*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
-	  # these systems don't actually have a c library (as such)!
-	  ;;
-        *-*-rhapsody*)
-	  # rhapsody is a little odd...
-	  deplibs="$deplibs -framework System"
-	  ;;
-	*)
-	  # Add libc to deplibs on all other systems.
-	  deplibs="$deplibs -lc"
-	  ;;
-	esac
-      fi
-
-      # Create the output directory, or remove our outputs if we need to.
-      if test -d $output_objdir; then
-	$show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
-	$run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
-      else
-	$show "$mkdir $output_objdir"
-	$run $mkdir $output_objdir
-	status=$?
-	if test $status -ne 0 && test ! -d $output_objdir; then
-	  exit $status
-	fi
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      if test "$build_libtool_libs" = yes; then
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
-	newdeplibs=
-	droppeddeps=no
-	case "$deplibs_check_method" in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behaviour.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $rm conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $rm conftest
-	  $CC -o conftest conftest.c $deplibs
-	  if test $? -eq 0 ; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      name="`expr $i : '-l\(.*\)'`"
-	      # If $name is empty we are operating on a -L argument.
-	      if test "$name" != "" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
-		deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		set dummy $deplib_matches
-		deplib_match=$2
-		if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		  newdeplibs="$newdeplibs $i"
-		else
-		  droppeddeps=yes
-		  echo
-		  echo "*** Warning: This library needs some functionality provided by $i."
-		  echo "*** I have the capability to make that library automatically link in when"
-		  echo "*** you link to this library.  But I can only do this if you have a"
-		  echo "*** shared version of the library, which you do not appear to have."
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  else
-	    # Error occured in the first compile.  Let's try to salvage the situation:
-	    # Compile a seperate program for each library.
-	    for i in $deplibs; do
-	      name="`expr $i : '-l\(.*\)'`"
-	     # If $name is empty we are operating on a -L argument.
-	      if test "$name" != "" ; then
-		$rm conftest
-		$CC -o conftest conftest.c $i
-		# Did it work?
-		if test $? -eq 0 ; then
-		  ldd_output=`ldd conftest`
-		  libname=`eval \\$echo \"$libname_spec\"`
-		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		  set dummy $deplib_matches
-		  deplib_match=$2
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
-		  else
-		    droppeddeps=yes
-		    echo
-		    echo "*** Warning: This library needs some functionality provided by $i."
-		    echo "*** I have the capability to make that library automatically link in when"
-		    echo "*** you link to this library.  But I can only do this if you have a"
-		    echo "*** shared version of the library, which you do not appear to have."
-		  fi
-		else
-		  droppeddeps=yes
-		  echo
-		  echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  echo "***  make it link in!  You will probably need to install it or some"
-		  echo "*** library that it depends on before this library will be fully"
-		  echo "*** functional.  Installing it before continuing would be even better."
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method
-	  file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"
-	  for a_deplib in $deplibs; do
-	    name="`expr $a_deplib : '-l\(.*\)'`"
-	    # If $name is empty we are operating on a -L argument.
-	    if test "$name" != "" ; then
-	      libname=`eval \\$echo \"$libname_spec\"`
-	      for i in $lib_search_path; do
-		    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		    for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null \
-			 | grep " -> " >/dev/null; then
-			continue 
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib="$potent_lib"
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | sed 's/.* -> //'`
-			case "$potliblink" in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-			 | sed 10q \
-			 | egrep "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
-			a_deplib=""
-			break 2
-		      fi
-		    done
-	      done
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		echo
-		echo "*** Warning: This library needs some functionality provided by $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have."
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=""
-	  if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-	       -e 's/ -[LR][^ ]*//g' -e 's/[ 	]//g' |
-	     grep . >/dev/null; then
-	    echo
-	    if test "X$deplibs_check_method" = "Xnone"; then
-	      echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	  fi
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
-	    echo
-	    echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    echo "*** dependencies of module $libname.  Therefore, libtool will create"
-	    echo "*** a static module, that should work as long as the dlopening"
-	    echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      echo
-	      echo "*** However, this would only work if libtool was able to extract symbol"
-	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      echo "*** not find such a program.  So, this module is probably useless."
-	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    echo "*** The inter-library dependencies that have been dropped here will be"
-	    echo "*** automatically added whenever a program is linked with this library"
-	    echo "*** or is declared to -dlopen it."
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-      
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	# Get the real and link names of the library.
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	realname="$2"
-	shift; shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname="$realname"
-	fi
-
-	lib="$output_objdir/$realname"
-	for link
-	do
-	  linknames="$linknames $link"
-	done
-
-	# Ensure that we have .o objects for linkers which dislike .lo
-	# (e.g. aix) in case we are running --disable-static
-	for obj in $libobjs; do
-	  xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-	  if test "X$xdir" = "X$obj"; then
-	    xdir="."
-	  else
-	    xdir="$xdir"
-	  fi
-	  baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-	  oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
-	  if test ! -f $xdir/$oldobj; then
-	    $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
-	    $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
-	  fi
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    eval cmds=\"$export_symbols_cmds\"
-	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      $show "$cmd"
-	      $run eval "$cmd" || exit $?
-	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex"; then
-	      $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-	      $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-	fi
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	  else
-	    gentop="$output_objdir/${outputname}x"
-	    $show "${rm}r $gentop"
-	    $run ${rm}r "$gentop"
-	    $show "mkdir $gentop"
-	    $run mkdir "$gentop"
-	    status=$?
-	    if test $status -ne 0 && test ! -d "$gentop"; then
-	      exit $status
-	    fi
-	    generated="$generated $gentop"
-
-	    for xlib in $convenience; do
-	      # Extract the objects.
-	      case "$xlib" in
-	      [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-	      *) xabs=`pwd`"/$xlib" ;;
-	      esac
-	      xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-	      xdir="$gentop/$xlib"
-
-	      $show "${rm}r $xdir"
-	      $run ${rm}r "$xdir"
-	      $show "mkdir $xdir"
-	      $run mkdir "$xdir"
-	      status=$?
-	      if test $status -ne 0 && test ! -d "$xdir"; then
-		exit $status
-	      fi
-	      $show "(cd $xdir && $AR x $xabs)"
-	      $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-	      libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
-	    done
-	  fi
-	fi
-
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  linkopts="$linkopts $flag"
-	fi
-
-	# Do each of the archive commands.
-	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	  eval cmds=\"$archive_expsym_cmds\"
-	else
-	  eval cmds=\"$archive_cmds\"
-	fi
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
-      fi
-      ;;
-
-    *.lo | *.o | *.obj)
-      if test -n "$link_against_libtool_libs"; then
-	$echo "$modename: error: cannot link libtool libraries into objects" 1>&2
-	exit 1
-      fi
-
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
-
-      case "$output" in
-      *.lo)
-	if test -n "$objs"; then
-	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-	  exit 1
-	fi
-	libobj="$output"
-	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
-	;;
-      *)
-	libobj=
-	obj="$output"
-	;;
-      esac
-
-      # Delete the old objects.
-      $run $rm $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
-      wl= 
-
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
-	else
-	  gentop="$output_objdir/${obj}x"
-	  $show "${rm}r $gentop"
-	  $run ${rm}r "$gentop"
-	  $show "mkdir $gentop"
-	  $run mkdir "$gentop"
-	  status=$?
-	  if test $status -ne 0 && test ! -d "$gentop"; then
-	    exit $status
-	  fi
-	  generated="$generated $gentop"
-
-	  for xlib in $convenience; do
-	    # Extract the objects.
-	    case "$xlib" in
-	    [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-	    *) xabs=`pwd`"/$xlib" ;;
-	    esac
-	    xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-	    xdir="$gentop/$xlib"
-
-	    $show "${rm}r $xdir"
-	    $run ${rm}r "$xdir"
-	    $show "mkdir $xdir"
-	    $run mkdir "$xdir"
-	    status=$?
-	    if test $status -ne 0 && test ! -d "$xdir"; then
-	      exit $status
-	    fi
-	    $show "(cd $xdir && $AR x $xabs)"
-	    $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-	    reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
-	  done
-	fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs"
-
-      output="$obj"
-      eval cmds=\"$reload_cmds\"
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	exit 0
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	$show "echo timestamp > $libobj"
-	$run eval "echo timestamp > $libobj" || exit $?
-	exit 0
-      fi
-
-      if test -n "$pic_flag"; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
-	eval cmds=\"$reload_cmds\"
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
-      else
-	# Just create a symlink.
-	$show $rm $libobj
-	$run $rm $libobj
-	xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
-	if test "X$xdir" = "X$libobj"; then
-	  xdir="."
-	else
-	  xdir="$xdir"
-	fi
-	baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
-	oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
-	$show "(cd $xdir && $LN_S $oldobj $baseobj)"
-	$run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
-      fi
-
-      if test -n "$gentop"; then
-	$show "${rm}r $gentop"
-	$run ${rm}r $gentop
-      fi
-
-      exit 0
-      ;;
-
-    # Anything else should be a program.
-    *)
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
-
-      if test "$preload" = yes; then
-	if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
-	   test "$dlopen_self_static" = unknown; then
-	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-	fi 
-      fi
-    
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$compile_rpath " in
-	  *" $libdir "*) ;;
-	  *) compile_rpath="$compile_rpath $libdir" ;;
-	  esac
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$output_objdir" = "X$output"; then
-	output_objdir="$objdir"
-      else
-	output_objdir="$output_objdir/$objdir"
-      fi
-
-      # Create the binary in the object directory, then wrap it.
-      if test ! -d $output_objdir; then
-	$show "$mkdir $output_objdir"
-	$run $mkdir $output_objdir
-	status=$?
-	if test $status -ne 0 && test ! -d $output_objdir; then
-	  exit $status
-	fi
-      fi
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	  dlsyms="${outputname}S.c"
-	else
-	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-	fi
-      fi
-
-      if test -n "$dlsyms"; then
-	case "$dlsyms" in
-	"") ;;
-	*.c)
-	  # Discover the nlist of each of the dlfiles.
-	  nlist="$output_objdir/${outputname}.nm"
-
-	  $show "$rm $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Parse the name list into a source file.
-	  $show "creating $output_objdir/$dlsyms"
-
-	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-	  if test "$dlself" = yes; then
-	    $show "generating symbol list for \`$output'"
-
-	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-	    # Add our own program objects to the symbol list.
-	    progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	    for arg in $progfiles; do
-	      $show "extracting global C symbols from \`$arg'"
-	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	    done
-
-	    if test -n "$exclude_expsyms"; then
-	      $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-	    
-	    if test -n "$export_symbols_regex"; then
-	      $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    # Prepare the list of exported symbols
-	    if test -z "$export_symbols"; then
-	      export_symbols="$output_objdir/$output.exp"
-	      $run $rm $export_symbols
-	      $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	    else
-	      $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
-	      $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
-	      $run eval 'mv "$nlist"T "$nlist"'
-	    fi
-	  fi
-
-	  for arg in $dlprefiles; do
-	    $show "extracting global C symbols from \`$arg'"
-	    name=`echo "$arg" | sed -e 's%^.*/%%'`
-	    $run eval 'echo ": $name " >> "$nlist"'
-	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -z "$run"; then
-	    # Make sure we have at least an empty file.
-	    test -f "$nlist" || : > "$nlist"
-
-	    if test -n "$exclude_expsyms"; then
-	      egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	      $mv "$nlist"T "$nlist"
-	    fi
-
-	    # Try sorting and uniquifying the output.
-	    if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
-	      :
-	    else
-	      grep -v "^: " < "$nlist" > "$nlist"S
-	    fi
-
-	    if test -f "$nlist"S; then
-	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-	    else
-	      echo '/* NONE */' >> "$output_objdir/$dlsyms"
-	    fi
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-	    sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \
-		-e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \
-		  < "$nlist" >> "$output_objdir/$dlsyms"
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr_t) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	  fi
-
-	  pic_flag_for_symtable=
-	  case "$host" in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
-	    esac;;
-	  *-*-hpux*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DPIC";;
-	    esac
-	  esac
-
-	  # Now compile the dynamic symbol file.
-	  $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-	  $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-	  # Clean up the generated files.
-	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Transform the symbol file into the correct name.
-	  compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-	  finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-	  ;;
-	*)
-	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-	  exit 1
-	  ;;
-	esac
-      else
-	# We keep going just in case the user didn't refer to
-	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-	# really was required.
-
-	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-      fi
-
-      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
-	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	link_command="$compile_command$compile_rpath"
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	$show "$link_command"
-	$run eval "$link_command"
-	status=$?
-	
-	# Delete the generated files.
-	if test -n "$dlsyms"; then
-	  $show "$rm $output_objdir/${outputname}S.${objext}"
-	  $run $rm "$output_objdir/${outputname}S.${objext}"
-	fi
-
-	exit $status
-      fi
-
-      if test -n "$shlibpath_var"; then
-	# We should set the shlibpath_var
-	rpath=
-	for dir in $temp_rpath; do
-	  case "$dir" in
-	  [\\/]* | [A-Za-z]:[\\/]*)
-	    # Absolute path.
-	    rpath="$rpath$dir:"
-	    ;;
-	  *)
-	    # Relative path: add a thisdir entry.
-	    rpath="$rpath\$thisdir/$dir:"
-	    ;;
-	  esac
-	done
-	temp_rpath="$rpath"
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-	
-	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-	$echo "$modename: \`$output' will be relinked during installation" 1>&2
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-      
-      # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
-
-      # Now create the wrapper script.
-      $show "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
-	case "$0" in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$0 --fallback-echo";;
-	esac
-	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
-	esac
-	$rm $output
-	trap "$rm $output; exit 1" 1 2 15
-
-	$echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  link_against_libtool_libs='$link_against_libtool_libs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-	$echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  echo >> $output "\
-  program=lt-'$outputname'
-  progdir=\"\$thisdir/$objdir\"
-  
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-	  echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if (cd \"\$thisdir\" && eval \$relink_command); then :
-      else
-	$rm \"\$progdir/\$file\"
-	exit 1
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-	else
-	  echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	$echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-	case $host in
-	  # win32 systems need to use the prog path for dll
-	  # lookup to work
-	*-*-cygwin*)
-	  $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
-"
-	  ;;
-
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2*)
-	  $echo >> $output "\
-      exec \$progdir\\\\\$program \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $echo >> $output "\
-      # Export the path to the program.
-      PATH=\"\$progdir:\$PATH\"
-      export PATH
-
-      exec \$program \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
-      exit 1
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-	chmod +x $output
-      fi
-      exit 0
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
-	  build_libtool_libs=no
-	else
-	  oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
-	fi
-	addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
-	$show "${rm}r $gentop"
-	$run ${rm}r "$gentop"
-	$show "mkdir $gentop"
-	$run mkdir "$gentop"
-	status=$?
-	if test $status -ne 0 && test ! -d "$gentop"; then
-	  exit $status
-	fi
-	generated="$generated $gentop"
-	  
-	# Add in members from convenience archives.
-	for xlib in $addlibs; do
-	  # Extract the objects.
-	  case "$xlib" in
-	  [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-	  *) xabs=`pwd`"/$xlib" ;;
-	  esac
-	  xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-	  xdir="$gentop/$xlib"
-
-	  $show "${rm}r $xdir"
-	  $run ${rm}r "$xdir"
-	  $show "mkdir $xdir"
-	  $run mkdir "$xdir"
-	  status=$?
-	  if test $status -ne 0 && test ! -d "$xdir"; then
-	    exit $status
-	  fi
-	  $show "(cd $xdir && $AR x $xabs)"
-	  $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-	  oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
-	done
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-	eval cmds=\"$old_archive_from_new_cmds\"
-      else
-	# Ensure that we have .o objects in place in case we decided
-	# not to build a shared library, and have fallen back to building
-	# static libs even though --disable-static was passed!
-	for oldobj in $oldobjs; do
-	  if test ! -f $oldobj; then
-	    xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
-	    if test "X$xdir" = "X$oldobj"; then
-	      xdir="."
-	    else
-	      xdir="$xdir"
-	    fi
-	    baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
-	    obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
-	    $show "(cd $xdir && ${LN_S} $obj $baseobj)"
-	    $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
-	  fi
-	done
-
-	eval cmds=\"$old_archive_cmds\"
-      fi
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
-
-    # Now create the libtool archive.
-    case "$output" in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
-
-      if test -n "$xrpath"; then
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
-	done
-	dependency_libs="$temp_xrpath $dependency_libs"
-      fi
-
-      # Only create the output if not a dry run.
-      if test -z "$run"; then
-	for installed in no yes; do
-	  if test "$installed" = yes; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output="$output_objdir/$outputname"i
-	  fi
-	  $rm $output
-	  $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$dlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'\
-"
-	done
-      fi
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?
-      ;;
-    esac
-    exit 0
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case "$arg" in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg="$nonopt"
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case "$arg" in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest="$arg"
-	continue
-      fi
-
-      case "$arg" in
-      -d) isdir=yes ;;
-      -f) prev="-f" ;;
-      -g) prev="-g" ;;
-      -m) prev="-m" ;;
-      -o) prev="-o" ;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*) ;;
-
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest="$arg"
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case "$arg" in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	$echo "$modename: no file or destination specified" 1>&2
-      else
-	$echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test $# -gt 2; then
-	$echo "$modename: \`$dest' is not a directory" 1>&2
-	$echo "$help" 1>&2
-	exit 1
-      fi
-    fi
-    case "$destdir" in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case "$file" in
-	*.lo) ;;
-	*)
-	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case "$file" in
-      *.a | *.lib)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-
-	library_names=
-	old_library=
-	# If there is no directory component, then add one.
-	case "$file" in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
-	test "X$dir" = "X$file/" && dir=
-	dir="$dir$objdir"
-
-	# See the names of the shared library.
-	set dummy $library_names
-	if test -n "$2"; then
-	  realname="$2"
-	  shift
-	  shift
-
-	  # Install the shared library and build the symlinks.
-	  $show "$install_prog $dir/$realname $destdir/$realname"
-	  $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
-
-	  if test $# -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    for linkname
-	    do
-	      if test "$linkname" != "$realname"; then
-		$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-		$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-	      fi
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  eval cmds=\"$postinstall_cmds\"
-	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || exit $?
-	  done
-	  IFS="$save_ifs"
-	fi
-
-	# Install the pseudo-library for information purposes.
-	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	instname="$dir/$name"i
-	$show "$install_prog $instname $destdir/$name"
-	$run eval "$install_prog $instname $destdir/$name" || exit $?
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case "$destfile" in
-	*.lo)
-	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-	  ;;
-	*.o | *.obj)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	if test -n "$destfile"; then
-	  $show "$install_prog $file $destfile"
-	  $run eval "$install_prog $file $destfile" || exit $?
-	fi
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-	  $show "$install_prog $staticobj $staticdest"
-	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-	fi
-	exit 0
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Do a test to see if this is really a libtool program.
-	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  link_against_libtool_libs=
-	  relink_command=
-
-	  # If there is no directory component, then add one.
-	  case "$file" in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Check the variables that should have been set.
-	  if test -z "$link_against_libtool_libs"; then
-	    $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
-	    exit 1
-	  fi
-
-	  finalize=yes
-	  for lib in $link_against_libtool_libs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      # If there is no directory component, then add one.
-	      case "$lib" in
-	      */* | *\\*) . $lib ;;
-	      *) . ./$lib ;;
-	      esac
-	    fi
-	    libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-	      finalize=no
-	    fi
-	  done
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    if test "$finalize" = yes && test -z "$run"; then
-	      tmpdir="/tmp"
-	      test -n "$TMPDIR" && tmpdir="$TMPDIR"
-	      tmpdir="$tmpdir/libtool-$$"
-	      if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
-	      else
-		$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
-		continue
-	      fi
-	      outputname="$tmpdir/$file"
-	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
-	      $show "$relink_command"
-	      if $run eval "$relink_command"; then :
-	      else
-		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-		${rm}r "$tmpdir"
-		continue
-	      fi
-	      file="$outputname"
-	    else
-	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
-	    fi
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	$show "$install_prog$stripme $file $destfile"
-	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-	test -n "$outputname" && ${rm}r "$tmpdir"
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      # Do each command in the postinstall commands.
-      eval cmds=\"$old_postinstall_cmds\"
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec $SHELL $0 --finish$current_libdirs
-      exit 1
-    fi
-
-    exit 0
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  eval cmds=\"$finish_cmds\"
-	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-	  done
-	  IFS="$save_ifs"
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = : && exit 0
-
-    echo "----------------------------------------------------------------------"
-    echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      echo "   $libdir"
-    done
-    echo
-    echo "If you ever happen to want to link against installed libraries"
-    echo "in a given directory, LIBDIR, you must either use libtool, and"
-    echo "specify the full pathname of the library, or use \`-LLIBDIR'"
-    echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    echo
-    echo "See any operating system documentation about shared libraries for"
-    echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    echo "----------------------------------------------------------------------"
-    exit 0
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit 1
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-	$echo "$modename: \`$file' is not a file" 1>&2
-	$echo "$help" 1>&2
-	exit 1
-      fi
-
-      dir=
-      case "$file" in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-
-	# If there is no directory component, then add one.
-	case "$file" in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-	  exit 1
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-	;;
-
-      *)
-	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case "$file" in
-      -*) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  # If there is no directory component, then add one.
-	  case "$file" in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-        # Export the shlibpath_var.
-        eval "export $shlibpath_var"
-      fi
-
-      # Restore saved enviroment variables
-      if test "${save_LC_ALL+set}" = set; then
-	LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-	LANG="$save_LANG"; export LANG
-      fi
-
-      # Now actually exec the command.
-      eval "exec \$cmd$args"
-
-      $echo "$modename: cannot exec \$cmd$args"
-      exit 1
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-        eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-        $echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit 0
-    fi
-    ;;
-
-  # libtool uninstall mode
-  uninstall)
-    modename="$modename: uninstall"
-    rm="$nonopt"
-    files=
-
-    for arg
-    do
-      case "$arg" in
-      -*) rm="$rm $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$dir" = "X$file" && dir=.
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      rmfiles="$file"
-
-      case "$name" in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  . $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $dir/$n"
-	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
-
-	  $show "$rm $rmfiles"
-	  $run $rm $rmfiles
-
-	  if test -n "$library_names"; then
-	    # Do each command in the postuninstall commands.
-	    eval cmds=\"$postuninstall_cmds\"
-	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      $show "$cmd"
-	      $run eval "$cmd"
-	    done
-	    IFS="$save_ifs"
-	  fi
-
-	  if test -n "$old_library"; then
-	    # Do each command in the old_postuninstall commands.
-	    eval cmds=\"$old_postuninstall_cmds\"
-	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      $show "$cmd"
-	      $run eval "$cmd"
-	    done
-	    IFS="$save_ifs"
-	  fi
-
-	  # FIXME: should reinstall the best remaining shared library.
-	fi
-	;;
-
-      *.lo)
-	if test "$build_old_libs" = yes; then
-	  oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
-	  rmfiles="$rmfiles $dir/$oldobj"
-	fi
-	$show "$rm $rmfiles"
-	$run $rm $rmfiles
-	;;
-
-      *)
-	$show "$rm $rmfiles"
-	$run $rm $rmfiles
-	;;
-      esac
-    done
-    exit 0
-    ;;
-
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit 1
-    ;;
-  esac
-
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$generic_help" 1>&2
-  exit 1
-fi # test -z "$show_help"
-
-# We need to display help for each of the modes.
-case "$mode" in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --version         print version information
-
-MODE must be one of the following:
-
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE."
-  exit 0
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-		    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-		    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-		    specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit 1
-  ;;
-esac
-
-echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
--- a/common/libsndfile/missing
+++ /dev/null
@@ -1,188 +1,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-case "$1" in
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing - GNU libit 0.0"
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-  aclocal)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acinclude.m4' or \`configure.in'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`configure.in'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acconfig.h' or \`configure.in'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
-    if test -z "$files"; then
-      files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
-      test -z "$files" || files="$files.in"
-    else
-      files=`echo "$files" | sed -e 's/:/ /g'`
-    fi
-    test -z "$files" && files="config.h.in"
-    touch $files
-    ;;
-
-  automake)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print \
-      | sed 's/^\(.*\).am$/touch \1.in/' \
-      | sh
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f y.tab.h ]; then
-	echo >y.tab.h
-    fi
-    if [ ! -f y.tab.c ]; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f lex.yy.c ]; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  makeinfo)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
-    fi
-    touch $file
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequirements for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
--- a/common/libsndfile/mkinstalldirs
+++ /dev/null
@@ -1,40 +1,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.2 2002/02/13 12:42:00 menno Exp $
-
-errstatus=0
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-        echo "mkdir $pathcomp" 1>&2
-
-        mkdir "$pathcomp" || lasterr=$?
-
-        if test ! -d "$pathcomp"; then
-  	  errstatus=$lasterr
-        fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
--- a/common/libsndfile/reconf
+++ /dev/null
@@ -1,15 +1,0 @@
-#!/bin/sh
-
-rm -f config.cache
-
-if [ -d m4 ]; then
-	echo "Looking in m4 directory."
-	aclocal -I m4
-else
-	aclocal
-	fi
-	
-autoconf
-autoheader
-automake -a
-exit
--- a/common/libsndfile/src/G72x/ChangeLog
+++ /dev/null
@@ -1,50 +1,0 @@
-2001-06-05  Erik de Castro Lopo  <erikd@zip.com.au>
-
-	* g72x.c
-	Added {} in function update () to prevent 'ambiguous else' warning messages.
-
-2000-07-14  Erik de Castro Lopo  <erikd@zip.com.au>
-
-	* g72x.c
-	Modified g72x_init_state () to fit in with the new structure of the code.
-	Implemented g72x_encode_block () and g72x_decode_block ().
-
-2000-07-12  Erik de Castro Lopo  <erikd@zip.com.au>
-
-    * g72x.h
-    Moved nearly all definitions and function prototypes from this file have been 
-    moved to private.h.
-    Added an enum defining the 4 different G72x ADPCM codecs.
-    Added new function prototypes to define a cleaner interface to the encoder 
-    and decoder. This new interface also allows samples to be processed in blocks
-    rather than on a sample by sample basis like the original code.
-    
-    * private.h
-    Added prototypes moved from g72x.h.
-    Changed struct g72x_state to a typedef struct { .. } G72x_PRIVATE.
-    Added fields to G72x_PRIVATE required for working on blocks of samples.
-
-2000-06-07  Erik de Castro Lopo  <erikd@zip.com.au>
-
-    * g72x.c
-    Fixed all compiler warnings.
-    Removed functions tandem_adjust() which is not required by libsndfile.
-    
-    * g721.c
-    Fixed all compiler warnings.
-    Removed functions tandem_adjust_alaw() and tandem_adjust_ulaw () which are not 
-    required by libsndfile.
-    Removed second parameter to g721_encoder () which is not required.
-
-    * g72x.h
-    Removed in_coding and out_coding parameters from all functions. These allowed
-    g72x encoding/decoding to/from A-law or u-law and are not required by libsndfile.
-    Removed unneeded defines for A-law, u-law and linear encoding.
-
-    * g723_16.c
-    Removed second parameter (in_coding) for g723_16_encoder().    
-    Removed second parameter (out_coding) for g723_16_decoder().
-    
-    * private.h
-    New file containing prototypes and tyepdefs private to G72x code.
-    
--- a/common/libsndfile/src/G72x/Makefile.am
+++ /dev/null
@@ -1,14 +1,0 @@
-# This file was automatically generated
-# DO NOT EDIT!
-
-EXTRA_DIST = README README.original ChangeLog
-
-noinst_HEADERS = g72x.h private.h
-noinst_LTLIBRARIES = libg72x.la
-
-CFILES = g72x.c g721.c g723_16.c g723_24.c g723_40.c
-
-libg72x_la_SOURCES = $(CFILES) $(noinst_HEADERS)
-
-# Disable autoheader. 
-AUTOHEADER=echo
--- a/common/libsndfile/src/G72x/Makefile.in
+++ /dev/null
@@ -1,310 +1,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# This file was automatically generated
-# DO NOT EDIT!
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-DLLTOOL = @DLLTOOL@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
-VERSION = @VERSION@
-subdirs = @subdirs@
-
-EXTRA_DIST = README README.original ChangeLog
-
-noinst_HEADERS = g72x.h private.h
-noinst_LTLIBRARIES = libg72x.la
-
-CFILES = g72x.c g721.c g723_16.c g723_24.c g723_40.c
-
-libg72x_la_SOURCES = $(CFILES) $(noinst_HEADERS)
-
-# Disable autoheader. 
-AUTOHEADER = echo
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../src/config.h
-CONFIG_CLEAN_FILES = 
-LTLIBRARIES =  $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../src
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libg72x_la_LDFLAGS = 
-libg72x_la_LIBADD = 
-libg72x_la_OBJECTS =  g72x.lo g721.lo g723_16.lo g723_24.lo g723_40.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-HEADERS =  $(noinst_HEADERS)
-
-DIST_COMMON =  README ChangeLog Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-SOURCES = $(libg72x_la_SOURCES)
-OBJECTS = $(libg72x_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/G72x/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
-	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libg72x.la: $(libg72x_la_OBJECTS) $(libg72x_la_DEPENDENCIES)
-	$(LINK)  $(libg72x_la_LDFLAGS) $(libg72x_la_OBJECTS) $(libg72x_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/G72x
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-g721.lo g721.o : g721.c g72x.h private.h
-g723_16.lo g723_16.o : g723_16.c g72x.h private.h
-g723_24.lo g723_24.o : g723_24.c g72x.h private.h
-g723_40.lo g723_40.o : g723_40.c g72x.h private.h
-g72x.lo g72x.o : g72x.c g72x.h private.h
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
-		mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-noinstLTLIBRARIES clean-compile clean-libtool \
-		clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-noinstLTLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-noinstLTLIBRARIES \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/common/libsndfile/src/G72x/README.original
+++ /dev/null
@@ -1,94 +1,0 @@
-The files in this directory comprise ANSI-C language reference implementations
-of the CCITT (International Telegraph and Telephone Consultative Committee)
-G.711, G.721 and G.723 voice compressions.  They have been tested on Sun
-SPARCstations and passed 82 out of 84 test vectors published by CCITT
-(Dec. 20, 1988) for G.721 and G.723.  [The two remaining test vectors,
-which the G.721 decoder implementation for u-law samples did not pass,
-may be in error because they are identical to two other vectors for G.723_40.]
-
-This source code is released by Sun Microsystems, Inc. to the public domain.
-Please give your acknowledgement in product literature if this code is used
-in your product implementation.
-
-Sun Microsystems supports some CCITT audio formats in Solaris 2.0 system
-software.  However, Sun's implementations have been optimized for higher
-performance on SPARCstations.
-
-
-The source files for CCITT conversion routines in this directory are:
-
-	g72x.h		header file for g721.c, g723_24.c and g723_40.c
-	g711.c		CCITT G.711 u-law and A-law compression
-	g72x.c		common denominator of G.721 and G.723 ADPCM codes
-	g721.c		CCITT G.721 32Kbps ADPCM coder (with g72x.c)
-	g723_24.c	CCITT G.723 24Kbps ADPCM coder (with g72x.c)
-	g723_40.c	CCITT G.723 40Kbps ADPCM coder (with g72x.c)
-
-
-Simple conversions between u-law, A-law, and 16-bit linear PCM are invoked
-as follows:
-
-	unsigned char		ucode, acode;
-	short			pcm_val;
-
-	ucode = linear2ulaw(pcm_val);
-	ucode = alaw2ulaw(acode);
-
-	acode = linear2alaw(pcm_val);
-	acode = ulaw2alaw(ucode);
-
-	pcm_val = ulaw2linear(ucode);
-	pcm_val = alaw2linear(acode);
-
-
-The other CCITT compression routines are invoked as follows:
-
-	#include "g72x.h"
-
-	struct g72x_state	state;
-	int			sample, code;
-
-	g72x_init_state(&state);
-	code = {g721,g723_24,g723_40}_encoder(sample, coding, &state);
-	sample = {g721,g723_24,g723_40}_decoder(code, coding, &state);
-
-where
-	coding = AUDIO_ENCODING_ULAW	for 8-bit u-law samples
-		 AUDIO_ENCODING_ALAW	for 8-bit A-law samples
-		 AUDIO_ENCODING_LINEAR	for 16-bit linear PCM samples
-
-
-
-This directory also includes the following sample programs:
-
-	encode.c	CCITT ADPCM encoder
-	decode.c	CCITT ADPCM decoder
-	Makefile	makefile for the sample programs
-
-
-The sample programs contain examples of how to call the various compression
-routines and pack/unpack the bits.  The sample programs read byte streams from
-stdin and write to stdout.  The input/output data is raw data (no file header
-or other identifying information is embedded).  The sample programs are
-invoked as follows:
-
-	encode [-3|4|5] [-a|u|l] <infile >outfile
-	decode [-3|4|5] [-a|u|l] <infile >outfile
-where:
-	-3	encode to (decode from) G.723 24kbps (3-bit) data
-	-4	encode to (decode from) G.721 32kbps (4-bit) data [the default]
-	-5	encode to (decode from) G.723 40kbps (5-bit) data
-	-a	encode from (decode to) A-law data
-	-u	encode from (decode to) u-law data [the default]
-	-l	encode from (decode to) 16-bit linear data
-
-Examples:
-	# Read 16-bit linear and output G.721
-	encode -4 -l <pcmfile >g721file
-
-	# Read 40Kbps G.723 and output A-law
-	decode -5 -a <g723file >alawfile
-
-	# Compress and then decompress u-law data using 24Kbps G.723
-	encode -3 <ulawin | deoced -3 >ulawout
-
--- a/common/libsndfile/src/G72x/g721.c
+++ /dev/null
@@ -1,154 +1,0 @@
-/*
- * This source code is a product of Sun Microsystems, Inc. and is provided
- * for unrestricted use.  Users may copy or modify this source code without
- * charge.
- *
- * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
- * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun source code is provided with no support and without any obligation on
- * the part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * g721.c
- *
- * Description:
- *
- * g721_encoder(), g721_decoder()
- *
- * These routines comprise an implementation of the CCITT G.721 ADPCM
- * coding algorithm.  Essentially, this implementation is identical to
- * the bit level description except for a few deviations which
- * take advantage of work station attributes, such as hardware 2's
- * complement arithmetic and large memory.  Specifically, certain time
- * consuming operations such as multiplications are replaced
- * with lookup tables and software 2's complement operations are
- * replaced with hardware 2's complement.
- *
- * The deviation from the bit level specification (lookup tables)
- * preserves the bit level performance specifications.
- *
- * As outlined in the G.721 Recommendation, the algorithm is broken
- * down into modules.  Each section of code below is preceded by
- * the name of the module which it is implementing.
- *
- */
-
-#include "g72x.h"
-#include "private.h"
-
-static short qtab_721[7] = {-124, 80, 178, 246, 300, 349, 400};
-/*
- * Maps G.721 code word to reconstructed scale factor normalized log
- * magnitude values.
- */
-static short	_dqlntab[16] = {-2048, 4, 135, 213, 273, 323, 373, 425,
-				425, 373, 323, 273, 213, 135, 4, -2048};
-
-/* Maps G.721 code word to log of scale factor multiplier. */
-static short	_witab[16] = {-12, 18, 41, 64, 112, 198, 355, 1122,
-				1122, 355, 198, 112, 64, 41, 18, -12};
-/*
- * Maps G.721 code words to a set of values whose long and short
- * term averages are computed and then compared to give an indication
- * how stationary (steady state) the signal is.
- */
-static short	_fitab[16] = {0, 0, 0, 0x200, 0x200, 0x200, 0x600, 0xE00,
-				0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0};
-
-/*
- * g721_encoder()
- *
- * Encodes the input vale of linear PCM, A-law or u-law data sl and returns
- * the resulting code. -1 is returned for unknown input coding value.
- */
-int
-g721_encoder(
-	int		sl,
-	G72x_STATE *state_ptr)
-{
-	short		sezi, se, sez;		/* ACCUM */
-	short		d;			/* SUBTA */
-	short		sr;			/* ADDB */
-	short		y;			/* MIX */
-	short		dqsez;			/* ADDC */
-	short		dq, i;
-
-	/* linearize input sample to 14-bit PCM */
-	sl >>= 2;			/* 14-bit dynamic range */
-
-	sezi = predictor_zero(state_ptr);
-	sez = sezi >> 1;
-	se = (sezi + predictor_pole(state_ptr)) >> 1;	/* estimated signal */
-
-	d = sl - se;				/* estimation difference */
-
-	/* quantize the prediction difference */
-	y = step_size(state_ptr);		/* quantizer step size */
-	i = quantize(d, y, qtab_721, 7);	/* i = ADPCM code */
-
-	dq = reconstruct(i & 8, _dqlntab[i], y);	/* quantized est diff */
-
-	sr = (dq < 0) ? se - (dq & 0x3FFF) : se + dq;	/* reconst. signal */
-
-	dqsez = sr + sez - se;			/* pole prediction diff. */
-
-	update(4, y, _witab[i] << 5, _fitab[i], dq, sr, dqsez, state_ptr);
-
-	return (i);
-}
-
-/*
- * g721_decoder()
- *
- * Description:
- *
- * Decodes a 4-bit code of G.721 encoded data of i and
- * returns the resulting linear PCM, A-law or u-law value.
- * return -1 for unknown out_coding value.
- */
-int
-g721_decoder(
-	int		i,
-	G72x_STATE *state_ptr)
-{
-	short		sezi, sei, sez, se;	/* ACCUM */
-	short		y;			/* MIX */
-	short		sr;			/* ADDB */
-	short		dq;
-	short		dqsez;
-
-	i &= 0x0f;			/* mask to get proper bits */
-	sezi = predictor_zero(state_ptr);
-	sez = sezi >> 1;
-	sei = sezi + predictor_pole(state_ptr);
-	se = sei >> 1;			/* se = estimated signal */
-
-	y = step_size(state_ptr);	/* dynamic quantizer step size */
-
-	dq = reconstruct(i & 0x08, _dqlntab[i], y); /* quantized diff. */
-
-	sr = (dq < 0) ? (se - (dq & 0x3FFF)) : se + dq;	/* reconst. signal */
-
-	dqsez = sr - se + sez;			/* pole prediction diff. */
-
-	update(4, y, _witab[i] << 5, _fitab[i], dq, sr, dqsez, state_ptr);
-
-	/* sr was 14-bit dynamic range */
-	return (sr << 2);	
-}
--- a/common/libsndfile/src/G72x/g723_16.c
+++ /dev/null
@@ -1,161 +1,0 @@
-/*
- * This source code is a product of Sun Microsystems, Inc. and is provided
- * for unrestricted use.  Users may copy or modify this source code without
- * charge.
- *
- * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
- * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun source code is provided with no support and without any obligation on
- * the part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-/* 16kbps version created, used 24kbps code and changing as little as possible.
- * G.726 specs are available from ITU's gopher or WWW site (http://www.itu.ch)
- * If any errors are found, please contact me at mrand@tamu.edu
- *      -Marc Randolph
- */
-
-/*
- * g723_16.c
- *
- * Description:
- *
- * g723_16_encoder(), g723_16_decoder()
- *
- * These routines comprise an implementation of the CCITT G.726 16 Kbps
- * ADPCM coding algorithm.  Essentially, this implementation is identical to
- * the bit level description except for a few deviations which take advantage
- * of workstation attributes, such as hardware 2's complement arithmetic.
- *
- */
-
-#include "g72x.h"
-#include "private.h"
-
-/*
- * Maps G.723_16 code word to reconstructed scale factor normalized log
- * magnitude values.  Comes from Table 11/G.726
- */
-static short   _dqlntab[4] = { 116, 365, 365, 116}; 
-
-/* Maps G.723_16 code word to log of scale factor multiplier.
- *
- * _witab[4] is actually {-22 , 439, 439, -22}, but FILTD wants it
- * as WI << 5  (multiplied by 32), so we'll do that here 
- */
-static short   _witab[4] = {-704, 14048, 14048, -704};
-
-/*
- * Maps G.723_16 code words to a set of values whose long and short
- * term averages are computed and then compared to give an indication
- * how stationary (steady state) the signal is.
- */
-
-/* Comes from FUNCTF */
-static short   _fitab[4] = {0, 0xE00, 0xE00, 0};
-
-/* Comes from quantizer decision level tables (Table 7/G.726)
- */
-static short qtab_723_16[1] = {261};
-
-
-/*
- * g723_16_encoder()
- *
- * Encodes a linear PCM, A-law or u-law input sample and returns its 2-bit code.
- * Returns -1 if invalid input coding value.
- */
-int
-g723_16_encoder(
-       int             sl,
-       G72x_STATE *state_ptr)
-{
-       short           sei, sezi, se, sez;     /* ACCUM */
-       short           d;                      /* SUBTA */
-       short           y;                      /* MIX */
-       short           sr;                     /* ADDB */
-       short           dqsez;                  /* ADDC */
-       short           dq, i;
-
-		/* linearize input sample to 14-bit PCM */
-		sl >>= 2;               /* sl of 14-bit dynamic range */
-
-       sezi = predictor_zero(state_ptr);
-       sez = sezi >> 1;
-       sei = sezi + predictor_pole(state_ptr);
-       se = sei >> 1;                  /* se = estimated signal */
-
-       d = sl - se;                    /* d = estimation diff. */
-
-       /* quantize prediction difference d */
-       y = step_size(state_ptr);       /* quantizer step size */
-       i = quantize(d, y, qtab_723_16, 1);  /* i = ADPCM code */
-
-             /* Since quantize() only produces a three level output
-              * (1, 2, or 3), we must create the fourth one on our own
-              */
-       if (i == 3)                          /* i code for the zero region */
-         if ((d & 0x8000) == 0)             /* If d > 0, i=3 isn't right... */
-           i = 0;
-           
-       dq = reconstruct(i & 2, _dqlntab[i], y); /* quantized diff. */
-
-       sr = (dq < 0) ? se - (dq & 0x3FFF) : se + dq; /* reconstructed signal */
-
-       dqsez = sr + sez - se;          /* pole prediction diff. */
-
-       update(2, y, _witab[i], _fitab[i], dq, sr, dqsez, state_ptr);
-
-       return (i);
-}
-
-/*
- * g723_16_decoder()
- *
- * Decodes a 2-bit CCITT G.723_16 ADPCM code and returns
- * the resulting 16-bit linear PCM, A-law or u-law sample value.
- * -1 is returned if the output coding is unknown.
- */
-int
-g723_16_decoder(
-       int             i,
-       G72x_STATE *state_ptr)
-{
-       short           sezi, sei, sez, se;     /* ACCUM */
-       short           y;                      /* MIX */
-       short           sr;                     /* ADDB */
-       short           dq;
-       short           dqsez;
-
-       i &= 0x03;                      /* mask to get proper bits */
-       sezi = predictor_zero(state_ptr);
-       sez = sezi >> 1;
-       sei = sezi + predictor_pole(state_ptr);
-       se = sei >> 1;                  /* se = estimated signal */
-
-       y = step_size(state_ptr);       /* adaptive quantizer step size */
-       dq = reconstruct(i & 0x02, _dqlntab[i], y); /* unquantize pred diff */
-
-       sr = (dq < 0) ? (se - (dq & 0x3FFF)) : (se + dq); /* reconst. signal */
-
-       dqsez = sr - se + sez;                  /* pole prediction diff. */
-
-       update(2, y, _witab[i], _fitab[i], dq, sr, dqsez, state_ptr);
-
-		/* sr was of 14-bit dynamic range */
-		return (sr << 2);       
-}
--- a/common/libsndfile/src/G72x/g723_24.c
+++ /dev/null
@@ -1,138 +1,0 @@
-/*
- * This source code is a product of Sun Microsystems, Inc. and is provided
- * for unrestricted use.  Users may copy or modify this source code without
- * charge.
- *
- * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
- * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun source code is provided with no support and without any obligation on
- * the part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * g723_24.c
- *
- * Description:
- *
- * g723_24_encoder(), g723_24_decoder()
- *
- * These routines comprise an implementation of the CCITT G.723 24 Kbps
- * ADPCM coding algorithm.  Essentially, this implementation is identical to
- * the bit level description except for a few deviations which take advantage
- * of workstation attributes, such as hardware 2's complement arithmetic.
- *
- */
-
-#include "g72x.h"
-#include "private.h"
-
-/*
- * Maps G.723_24 code word to reconstructed scale factor normalized log
- * magnitude values.
- */
-static short	_dqlntab[8] = {-2048, 135, 273, 373, 373, 273, 135, -2048};
-
-/* Maps G.723_24 code word to log of scale factor multiplier. */
-static short	_witab[8] = {-128, 960, 4384, 18624, 18624, 4384, 960, -128};
-
-/*
- * Maps G.723_24 code words to a set of values whose long and short
- * term averages are computed and then compared to give an indication
- * how stationary (steady state) the signal is.
- */
-static short	_fitab[8] = {0, 0x200, 0x400, 0xE00, 0xE00, 0x400, 0x200, 0};
-
-static short qtab_723_24[3] = {8, 218, 331};
-
-/*
- * g723_24_encoder()
- *
- * Encodes a linear PCM, A-law or u-law input sample and returns its 3-bit code.
- * Returns -1 if invalid input coding value.
- */
-int
-g723_24_encoder(
-	int		sl,
-	G72x_STATE *state_ptr)
-{
-	short		sei, sezi, se, sez;	/* ACCUM */
-	short		d;			/* SUBTA */
-	short		y;			/* MIX */
-	short		sr;			/* ADDB */
-	short		dqsez;			/* ADDC */
-	short		dq, i;
-
-	/* linearize input sample to 14-bit PCM */
-	sl >>= 2;		/* sl of 14-bit dynamic range */
-
-	sezi = predictor_zero(state_ptr);
-	sez = sezi >> 1;
-	sei = sezi + predictor_pole(state_ptr);
-	se = sei >> 1;			/* se = estimated signal */
-
-	d = sl - se;			/* d = estimation diff. */
-
-	/* quantize prediction difference d */
-	y = step_size(state_ptr);	/* quantizer step size */
-	i = quantize(d, y, qtab_723_24, 3);	/* i = ADPCM code */
-	dq = reconstruct(i & 4, _dqlntab[i], y); /* quantized diff. */
-
-	sr = (dq < 0) ? se - (dq & 0x3FFF) : se + dq; /* reconstructed signal */
-
-	dqsez = sr + sez - se;		/* pole prediction diff. */
-
-	update(3, y, _witab[i], _fitab[i], dq, sr, dqsez, state_ptr);
-
-	return (i);
-}
-
-/*
- * g723_24_decoder()
- *
- * Decodes a 3-bit CCITT G.723_24 ADPCM code and returns
- * the resulting 16-bit linear PCM, A-law or u-law sample value.
- * -1 is returned if the output coding is unknown.
- */
-int
-g723_24_decoder(
-	int		i,
-	G72x_STATE *state_ptr)
-{
-	short		sezi, sei, sez, se;	/* ACCUM */
-	short		y;			/* MIX */
-	short		sr;			/* ADDB */
-	short		dq;
-	short		dqsez;
-
-	i &= 0x07;			/* mask to get proper bits */
-	sezi = predictor_zero(state_ptr);
-	sez = sezi >> 1;
-	sei = sezi + predictor_pole(state_ptr);
-	se = sei >> 1;			/* se = estimated signal */
-
-	y = step_size(state_ptr);	/* adaptive quantizer step size */
-	dq = reconstruct(i & 0x04, _dqlntab[i], y); /* unquantize pred diff */
-
-	sr = (dq < 0) ? (se - (dq & 0x3FFF)) : (se + dq); /* reconst. signal */
-
-	dqsez = sr - se + sez;			/* pole prediction diff. */
-
-	update(3, y, _witab[i], _fitab[i], dq, sr, dqsez, state_ptr);
-
-	return (sr << 2);	/* sr was of 14-bit dynamic range */
-}
--- a/common/libsndfile/src/G72x/g723_40.c
+++ /dev/null
@@ -1,152 +1,0 @@
-/*
- * This source code is a product of Sun Microsystems, Inc. and is provided
- * for unrestricted use.  Users may copy or modify this source code without
- * charge.
- *
- * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
- * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun source code is provided with no support and without any obligation on
- * the part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * g723_40.c
- *
- * Description:
- *
- * g723_40_encoder(), g723_40_decoder()
- *
- * These routines comprise an implementation of the CCITT G.723 40Kbps
- * ADPCM coding algorithm.  Essentially, this implementation is identical to
- * the bit level description except for a few deviations which
- * take advantage of workstation attributes, such as hardware 2's
- * complement arithmetic.
- *
- * The deviation from the bit level specification (lookup tables),
- * preserves the bit level performance specifications.
- *
- * As outlined in the G.723 Recommendation, the algorithm is broken
- * down into modules.  Each section of code below is preceded by
- * the name of the module which it is implementing.
- *
- */
-
-#include "g72x.h"
-#include "private.h"
-
-/*
- * Maps G.723_40 code word to ructeconstructed scale factor normalized log
- * magnitude values.
- */
-static short	_dqlntab[32] = {-2048, -66, 28, 104, 169, 224, 274, 318,
-				358, 395, 429, 459, 488, 514, 539, 566,
-				566, 539, 514, 488, 459, 429, 395, 358,
-				318, 274, 224, 169, 104, 28, -66, -2048};
-
-/* Maps G.723_40 code word to log of scale factor multiplier. */
-static short	_witab[32] = {448, 448, 768, 1248, 1280, 1312, 1856, 3200,
-			4512, 5728, 7008, 8960, 11456, 14080, 16928, 22272,
-			22272, 16928, 14080, 11456, 8960, 7008, 5728, 4512,
-			3200, 1856, 1312, 1280, 1248, 768, 448, 448};
-
-/*
- * Maps G.723_40 code words to a set of values whose long and short
- * term averages are computed and then compared to give an indication
- * how stationary (steady state) the signal is.
- */
-static short	_fitab[32] = {0, 0, 0, 0, 0, 0x200, 0x200, 0x200,
-			0x200, 0x200, 0x400, 0x600, 0x800, 0xA00, 0xC00, 0xC00,
-			0xC00, 0xC00, 0xA00, 0x800, 0x600, 0x400, 0x200, 0x200,
-			0x200, 0x200, 0x200, 0, 0, 0, 0, 0};
-
-static short qtab_723_40[15] = {-122, -16, 68, 139, 198, 250, 298, 339,
-				378, 413, 445, 475, 502, 528, 553};
-
-/*
- * g723_40_encoder()
- *
- * Encodes a 16-bit linear PCM, A-law or u-law input sample and retuens
- * the resulting 5-bit CCITT G.723 40Kbps code.
- * Returns -1 if the input coding value is invalid.
- */
-int	g723_40_encoder (int sl, G72x_STATE *state_ptr)
-{
-	short		sei, sezi, se, sez;	/* ACCUM */
-	short		d;			/* SUBTA */
-	short		y;			/* MIX */
-	short		sr;			/* ADDB */
-	short		dqsez;			/* ADDC */
-	short		dq, i;
-
-	/* linearize input sample to 14-bit PCM */
-	sl >>= 2;		/* sl of 14-bit dynamic range */
-
-	sezi = predictor_zero(state_ptr);
-	sez = sezi >> 1;
-	sei = sezi + predictor_pole(state_ptr);
-	se = sei >> 1;			/* se = estimated signal */
-
-	d = sl - se;			/* d = estimation difference */
-
-	/* quantize prediction difference */
-	y = step_size(state_ptr);	/* adaptive quantizer step size */
-	i = quantize(d, y, qtab_723_40, 15);	/* i = ADPCM code */
-
-	dq = reconstruct(i & 0x10, _dqlntab[i], y);	/* quantized diff */
-
-	sr = (dq < 0) ? se - (dq & 0x7FFF) : se + dq; /* reconstructed signal */
-
-	dqsez = sr + sez - se;		/* dqsez = pole prediction diff. */
-
-	update(5, y, _witab[i], _fitab[i], dq, sr, dqsez, state_ptr);
-
-	return (i);
-}
-
-/*
- * g723_40_decoder()
- *
- * Decodes a 5-bit CCITT G.723 40Kbps code and returns
- * the resulting 16-bit linear PCM, A-law or u-law sample value.
- * -1 is returned if the output coding is unknown.
- */
-int	g723_40_decoder	(int i, G72x_STATE *state_ptr)
-{
-	short		sezi, sei, sez, se;	/* ACCUM */
-	short		y ;			/* MIX */
-	short		sr;			/* ADDB */
-	short		dq;
-	short		dqsez;
-
-	i &= 0x1f;			/* mask to get proper bits */
-	sezi = predictor_zero(state_ptr);
-	sez = sezi >> 1;
-	sei = sezi + predictor_pole(state_ptr);
-	se = sei >> 1;			/* se = estimated signal */
-
-	y = step_size(state_ptr);	/* adaptive quantizer step size */
-	dq = reconstruct(i & 0x10, _dqlntab[i], y);	/* estimation diff. */
-
-	sr = (dq < 0) ? (se - (dq & 0x7FFF)) : (se + dq); /* reconst. signal */
-
-	dqsez = sr - se + sez;		/* pole prediction diff. */
-
-	update(5, y, _witab[i], _fitab[i], dq, sr, dqsez, state_ptr);
-
-	return (sr << 2);	/* sr was of 14-bit dynamic range */
-}
--- a/common/libsndfile/src/G72x/g72x.c
+++ /dev/null
@@ -1,621 +1,0 @@
-/*
- * This source code is a product of Sun Microsystems, Inc. and is provided
- * for unrestricted use.  Users may copy or modify this source code without
- * charge.
- *
- * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
- * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun source code is provided with no support and without any obligation on
- * the part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * g72x.c
- *
- * Common routines for G.721 and G.723 conversions.
- */
- 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "g72x.h"
-#include "private.h"
-
-static 
-short power2 [15] = 
-{	1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80,
-	0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000
-} ;
-
-/*
- * quan()
- *
- * quantizes the input val against the table of size short integers.
- * It returns i if table[i - 1] <= val < table[i].
- *
- * Using linear search for simple coding.
- */
-static 
-int quan (int val, short *table, int size)
-{
-	int		i;
-
-	for (i = 0; i < size; i++)
-		if (val < *table++)
-			break;
-	return (i);
-}
-
-/*
- * fmult()
- *
- * returns the integer product of the 14-bit integer "an" and
- * "floating point" representation (4-bit exponent, 6-bit mantessa) "srn".
- */
-static 
-int fmult (int an, int srn)
-{
-	short		anmag, anexp, anmant;
-	short		wanexp, wanmant;
-	short		retval;
-
-	anmag = (an > 0) ? an : ((-an) & 0x1FFF);
-	anexp = quan(anmag, power2, 15) - 6;
-	anmant = (anmag == 0) ? 32 :
-	    (anexp >= 0) ? anmag >> anexp : anmag << -anexp;
-	wanexp = anexp + ((srn >> 6) & 0xF) - 13;
-
-	wanmant = (anmant * (srn & 077) + 0x30) >> 4;
-	retval = (wanexp >= 0) ? ((wanmant << wanexp) & 0x7FFF) :
-	    (wanmant >> -wanexp);
-
-	return (((an ^ srn) < 0) ? -retval : retval);
-}
-
-/*
- * private_init_state()
- *
- * This routine initializes and/or resets the G72x_PRIVATE structure
- * pointed to by 'state_ptr'.
- * All the initial state values are specified in the CCITT G.721 document.
- */
-static
-void private_init_state (G72x_STATE *state_ptr)
-{
-	int		cnta;
-
-	state_ptr->yl = 34816;
-	state_ptr->yu = 544;
-	state_ptr->dms = 0;
-	state_ptr->dml = 0;
-	state_ptr->ap = 0;
-	for (cnta = 0; cnta < 2; cnta++) {
-		state_ptr->a[cnta] = 0;
-		state_ptr->pk[cnta] = 0;
-		state_ptr->sr[cnta] = 32;
-	}
-	for (cnta = 0; cnta < 6; cnta++) {
-		state_ptr->b[cnta] = 0;
-		state_ptr->dq[cnta] = 32;
-	}
-	state_ptr->td = 0;
-}	/* private_init_state */
-
-int g72x_reader_init (G72x_DATA *data, int codec)
-{	G72x_STATE *pstate ;
-
-	if (sizeof (data->private) < sizeof (G72x_STATE))
-	{	/* This is for safety only. */
-		return 1 ;
-		} ;
-
-	memset (data, 0, sizeof (G72x_DATA)) ;
-	
-	pstate = (G72x_STATE*) data->private ;
-	private_init_state (pstate) ;
-		
-	pstate->encoder = NULL ;
-	
-	switch (codec)
-	{	case G723_16_BITS_PER_SAMPLE : /* 2 bits per sample. */
-				pstate->decoder = g723_16_decoder ;
-				data->blocksize = G723_16_BYTES_PER_BLOCK ;
-				data->samplesperblock = G723_16_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 2 ;
-				break ;
-				
-		case G723_24_BITS_PER_SAMPLE : /* 3 bits per sample. */ 
-				pstate->decoder = g723_24_decoder ;
-				data->blocksize = G723_24_BYTES_PER_BLOCK ;
-				data->samplesperblock = G723_24_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 3 ;
-				break ;
-				
-		case G721_32_BITS_PER_SAMPLE : /* 4 bits per sample. */
-				pstate->decoder = g721_decoder ;
-				data->blocksize = G721_32_BYTES_PER_BLOCK ;
-				data->samplesperblock = G721_32_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 4 ;
-				break ;
-				
-		case G721_40_BITS_PER_SAMPLE : /* 5 bits per sample. */
-				pstate->decoder = g723_40_decoder ;
-				data->blocksize = G721_40_BYTES_PER_BLOCK ;
-				data->samplesperblock = G721_40_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 5 ;
-				break ;
-				
-		default : return 1 ;
-		} ;
-
-	return 0 ;
-}	/* g72x_reader_init */
-
-int g72x_writer_init (G72x_DATA *data, int codec)
-{	G72x_STATE *pstate ;
-
-	if (sizeof (data->private) < sizeof (G72x_STATE))
-	{	/* This is for safety only. Gets optimised out. */
-		return 1 ;
-		} ;
-
-	memset (data, 0, sizeof (G72x_DATA)) ;
-	
-	pstate = (G72x_STATE*) data->private ;
-	private_init_state (pstate) ;
-		
-	pstate->decoder = NULL ;
-	
-	switch (codec)
-	{	case G723_16_BITS_PER_SAMPLE : /* 2 bits per sample. */
-				pstate->encoder = g723_16_encoder ;
-				data->blocksize = G723_16_BYTES_PER_BLOCK ;
-				data->samplesperblock = G723_16_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 2 ;
-				break ;
-				
-		case G723_24_BITS_PER_SAMPLE : /* 3 bits per sample. */ 
-				pstate->encoder = g723_24_encoder ;
-				data->blocksize = G723_24_BYTES_PER_BLOCK ;
-				data->samplesperblock = G723_24_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 3 ;
-				break ;
-				
-		case G721_32_BITS_PER_SAMPLE : /* 4 bits per sample. */
-				pstate->encoder = g721_encoder ;
-				data->blocksize = G721_32_BYTES_PER_BLOCK ;
-				data->samplesperblock = G721_32_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 4 ;
-				break ;
-				
-		case G721_40_BITS_PER_SAMPLE : /* 5 bits per sample. */
-				pstate->encoder = g723_40_encoder ;
-				data->blocksize = G721_40_BYTES_PER_BLOCK ;
-				data->samplesperblock = G721_40_SAMPLES_PER_BLOCK ;
-				pstate->codec_bits = 5 ;
-				break ;
-				
-		default : return 1 ;
-		} ;
-
-	return 0 ;
-}	/* g72x_writer_init */
-
-static
-int unpack_bytes (G72x_DATA *data, int bits)
-{	unsigned int    in_buffer = 0 ;
-	unsigned char	in_byte ;
-	int				k, in_bits = 0, bindex = 0 ;
-	
-	for (k = 0 ; bindex <= data->blocksize && k < G72x_BLOCK_SIZE ; k++)
-	{	if (in_bits < bits) 
-		{	in_byte = data->block [bindex++] ;
-
-			in_buffer |= (in_byte << in_bits);
-			in_bits += 8;
-			}
-		data->samples [k] = in_buffer & ((1 << bits) - 1);
-		in_buffer >>= bits;
-		in_bits -= bits;
-		} ;
-		
-	return k ;
-} /* unpack_bytes */
-
-int g72x_decode_block (G72x_DATA *data)
-{	G72x_STATE *pstate ;
-	int	k, count ;
-	
-	pstate = (G72x_STATE*) data->private ;
-	
-	count = unpack_bytes (data, pstate->codec_bits) ;
-	
-	for (k = 0 ; k < count ; k++)
-		data->samples [k] = pstate->decoder (data->samples [k], pstate) ;
-	
-	return 0 ;
-}	/* g72x_decode_block */
-
-static
-int pack_bytes (G72x_DATA *data, int bits)
-{
-	unsigned int	out_buffer = 0 ;
-	int				k, bindex = 0, out_bits = 0 ;
-	unsigned char	out_byte ;
-
-	for (k = 0 ; k < G72x_BLOCK_SIZE ; k++)
-	{	out_buffer |= (data->samples [k] << out_bits) ;
-		out_bits += bits ;
-		if (out_bits >= 8) 
-		{	out_byte = out_buffer & 0xFF ;
-			out_bits -= 8 ;
-			out_buffer >>= 8 ;
-			data->block [bindex++] = out_byte ;
-			}
-		} ;
-
-	return bindex ;
-} /* pack_bytes */
-
-int g72x_encode_block (G72x_DATA *data)
-{	G72x_STATE *pstate ;
-	int k, count ;
-
-	pstate = (G72x_STATE*) data->private ;
-	
-	for (k = 0 ; k < data->samplesperblock ; k++)
-		data->samples [k] = pstate->encoder (data->samples [k], pstate) ;
-	
-	count = pack_bytes (data, pstate->codec_bits) ;
-	
-	return count ;
-}	/* g72x_encode_block */
-
-/*
- * predictor_zero()
- *
- * computes the estimated signal from 6-zero predictor.
- *
- */
-int  predictor_zero (G72x_STATE *state_ptr)
-{
-	int		i;
-	int		sezi;
-
-	sezi = fmult(state_ptr->b[0] >> 2, state_ptr->dq[0]);
-	for (i = 1; i < 6; i++)			/* ACCUM */
-		sezi += fmult(state_ptr->b[i] >> 2, state_ptr->dq[i]);
-	return (sezi);
-}
-/*
- * predictor_pole()
- *
- * computes the estimated signal from 2-pole predictor.
- *
- */
-int  predictor_pole(G72x_STATE *state_ptr)
-{
-	return (fmult(state_ptr->a[1] >> 2, state_ptr->sr[1]) +
-	    fmult(state_ptr->a[0] >> 2, state_ptr->sr[0]));
-}
-/*
- * step_size()
- *
- * computes the quantization step size of the adaptive quantizer.
- *
- */
-int  step_size (G72x_STATE *state_ptr)
-{
-	int		y;
-	int		dif;
-	int		al;
-
-	if (state_ptr->ap >= 256)
-		return (state_ptr->yu);
-	else {
-		y = state_ptr->yl >> 6;
-		dif = state_ptr->yu - y;
-		al = state_ptr->ap >> 2;
-		if (dif > 0)
-			y += (dif * al) >> 6;
-		else if (dif < 0)
-			y += (dif * al + 0x3F) >> 6;
-		return (y);
-	}
-}
-
-/*
- * quantize()
- *
- * Given a raw sample, 'd', of the difference signal and a
- * quantization step size scale factor, 'y', this routine returns the
- * ADPCM codeword to which that sample gets quantized.  The step
- * size scale factor division operation is done in the log base 2 domain
- * as a subtraction.
- */
-int quantize(
-	int		d,	/* Raw difference signal sample */
-	int		y,	/* Step size multiplier */
-	short	*table,	/* quantization table */
-	int		size)	/* table size of short integers */
-{
-	short		dqm;	/* Magnitude of 'd' */
-	short		exp;	/* Integer part of base 2 log of 'd' */
-	short		mant;	/* Fractional part of base 2 log */
-	short		dl;	/* Log of magnitude of 'd' */
-	short		dln;	/* Step size scale factor normalized log */
-	int		i;
-
-	/*
-	 * LOG
-	 *
-	 * Compute base 2 log of 'd', and store in 'dl'.
-	 */
-	dqm = abs(d);
-	exp = quan(dqm >> 1, power2, 15);
-	mant = ((dqm << 7) >> exp) & 0x7F;	/* Fractional portion. */
-	dl = (exp << 7) + mant;
-
-	/*
-	 * SUBTB
-	 *
-	 * "Divide" by step size multiplier.
-	 */
-	dln = dl - (y >> 2);
-
-	/*
-	 * QUAN
-	 *
-	 * Obtain codword i for 'd'.
-	 */
-	i = quan(dln, table, size);
-	if (d < 0)			/* take 1's complement of i */
-		return ((size << 1) + 1 - i);
-	else if (i == 0)		/* take 1's complement of 0 */
-		return ((size << 1) + 1); /* new in 1988 */
-	else
-		return (i);
-}
-/*
- * reconstruct()
- *
- * Returns reconstructed difference signal 'dq' obtained from
- * codeword 'i' and quantization step size scale factor 'y'.
- * Multiplication is performed in log base 2 domain as addition.
- */
-int
-reconstruct(
-	int		sign,	/* 0 for non-negative value */
-	int		dqln,	/* G.72x codeword */
-	int		y)	/* Step size multiplier */
-{
-	short		dql;	/* Log of 'dq' magnitude */
-	short		dex;	/* Integer part of log */
-	short		dqt;
-	short		dq;	/* Reconstructed difference signal sample */
-
-	dql = dqln + (y >> 2);	/* ADDA */
-
-	if (dql < 0) {
-		return ((sign) ? -0x8000 : 0);
-	} else {		/* ANTILOG */
-		dex = (dql >> 7) & 15;
-		dqt = 128 + (dql & 127);
-		dq = (dqt << 7) >> (14 - dex);
-		return ((sign) ? (dq - 0x8000) : dq);
-	}
-}
-
-
-/*
- * update()
- *
- * updates the state variables for each output code
- */
-void
-update(
-	int		code_size,	/* distinguish 723_40 with others */
-	int		y,		/* quantizer step size */
-	int		wi,		/* scale factor multiplier */
-	int		fi,		/* for long/short term energies */
-	int		dq,		/* quantized prediction difference */
-	int		sr,		/* reconstructed signal */
-	int		dqsez,		/* difference from 2-pole predictor */
-	G72x_STATE *state_ptr)	/* coder state pointer */
-{
-	int		cnt;
-	short		mag, exp;	/* Adaptive predictor, FLOAT A */
-	short		a2p = 0;	/* LIMC */
-	short		a1ul;		/* UPA1 */
-	short		pks1;		/* UPA2 */
-	short		fa1;
-	char		tr;		/* tone/transition detector */
-	short		ylint, thr2, dqthr;
-	short  		ylfrac, thr1;
-	short		pk0;
-
-	pk0 = (dqsez < 0) ? 1 : 0;	/* needed in updating predictor poles */
-
-	mag = dq & 0x7FFF;		/* prediction difference magnitude */
-	/* TRANS */
-	ylint = state_ptr->yl >> 15;	/* exponent part of yl */
-	ylfrac = (state_ptr->yl >> 10) & 0x1F;	/* fractional part of yl */
-	thr1 = (32 + ylfrac) << ylint;		/* threshold */
-	thr2 = (ylint > 9) ? 31 << 10 : thr1;	/* limit thr2 to 31 << 10 */
-	dqthr = (thr2 + (thr2 >> 1)) >> 1;	/* dqthr = 0.75 * thr2 */
-	if (state_ptr->td == 0)		/* signal supposed voice */
-		tr = 0;
-	else if (mag <= dqthr)		/* supposed data, but small mag */
-		tr = 0;			/* treated as voice */
-	else				/* signal is data (modem) */
-		tr = 1;
-
-	/*
-	 * Quantizer scale factor adaptation.
-	 */
-
-	/* FUNCTW & FILTD & DELAY */
-	/* update non-steady state step size multiplier */
-	state_ptr->yu = y + ((wi - y) >> 5);
-
-	/* LIMB */
-	if (state_ptr->yu < 544)	/* 544 <= yu <= 5120 */
-		state_ptr->yu = 544;
-	else if (state_ptr->yu > 5120)
-		state_ptr->yu = 5120;
-
-	/* FILTE & DELAY */
-	/* update steady state step size multiplier */
-	state_ptr->yl += state_ptr->yu + ((-state_ptr->yl) >> 6);
-
-	/*
-	 * Adaptive predictor coefficients.
-	 */
-	if (tr == 1) {			/* reset a's and b's for modem signal */
-		state_ptr->a[0] = 0;
-		state_ptr->a[1] = 0;
-		state_ptr->b[0] = 0;
-		state_ptr->b[1] = 0;
-		state_ptr->b[2] = 0;
-		state_ptr->b[3] = 0;
-		state_ptr->b[4] = 0;
-		state_ptr->b[5] = 0;
-	} else {			/* update a's and b's */
-		pks1 = pk0 ^ state_ptr->pk[0];		/* UPA2 */
-
-		/* update predictor pole a[1] */
-		a2p = state_ptr->a[1] - (state_ptr->a[1] >> 7);
-		if (dqsez != 0) {
-			fa1 = (pks1) ? state_ptr->a[0] : -state_ptr->a[0];
-			if (fa1 < -8191)	/* a2p = function of fa1 */
-				a2p -= 0x100;
-			else if (fa1 > 8191)
-				a2p += 0xFF;
-			else
-				a2p += fa1 >> 5;
-
-			if (pk0 ^ state_ptr->pk[1])
-			{	/* LIMC */
-				if (a2p <= -12160)
-					a2p = -12288;
-				else if (a2p >= 12416)
-					a2p = 12288;
-				else
-					a2p -= 0x80;
-				}
-			else if (a2p <= -12416)
-				a2p = -12288;
-			else if (a2p >= 12160)
-				a2p = 12288;
-			else
-				a2p += 0x80;
-		}
-
-		/* TRIGB & DELAY */
-		state_ptr->a[1] = a2p;
-
-		/* UPA1 */
-		/* update predictor pole a[0] */
-		state_ptr->a[0] -= state_ptr->a[0] >> 8;
-		if (dqsez != 0)
-		{	if (pks1 == 0)
-				state_ptr->a[0] += 192;
-			else
-				state_ptr->a[0] -= 192;
-			} ;
-
-		/* LIMD */
-		a1ul = 15360 - a2p;
-		if (state_ptr->a[0] < -a1ul)
-			state_ptr->a[0] = -a1ul;
-		else if (state_ptr->a[0] > a1ul)
-			state_ptr->a[0] = a1ul;
-
-		/* UPB : update predictor zeros b[6] */
-		for (cnt = 0; cnt < 6; cnt++) {
-			if (code_size == 5)		/* for 40Kbps G.723 */
-				state_ptr->b[cnt] -= state_ptr->b[cnt] >> 9;
-			else			/* for G.721 and 24Kbps G.723 */
-				state_ptr->b[cnt] -= state_ptr->b[cnt] >> 8;
-			if (dq & 0x7FFF) {			/* XOR */
-				if ((dq ^ state_ptr->dq[cnt]) >= 0)
-					state_ptr->b[cnt] += 128;
-				else
-					state_ptr->b[cnt] -= 128;
-			}
-		}
-	}
-
-	for (cnt = 5; cnt > 0; cnt--)
-		state_ptr->dq[cnt] = state_ptr->dq[cnt-1];
-	/* FLOAT A : convert dq[0] to 4-bit exp, 6-bit mantissa f.p. */
-	if (mag == 0) {
-		state_ptr->dq[0] = (dq >= 0) ? 0x20 : 0xFC20;
-	} else {
-		exp = quan(mag, power2, 15);
-		state_ptr->dq[0] = (dq >= 0) ?
-		    (exp << 6) + ((mag << 6) >> exp) :
-		    (exp << 6) + ((mag << 6) >> exp) - 0x400;
-	}
-
-	state_ptr->sr[1] = state_ptr->sr[0];
-	/* FLOAT B : convert sr to 4-bit exp., 6-bit mantissa f.p. */
-	if (sr == 0) {
-		state_ptr->sr[0] = 0x20;
-	} else if (sr > 0) {
-		exp = quan(sr, power2, 15);
-		state_ptr->sr[0] = (exp << 6) + ((sr << 6) >> exp);
-	} else if (sr > -32768) {
-		mag = -sr;
-		exp = quan(mag, power2, 15);
-		state_ptr->sr[0] =  (exp << 6) + ((mag << 6) >> exp) - 0x400;
-	} else
-		state_ptr->sr[0] = (short) 0xFC20;
-
-	/* DELAY A */
-	state_ptr->pk[1] = state_ptr->pk[0];
-	state_ptr->pk[0] = pk0;
-
-	/* TONE */
-	if (tr == 1)		/* this sample has been treated as data */
-		state_ptr->td = 0;	/* next one will be treated as voice */
-	else if (a2p < -11776)	/* small sample-to-sample correlation */
-		state_ptr->td = 1;	/* signal may be data */
-	else				/* signal is voice */
-		state_ptr->td = 0;
-
-	/*
-	 * Adaptation speed control.
-	 */
-	state_ptr->dms += (fi - state_ptr->dms) >> 5;		/* FILTA */
-	state_ptr->dml += (((fi << 2) - state_ptr->dml) >> 7);	/* FILTB */
-
-	if (tr == 1)
-		state_ptr->ap = 256;
-	else if (y < 1536)					/* SUBTC */
-		state_ptr->ap += (0x200 - state_ptr->ap) >> 4;
-	else if (state_ptr->td == 1)
-		state_ptr->ap += (0x200 - state_ptr->ap) >> 4;
-	else if (abs((state_ptr->dms << 2) - state_ptr->dml) >=
-	    (state_ptr->dml >> 3))
-		state_ptr->ap += (0x200 - state_ptr->ap) >> 4;
-	else
-		state_ptr->ap += (-state_ptr->ap) >> 4;
-}
-
--- a/common/libsndfile/src/G72x/g72x.h
+++ /dev/null
@@ -1,112 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/*
-** This file is not the same as the original file from Sun Microsystems. Nearly
-** all the original definitions and function prototypes that were in the  file 
-** of this name have been moved to private.h.
-*/	
-
-#ifndef G72X_HEADER_FILE
-#define	G72X_HEADER_FILE
-
-/* 
-** Number of samples per block to process. 
-** Must be a common multiple of possible bits per sample : 2, 3, 4, 5 and 8.
-*/
-#define	G72x_BLOCK_SIZE		(3*5*8)  
-
-/*	
-**	Identifiers for the differing kinds of G72x ADPCM codecs.
-**	The identifiers also define the number of encoded bits per sample.
-*/
-
-enum
-{	G723_16_BITS_PER_SAMPLE = 2,
-	G723_24_BITS_PER_SAMPLE = 3, 
-	G721_32_BITS_PER_SAMPLE = 4,
-	G721_40_BITS_PER_SAMPLE = 5,
-	
-	G723_16_MIN_BYTES = 1,
-	G723_24_MIN_BYTES = 3, 
-	G721_32_MIN_BYTES = 1,
-	G721_40_MIN_BYTES = 5
-} ;
-
-enum	
-{	G723_16_SAMPLES_PER_BLOCK = G72x_BLOCK_SIZE,
-	G723_24_SAMPLES_PER_BLOCK = G723_24_BITS_PER_SAMPLE * (G72x_BLOCK_SIZE / G723_24_BITS_PER_SAMPLE), 
-	G721_32_SAMPLES_PER_BLOCK = G72x_BLOCK_SIZE,
-	G721_40_SAMPLES_PER_BLOCK = G721_40_BITS_PER_SAMPLE * (G72x_BLOCK_SIZE / G721_40_BITS_PER_SAMPLE)
-} ;
-
-enum	
-{	G723_16_BYTES_PER_BLOCK = (G723_16_BITS_PER_SAMPLE * G72x_BLOCK_SIZE) / 8,
-	G723_24_BYTES_PER_BLOCK = (G723_24_BITS_PER_SAMPLE * G72x_BLOCK_SIZE) / 8,
-	G721_32_BYTES_PER_BLOCK = (G721_32_BITS_PER_SAMPLE * G72x_BLOCK_SIZE) / 8,
-	G721_40_BYTES_PER_BLOCK = (G721_40_BITS_PER_SAMPLE * G72x_BLOCK_SIZE) / 8
-} ; 
-
-/* 
-** This is the public structure for passing data between the caller and
-** the G72x encoder and decoder. 
-** The private array is used by the encoder and decoder for internal
-** state information and should not be changed in any way by the caller.
-** When decoding or encoding a stream, the same instance of this struct
-** should be used for every call so that the decoder/encoder keeps the
-** correct state data between calls.
-*/
-
-typedef struct 
-{	/* Private data. Don't mess with it. */
-	unsigned char	private [256] ;  
-
-	/* Public data. Read only. */
-	int				blocksize, max_bytes, samplesperblock, bytesperblock ;
-
-	/* Public data. Read and write. */
-	int				blocks, blockcount, samplecount ;
-	unsigned char	block	[G72x_BLOCK_SIZE] ;
-	short			samples	[G72x_BLOCK_SIZE] ;
-} G72x_DATA ;
-
-/* External function definitions. */
-
-int g72x_reader_init (G72x_DATA *data, int codec) ;
-int g72x_writer_init (G72x_DATA *data, int codec) ;
-/*
-**	Initialize the ADPCM state table for the given codec.
-**	Return 0 on success, 1 on fail.
-*/
-
-int g72x_decode_block (G72x_DATA *data) ;
-/*
-**	The caller fills data->block with data->bytes bytes before calling the 
-**	function. The value data->bytes must be an integer multiple of 
-**	data->blocksize and be <= data->max_bytes.
-**	When it returns, the caller can read out data->samples samples. 
-*/  
-
-int g72x_encode_block (G72x_DATA *data) ;
-/*	
-**	The caller fills state->samples some integer multiple data->samples_per_block
-**	(up to G72x_BLOCK_SIZE) samples before calling the function.
-**	When it returns, the caller can read out bytes encoded bytes. 
-*/
-
-#endif /* !G72X_HEADER_FILE */
--- a/common/libsndfile/src/G72x/private.h
+++ /dev/null
@@ -1,108 +1,0 @@
-/*
- * This source code is a product of Sun Microsystems, Inc. and is provided
- * for unrestricted use.  Users may copy or modify this source code without
- * charge.
- *
- * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
- * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun source code is provided with no support and without any obligation on
- * the part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-#ifndef G72X_PRIVATE_H
-#define G72X_PRIVATE_H
-
-
-/*
-** The following is the definition of the state structure used by the
-** G.721/G.723 encoder and decoder to preserve their internal state
-** between successive calls.  The meanings of the majority of the state 
-** structure fields are explained in detail in the CCITT Recommendation 
-** G.721.  The field names are essentially identical to variable names 
-** in the bit level description of the coding algorithm included in this 
-** Recommendation.
-*/
-
-typedef struct private_g72x
-{	long  yl;	/* Locked or steady state step size multiplier. */
-	short yu;	/* Unlocked or non-steady state step size multiplier. */
-	short dms;	/* Short term energy estimate. */
-	short dml;	/* Long term energy estimate. */
-	short ap;	/* Linear weighting coefficient of 'yl' and 'yu'. */
-
-	short a[2];	/* Coefficients of pole portion of prediction filter. */
-	short b[6];	/* Coefficients of zero portion of prediction filter. */
-	short pk[2];	/*
-					** Signs of previous two samples of a partially
-					** reconstructed signal.
-					**/
-	short dq[6];	/*
-					** Previous 6 samples of the quantized difference
-					** signal represented in an internal floating point
-					** format.
-					**/
-	short sr[2];	/*
-			 		** Previous 2 samples of the quantized difference
-					** signal represented in an internal floating point
-					** format.
-					*/
-	char td;	/* delayed tone detect, new in 1988 version */
-	
-	/*	The following struct members were added for libsndfile. The original 
-	**	code worked by calling a set of functions on a sample by sample basis 
-	**	which is slow on architectures like Intel x86. For libsndfile, this 
-	**	was changed so that the encoding and decoding routines could work on
-	**	a block of samples at a time to reduce the function call overhead.
-	*/
-	int		(*encoder) (int, struct private_g72x* state) ;
-	int		(*decoder) (int, struct private_g72x* state) ;
-	
-	int		codec_bits ;
-	int		byte_index, sample_index ;
-	
-} G72x_STATE ;
-
-
-
-int	predictor_zero(G72x_STATE *state_ptr);
-
-int	predictor_pole(G72x_STATE *state_ptr);
-
-int	step_size(G72x_STATE *state_ptr);
-
-int	quantize(int d, int	y, short *table, int size);
-
-int	reconstruct(int sign, int dqln,	int y);
-
-void update (int code_size, int y, int wi, int fi, int dq, int sr, int dqsez, G72x_STATE *state_ptr);
-
-int g721_encoder	(int sample, G72x_STATE *state_ptr);
-int g721_decoder	(int code, G72x_STATE *state_ptr);
-
-int g723_16_encoder	(int sample, G72x_STATE *state_ptr);
-int g723_16_decoder	(int code, G72x_STATE *state_ptr);
-
-int g723_24_encoder	(int sample, G72x_STATE *state_ptr);
-int g723_24_decoder	(int code, G72x_STATE *state_ptr);
-
-int g723_40_encoder	(int sample, G72x_STATE *state_ptr);
-int g723_40_decoder	(int code, G72x_STATE *state_ptr);
-
-
-
-#endif /* G72X_PRIVATE_H */
--- a/common/libsndfile/src/GSM610/COPYRIGHT
+++ /dev/null
@@ -1,16 +1,0 @@
-Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,
-Technische Universitaet Berlin
-
-Any use of this software is permitted provided that this notice is not
-removed and that neither the authors nor the Technische Universitaet Berlin
-are deemed to have made any representations as to the suitability of this
-software for any purpose nor are held responsible for any defects of
-this software.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
-
-As a matter of courtesy, the authors request to be informed about uses
-this software has found, about bugs in this software, and about any
-improvements that may be of general interest.
-
-Berlin, 28.11.1994
-Jutta Degener
-Carsten Bormann
--- a/common/libsndfile/src/GSM610/ChangeLog
+++ /dev/null
@@ -1,21 +1,0 @@
-2001-09-16  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * code.c
-    Added #includes fro string.h and stdlib.h.
-
-2000-10-27  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * config.h
-    Removed some commented out #defines (ie //*efine) which were causing problems on
-	the Sun cc compiler.
-
-2000-02-29  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * private.h
-    Added #defines to emulate normal compile time options.
-
-2000-02-28  Erik de Castro Lopo  <erikd AT zip DOT com DOT au>
-
-    * everthing
-    Created this directory and copied files from libgsm.
-    http://kbs.cs.tu-berlin.de/~jutta/toast.html
--- a/common/libsndfile/src/GSM610/Makefile.am
+++ /dev/null
@@ -1,15 +1,0 @@
-# This file was automatically generated
-# DO NOT EDIT!
-
-EXTRA_DIST = README COPYRIGHT ChangeLog
-
-noinst_HEADERS = gsm.h config.h private.h proto.h unproto.h
-noinst_LTLIBRARIES = libgsm.la
-
-CFILES = add.c decode.c gsm_decode.c gsm_encode.c long_term.c preprocess.c \
-	short_term.c code.c gsm_create.c gsm_destroy.c gsm_option.c lpc.c rpe.c table.c
-
-libgsm_la_SOURCES = $(CFILES) $(noinst_HEADERS)
-
-# Disable autoheader. 
-AUTOHEADER=echo
--- a/common/libsndfile/src/GSM610/Makefile.in
+++ /dev/null
@@ -1,328 +1,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# This file was automatically generated
-# DO NOT EDIT!
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-DLLTOOL = @DLLTOOL@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
-VERSION = @VERSION@
-subdirs = @subdirs@
-
-EXTRA_DIST = README COPYRIGHT ChangeLog
-
-noinst_HEADERS = gsm.h config.h private.h proto.h unproto.h
-noinst_LTLIBRARIES = libgsm.la
-
-CFILES = add.c decode.c gsm_decode.c gsm_encode.c long_term.c preprocess.c 	short_term.c code.c gsm_create.c gsm_destroy.c gsm_option.c lpc.c rpe.c table.c
-
-
-libgsm_la_SOURCES = $(CFILES) $(noinst_HEADERS)
-
-# Disable autoheader. 
-AUTOHEADER = echo
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../src/config.h
-CONFIG_CLEAN_FILES = 
-LTLIBRARIES =  $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../src
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libgsm_la_LDFLAGS = 
-libgsm_la_LIBADD = 
-libgsm_la_OBJECTS =  add.lo decode.lo gsm_decode.lo gsm_encode.lo \
-long_term.lo preprocess.lo short_term.lo code.lo gsm_create.lo \
-gsm_destroy.lo gsm_option.lo lpc.lo rpe.lo table.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-HEADERS =  $(noinst_HEADERS)
-
-DIST_COMMON =  README ChangeLog Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-SOURCES = $(libgsm_la_SOURCES)
-OBJECTS = $(libgsm_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/GSM610/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
-	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libgsm.la: $(libgsm_la_OBJECTS) $(libgsm_la_DEPENDENCIES)
-	$(LINK)  $(libgsm_la_LDFLAGS) $(libgsm_la_OBJECTS) $(libgsm_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/GSM610
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-add.lo add.o : add.c private.h proto.h unproto.h gsm.h
-code.lo code.o : code.c config.h private.h proto.h unproto.h gsm.h
-decode.lo decode.o : decode.c private.h proto.h unproto.h gsm.h
-gsm_create.lo gsm_create.o : gsm_create.c config.h gsm.h private.h \
-	proto.h unproto.h
-gsm_decode.lo gsm_decode.o : gsm_decode.c private.h proto.h unproto.h \
-	gsm.h
-gsm_destroy.lo gsm_destroy.o : gsm_destroy.c gsm.h config.h proto.h
-gsm_encode.lo gsm_encode.o : gsm_encode.c private.h proto.h unproto.h \
-	gsm.h
-gsm_option.lo gsm_option.o : gsm_option.c private.h proto.h unproto.h \
-	gsm.h
-long_term.lo long_term.o : long_term.c private.h proto.h unproto.h gsm.h
-lpc.lo lpc.o : lpc.c private.h proto.h unproto.h gsm.h
-preprocess.lo preprocess.o : preprocess.c private.h proto.h unproto.h \
-	gsm.h
-rpe.lo rpe.o : rpe.c private.h proto.h unproto.h gsm.h
-short_term.lo short_term.o : short_term.c private.h proto.h unproto.h \
-	gsm.h
-table.lo table.o : table.c private.h proto.h unproto.h gsm.h
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
-		mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-noinstLTLIBRARIES clean-compile clean-libtool \
-		clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-noinstLTLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-noinstLTLIBRARIES \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/common/libsndfile/src/GSM610/README
+++ /dev/null
@@ -1,36 +1,0 @@
-GSM 06.10 13 kbit/s RPE/LTP speech codec
-----------------------------------------
-
-All the file in this directory were written by Jutta Degener
-and Carsten Borman for The Communications and Operating Systems 
-Research Group (KBS) at the Technische Universitaet Berlin.
-
-Their work was released under the following license which is 
-assumed to be compatible with The GNU Lesser General Public License.
-
-----------------------------------------------------------------------------
-
-Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,
-Technische Universitaet Berlin
-
-Any use of this software is permitted provided that this notice is not
-removed and that neither the authors nor the Technische Universitaet Berlin
-are deemed to have made any representations as to the suitability of this
-software for any purpose nor are held responsible for any defects of
-this software.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
-
-As a matter of courtesy, the authors request to be informed about uses
-this software has found, about bugs in this software, and about any
-improvements that may be of general interest.
-
-Berlin, 28.11.1994
-Jutta Degener (jutta@cs.tu-berlin.de)
-Carsten Bormann (cabo@cs.tu-berlin.de)
-
-----------------------------------------------------------------------------
-
-Jutta Degener and Carsten Bormann's work can be found on their homepage
-at:
-
-    http://kbs.cs.tu-berlin.de/~jutta/toast.html
-	
--- a/common/libsndfile/src/GSM610/add.c
+++ /dev/null
@@ -1,251 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/add.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-/*
- *  See private.h for the more commonly used macro versions.
- */
-
-#include	<stdio.h>
-#include	<assert.h>
-
-#include	"private.h"
-#include	"gsm.h"
-#include	"proto.h"
-
-#define	saturate(x) 	\
-	((x) < MIN_WORD ? MIN_WORD : (x) > MAX_WORD ? MAX_WORD: (x))
-
-word gsm_add P2((a,b), word a, word b)
-{
-	longword sum = (longword)a + (longword)b;
-	return saturate(sum);
-}
-
-word gsm_sub P2((a,b), word a, word b)
-{
-	longword diff = (longword)a - (longword)b;
-	return saturate(diff);
-}
-
-word gsm_mult P2((a,b), word a, word b)
-{
-	if (a == MIN_WORD && b == MIN_WORD) return MAX_WORD;
-	else return SASR( (longword)a * (longword)b, 15 );
-}
-
-word gsm_mult_r P2((a,b), word a, word b)
-{
-	if (b == MIN_WORD && a == MIN_WORD) return MAX_WORD;
-	else {
-		longword prod = (longword)a * (longword)b + 16384;
-		prod >>= 15;
-		return prod & 0xFFFF;
-	}
-}
-
-word gsm_abs P1((a), word a)
-{
-	return a < 0 ? (a == MIN_WORD ? MAX_WORD : -a) : a;
-}
-
-longword gsm_L_mult P2((a,b),word a, word b)
-{
-	assert( a != MIN_WORD || b != MIN_WORD );
-	return ((longword)a * (longword)b) << 1;
-}
-
-longword gsm_L_add P2((a,b), longword a, longword b)
-{
-	if (a < 0) {
-		if (b >= 0) return a + b;
-		else {
-			ulongword A = (ulongword)-(a + 1) + (ulongword)-(b + 1);
-			return A >= MAX_LONGWORD ? MIN_LONGWORD :-(longword)A-2;
-		}
-	}
-	else if (b <= 0) return a + b;
-	else {
-		ulongword A = (ulongword)a + (ulongword)b;
-		return A > MAX_LONGWORD ? MAX_LONGWORD : A;
-	}
-}
-
-longword gsm_L_sub P2((a,b), longword a, longword b)
-{
-	if (a >= 0) {
-		if (b >= 0) return a - b;
-		else {
-			/* a>=0, b<0 */
-
-			ulongword A = (ulongword)a + -(b + 1);
-			return A >= MAX_LONGWORD ? MAX_LONGWORD : (A + 1);
-		}
-	}
-	else if (b <= 0) return a - b;
-	else {
-		/* a<0, b>0 */  
-
-		ulongword A = (ulongword)-(a + 1) + b;
-		return A >= MAX_LONGWORD ? MIN_LONGWORD : -(longword)A - 1;
-	}
-}
-
-static unsigned char const bitoff[ 256 ] = {
-	 8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
-	 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-	 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-	 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-	 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-word gsm_norm P1((a), longword a )
-/*
- * the number of left shifts needed to normalize the 32 bit
- * variable L_var1 for positive values on the interval
- *
- * with minimum of
- * minimum of 1073741824  (01000000000000000000000000000000) and 
- * maximum of 2147483647  (01111111111111111111111111111111)
- *
- *
- * and for negative values on the interval with
- * minimum of -2147483648 (-10000000000000000000000000000000) and
- * maximum of -1073741824 ( -1000000000000000000000000000000).
- *
- * in order to normalize the result, the following
- * operation must be done: L_norm_var1 = L_var1 << norm( L_var1 );
- *
- * (That's 'ffs', only from the left, not the right..)
- */
-{
-	assert(a != 0);
-
-	if (a < 0) {
-		if (a <= -1073741824) return 0;
-		a = ~a;
-	}
-
-	return    a & 0xffff0000 
-		? ( a & 0xff000000
-		  ?  -1 + bitoff[ 0xFF & (a >> 24) ]
-		  :   7 + bitoff[ 0xFF & (a >> 16) ] )
-		: ( a & 0xff00
-		  ?  15 + bitoff[ 0xFF & (a >> 8) ]
-		  :  23 + bitoff[ 0xFF & a ] );
-}
-
-longword gsm_L_asl (longword a, int n)
-{
-	if (n >= 32) return 0;
-	if (n <= -32) return -(a < 0);
-	if (n < 0) return gsm_L_asr(a, -n);
-	return a << n;
-}
-
-word gsm_asr (word a, int n)
-{
-	if (n >= 16) return -(a < 0);
-	if (n <= -16) return 0;
-	if (n < 0) return a << -n;
-
-#	ifdef	SASR
-		return a >> n;
-#	else
-		if (a >= 0) return a >> n;
-		else return -(word)( -(uword)a >> n );
-#	endif
-}
-
-word gsm_asl (word a, int n)
-{
-	if (n >= 16) return 0;
-	if (n <= -16) return -(a < 0);
-	if (n < 0) return gsm_asr(a, -n);
-	return a << n;
-}
-
-longword gsm_L_asr (longword a, int n)
-{
-	if (n >= 32) return -(a < 0);
-	if (n <= -32) return 0;
-	if (n < 0) return a << -n;
-
-#	ifdef	SASR
-		return a >> n;
-#	else
-		if (a >= 0) return a >> n;
-		else return -(longword)( -(ulongword)a >> n );
-#	endif
-}
-
-/*
-**	word gsm_asr (word a, int n)
-**	{
-**		if (n >= 16) return -(a < 0);
-**		if (n <= -16) return 0;
-**		if (n < 0) return a << -n;
-**	
-**	#	ifdef	SASR
-**			return a >> n;
-**	#	else
-**			if (a >= 0) return a >> n;
-**			else return -(word)( -(uword)a >> n );
-**	#	endif
-**	}
-**	
-*/
-/* 
- *  (From p. 46, end of section 4.2.5)
- *
- *  NOTE: The following lines gives [sic] one correct implementation
- *  	  of the div(num, denum) arithmetic operation.  Compute div
- *        which is the integer division of num by denum: with denum
- *	  >= num > 0
- */
-
-word gsm_div P2((num,denum), word num, word denum)
-{
-	longword	L_num   = num;
-	longword	L_denum = denum;
-	word		div 	= 0;
-	int		k 	= 15;
-
-	/* The parameter num sometimes becomes zero.
-	 * Although this is explicitly guarded against in 4.2.5,
-	 * we assume that the result should then be zero as well.
-	 */
-
-	/* assert(num != 0); */
-
-	assert(num >= 0 && denum >= num);
-	if (num == 0)
-	    return 0;
-
-	while (k--) {
-		div   <<= 1;
-		L_num <<= 1;
-
-		if (L_num >= L_denum) {
-			L_num -= L_denum;
-			div++;
-		}
-	}
-
-	return div;
-}
--- a/common/libsndfile/src/GSM610/code.c
+++ /dev/null
@@ -1,97 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/code.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-
-
-
-#include	<stdlib.h>
-#include	<string.h>
-
-#include	"config.h"
-
-#include	"private.h"
-#include	"gsm.h"
-#include	"proto.h"
-
-/* 
- *  4.2 FIXED POINT IMPLEMENTATION OF THE RPE-LTP CODER 
- */
-
-void Gsm_Coder P8((S,s,LARc,Nc,bc,Mc,xmaxc,xMc),
-
-	struct gsm_state	* S,
-
-	word	* s,	/* [0..159] samples		  	IN	*/
-
-/*
- * The RPE-LTD coder works on a frame by frame basis.  The length of
- * the frame is equal to 160 samples.  Some computations are done
- * once per frame to produce at the output of the coder the
- * LARc[1..8] parameters which are the coded LAR coefficients and 
- * also to realize the inverse filtering operation for the entire
- * frame (160 samples of signal d[0..159]).  These parts produce at
- * the output of the coder:
- */
-
-	word	* LARc,	/* [0..7] LAR coefficients		OUT	*/
-
-/*
- * Procedure 4.2.11 to 4.2.18 are to be executed four times per
- * frame.  That means once for each sub-segment RPE-LTP analysis of
- * 40 samples.  These parts produce at the output of the coder:
- */
-
-	word	* Nc,	/* [0..3] LTP lag			OUT 	*/
-	word	* bc,	/* [0..3] coded LTP gain		OUT 	*/
-	word	* Mc,	/* [0..3] RPE grid selection		OUT     */
-	word	* xmaxc,/* [0..3] Coded maximum amplitude	OUT	*/
-	word	* xMc	/* [13*4] normalized RPE samples	OUT	*/
-)
-{
-	int	k;
-	word	* dp  = S->dp0 + 120;	/* [ -120...-1 ] */
-	word	* dpp = dp;		/* [ 0...39 ]	 */
-
-	static word e[50];
-
-	word	so[160];
-
-	Gsm_Preprocess			(S, s, so);
-	Gsm_LPC_Analysis		(S, so, LARc);
-	Gsm_Short_Term_Analysis_Filter	(S, LARc, so);
-
-	for (k = 0; k <= 3; k++, xMc += 13) {
-
-		Gsm_Long_Term_Predictor	( S,
-					 so+k*40, /* d      [0..39] IN	*/
-					 dp,	  /* dp  [-120..-1] IN	*/
-					e + 5,	  /* e      [0..39] OUT	*/
-					dpp,	  /* dpp    [0..39] OUT */
-					 Nc++,
-					 bc++);
-
-		Gsm_RPE_Encoding	( S,
-					e + 5,	/* e	  ][0..39][ IN/OUT */
-					  xmaxc++, Mc++, xMc );
-		/*
-		 * Gsm_Update_of_reconstructed_short_time_residual_signal
-		 *			( dpp, e + 5, dp );
-		 */
-
-		{ register int i;
-		  register longword ltmp;
-		  for (i = 0; i <= 39; i++)
-			dp[ i ] = GSM_ADD( e[5 + i], dpp[i] );
-		}
-		dp  += 40;
-		dpp += 40;
-
-	}
-	(void)memcpy( (char *)S->dp0, (char *)(S->dp0 + 160),
-		120 * sizeof(*S->dp0) );
-}
--- a/common/libsndfile/src/GSM610/config.h
+++ /dev/null
@@ -1,27 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/*$Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/config.h,v 1.2 2002/02/13 12:42:02 menno Exp $*/
-
-#ifndef	CONFIG_H
-#define	CONFIG_H
-
-#define	HAS_STDLIB_H	1		/* /usr/include/stdlib.h	*/
-#define	HAS_FCNTL_H	1		/* /usr/include/fcntl.h		*/
-
-#define	HAS_FSTAT 	1		/* fstat syscall		*/
-#define	HAS_FCHMOD 	1		/* fchmod syscall		*/
-#define	HAS_CHMOD 	1		/* chmod syscall		*/
-#define	HAS_FCHOWN 	1		/* fchown syscall		*/
-#define	HAS_CHOWN 	1		/* chown syscall		*/
-
-#define	HAS_STRING_H 	1		/* /usr/include/string.h 	*/
-
-#define	HAS_UNISTD_H	1		/* /usr/include/unistd.h	*/
-#define	HAS_UTIME	1		/* POSIX utime(path, times)	*/
-#define	HAS_UTIME_H	1		/* UTIME header file		*/
-
-#endif	/* CONFIG_H */
--- a/common/libsndfile/src/GSM610/decode.c
+++ /dev/null
@@ -1,63 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/decode.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include <stdio.h>
-
-#include	"private.h"
-#include	"gsm.h"
-#include	"proto.h"
-
-/*
- *  4.3 FIXED POINT IMPLEMENTATION OF THE RPE-LTP DECODER
- */
-
-static void Postprocessing P2((S,s),
-	struct gsm_state	* S,
-	register word 		* s)
-{
-	register int		k;
-	register word		msr = S->msr;
-	register longword	ltmp;	/* for GSM_ADD */
-	register word		tmp;
-
-	for (k = 160; k--; s++) {
-		tmp = GSM_MULT_R( msr, 28180 );
-		msr = GSM_ADD(*s, tmp);  	   /* Deemphasis 	     */
-		*s  = GSM_ADD(msr, msr) & 0xFFF8;  /* Truncation & Upscaling */
-	}
-	S->msr = msr;
-}
-
-void Gsm_Decoder P8((S,LARcr, Ncr,bcr,Mcr,xmaxcr,xMcr,s),
-	struct gsm_state	* S,
-
-	word		* LARcr,	/* [0..7]		IN	*/
-
-	word		* Ncr,		/* [0..3] 		IN 	*/
-	word		* bcr,		/* [0..3]		IN	*/
-	word		* Mcr,		/* [0..3] 		IN 	*/
-	word		* xmaxcr,	/* [0..3]		IN 	*/
-	word		* xMcr,		/* [0..13*4]		IN	*/
-
-	word		* s)		/* [0..159]		OUT 	*/
-{
-	int		j, k;
-	word		erp[40], wt[160];
-	word		* drp = S->dp0 + 120;
-
-	for (j=0; j <= 3; j++, xmaxcr++, bcr++, Ncr++, Mcr++, xMcr += 13) {
-
-		Gsm_RPE_Decoding( S, *xmaxcr, *Mcr, xMcr, erp );
-		Gsm_Long_Term_Synthesis_Filtering( S, *Ncr, *bcr, erp, drp );
-
-		for (k = 0; k <= 39; k++) wt[ j * 40 + k ] =  drp[ k ];
-	}
-
-	Gsm_Short_Term_Synthesis_Filter( S, LARcr, wt, s );
-	Postprocessing(S, s);
-}
--- a/common/libsndfile/src/GSM610/gsm.h
+++ /dev/null
@@ -1,71 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/*$Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/gsm.h,v 1.2 2002/02/13 12:42:02 menno Exp $*/
-
-#ifndef	GSM_H
-#define	GSM_H
-
-#ifdef __cplusplus
-#	define	NeedFunctionPrototypes	1
-#endif
-
-#if __STDC__
-#	define	NeedFunctionPrototypes	1
-#endif
-
-#ifdef _NO_PROTO
-#	undef	NeedFunctionPrototypes
-#endif
-
-#ifdef NeedFunctionPrototypes
-#   include	<stdio.h>		/* for FILE * 	*/
-#endif
-
-#undef GSM_P
-#if NeedFunctionPrototypes
-#	define	GSM_P( protos )	protos
-#else
-#	define  GSM_P( protos )	( /* protos */ )
-#endif
-
-/*
- *	Interface
- */
-
-typedef struct gsm_state * 	gsm;
-typedef short		   	gsm_signal;		/* signed 16 bit */
-typedef unsigned char		gsm_byte;
-typedef gsm_byte 		gsm_frame[33];		/* 33 * 8 bits	 */
-
-#define	GSM_MAGIC		0xD		  	/* 13 kbit/s RPE-LTP */
-
-#define	GSM_PATCHLEVEL		10
-#define	GSM_MINOR		0
-#define	GSM_MAJOR		1
-
-#define	GSM_OPT_VERBOSE		1
-#define	GSM_OPT_FAST		2
-#define	GSM_OPT_LTP_CUT		3
-#define	GSM_OPT_WAV49		4
-#define	GSM_OPT_FRAME_INDEX	5
-#define	GSM_OPT_FRAME_CHAIN	6
-
-extern gsm  gsm_create 	GSM_P((void));
-extern void gsm_destroy GSM_P((gsm));	
-
-extern int  gsm_print   GSM_P((FILE *, gsm, gsm_byte  *));
-extern int  gsm_option  GSM_P((gsm, int, int *));
-
-extern void gsm_encode  GSM_P((gsm, gsm_signal *, gsm_byte  *));
-extern int  gsm_decode  GSM_P((gsm, gsm_byte   *, gsm_signal *));
-
-extern int  gsm_explode GSM_P((gsm, gsm_byte   *, gsm_signal *));
-extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte   *));
-
-#undef	GSM_P
-
-#endif	/* GSM_H */
--- a/common/libsndfile/src/GSM610/gsm_create.c
+++ /dev/null
@@ -1,45 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-static char const	ident[] = "$Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/gsm_create.c,v 1.2 2002/02/13 12:42:02 menno Exp $";
-
-#include	"config.h"
-
-#ifdef	HAS_STRING_H
-#include	<string.h>
-#else
-#	include "proto.h"
-	extern char	* memset P((char *, int, int));
-#endif
-
-#ifdef	HAS_STDLIB_H
-#	include	<stdlib.h>
-#else
-#	ifdef	HAS_MALLOC_H
-#		include 	<malloc.h>
-#	else
-		extern char * malloc();
-#	endif
-#endif
-
-#include <stdio.h>
-
-#include "gsm.h"
-#include "private.h"
-#include "proto.h"
-
-gsm gsm_create P0()
-{
-	gsm  r;
-
-	r = (gsm)malloc(sizeof(struct gsm_state));
-	if (!r) return r;
-
-	memset((char *)r, 0, sizeof(*r));
-	r->nrp = 40;
-
-	return r;
-}
--- a/common/libsndfile/src/GSM610/gsm_decode.c
+++ /dev/null
@@ -1,361 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/gsm_decode.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include "private.h"
-
-#include "gsm.h"
-#include "proto.h"
-
-int gsm_decode P3((s, c, target), gsm s, gsm_byte * c, gsm_signal * target)
-{
-	word  	LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
-
-#ifdef WAV49
-	if (s->wav_fmt) {
-
-		uword sr = 0;
-
-		s->frame_index = !s->frame_index;
-		if (s->frame_index) {
-
-			sr = *c++;
-			LARc[0] = sr & 0x3f;  sr >>= 6;
-			sr |= (uword)*c++ << 2;
-			LARc[1] = sr & 0x3f;  sr >>= 6;
-			sr |= (uword)*c++ << 4;
-			LARc[2] = sr & 0x1f;  sr >>= 5;
-			LARc[3] = sr & 0x1f;  sr >>= 5;
-			sr |= (uword)*c++ << 2;
-			LARc[4] = sr & 0xf;  sr >>= 4;
-			LARc[5] = sr & 0xf;  sr >>= 4;
-			sr |= (uword)*c++ << 2;			/* 5 */
-			LARc[6] = sr & 0x7;  sr >>= 3;
-			LARc[7] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 4;
-			Nc[0] = sr & 0x7f;  sr >>= 7;
-			bc[0] = sr & 0x3;  sr >>= 2;
-			Mc[0] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 1;
-			xmaxc[0] = sr & 0x3f;  sr >>= 6;
-			xmc[0] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[1] = sr & 0x7;  sr >>= 3;
-			xmc[2] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[3] = sr & 0x7;  sr >>= 3;
-			xmc[4] = sr & 0x7;  sr >>= 3;
-			xmc[5] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;			/* 10 */
-			xmc[6] = sr & 0x7;  sr >>= 3;
-			xmc[7] = sr & 0x7;  sr >>= 3;
-			xmc[8] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[9] = sr & 0x7;  sr >>= 3;
-			xmc[10] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[11] = sr & 0x7;  sr >>= 3;
-			xmc[12] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 4;
-			Nc[1] = sr & 0x7f;  sr >>= 7;
-			bc[1] = sr & 0x3;  sr >>= 2;
-			Mc[1] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 1;
-			xmaxc[1] = sr & 0x3f;  sr >>= 6;
-			xmc[13] = sr & 0x7;  sr >>= 3;
-			sr = *c++;				/* 15 */
-			xmc[14] = sr & 0x7;  sr >>= 3;
-			xmc[15] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[16] = sr & 0x7;  sr >>= 3;
-			xmc[17] = sr & 0x7;  sr >>= 3;
-			xmc[18] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[19] = sr & 0x7;  sr >>= 3;
-			xmc[20] = sr & 0x7;  sr >>= 3;
-			xmc[21] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[22] = sr & 0x7;  sr >>= 3;
-			xmc[23] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[24] = sr & 0x7;  sr >>= 3;
-			xmc[25] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 4;			/* 20 */
-			Nc[2] = sr & 0x7f;  sr >>= 7;
-			bc[2] = sr & 0x3;  sr >>= 2;
-			Mc[2] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 1;
-			xmaxc[2] = sr & 0x3f;  sr >>= 6;
-			xmc[26] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[27] = sr & 0x7;  sr >>= 3;
-			xmc[28] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[29] = sr & 0x7;  sr >>= 3;
-			xmc[30] = sr & 0x7;  sr >>= 3;
-			xmc[31] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[32] = sr & 0x7;  sr >>= 3;
-			xmc[33] = sr & 0x7;  sr >>= 3;
-			xmc[34] = sr & 0x7;  sr >>= 3;
-			sr = *c++;				/* 25 */
-			xmc[35] = sr & 0x7;  sr >>= 3;
-			xmc[36] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[37] = sr & 0x7;  sr >>= 3;
-			xmc[38] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 4;
-			Nc[3] = sr & 0x7f;  sr >>= 7;
-			bc[3] = sr & 0x3;  sr >>= 2;
-			Mc[3] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 1;
-			xmaxc[3] = sr & 0x3f;  sr >>= 6;
-			xmc[39] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[40] = sr & 0x7;  sr >>= 3;
-			xmc[41] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;			/* 30 */
-			xmc[42] = sr & 0x7;  sr >>= 3;
-			xmc[43] = sr & 0x7;  sr >>= 3;
-			xmc[44] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[45] = sr & 0x7;  sr >>= 3;
-			xmc[46] = sr & 0x7;  sr >>= 3;
-			xmc[47] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[48] = sr & 0x7;  sr >>= 3;
-			xmc[49] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[50] = sr & 0x7;  sr >>= 3;
-			xmc[51] = sr & 0x7;  sr >>= 3;
-
-			s->frame_chain = sr & 0xf;
-		}
-		else {
-			sr = s->frame_chain;
-			sr |= (uword)*c++ << 4;			/* 1 */
-			LARc[0] = sr & 0x3f;  sr >>= 6;
-			LARc[1] = sr & 0x3f;  sr >>= 6;
-			sr = *c++;
-			LARc[2] = sr & 0x1f;  sr >>= 5;
-			sr |= (uword)*c++ << 3;
-			LARc[3] = sr & 0x1f;  sr >>= 5;
-			LARc[4] = sr & 0xf;  sr >>= 4;
-			sr |= (uword)*c++ << 2;
-			LARc[5] = sr & 0xf;  sr >>= 4;
-			LARc[6] = sr & 0x7;  sr >>= 3;
-			LARc[7] = sr & 0x7;  sr >>= 3;
-			sr = *c++;				/* 5 */
-			Nc[0] = sr & 0x7f;  sr >>= 7;
-			sr |= (uword)*c++ << 1;
-			bc[0] = sr & 0x3;  sr >>= 2;
-			Mc[0] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 5;
-			xmaxc[0] = sr & 0x3f;  sr >>= 6;
-			xmc[0] = sr & 0x7;  sr >>= 3;
-			xmc[1] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[2] = sr & 0x7;  sr >>= 3;
-			xmc[3] = sr & 0x7;  sr >>= 3;
-			xmc[4] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[5] = sr & 0x7;  sr >>= 3;
-			xmc[6] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;			/* 10 */
-			xmc[7] = sr & 0x7;  sr >>= 3;
-			xmc[8] = sr & 0x7;  sr >>= 3;
-			xmc[9] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[10] = sr & 0x7;  sr >>= 3;
-			xmc[11] = sr & 0x7;  sr >>= 3;
-			xmc[12] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			Nc[1] = sr & 0x7f;  sr >>= 7;
-			sr |= (uword)*c++ << 1;
-			bc[1] = sr & 0x3;  sr >>= 2;
-			Mc[1] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 5;
-			xmaxc[1] = sr & 0x3f;  sr >>= 6;
-			xmc[13] = sr & 0x7;  sr >>= 3;
-			xmc[14] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;			/* 15 */
-			xmc[15] = sr & 0x7;  sr >>= 3;
-			xmc[16] = sr & 0x7;  sr >>= 3;
-			xmc[17] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[18] = sr & 0x7;  sr >>= 3;
-			xmc[19] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[20] = sr & 0x7;  sr >>= 3;
-			xmc[21] = sr & 0x7;  sr >>= 3;
-			xmc[22] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[23] = sr & 0x7;  sr >>= 3;
-			xmc[24] = sr & 0x7;  sr >>= 3;
-			xmc[25] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			Nc[2] = sr & 0x7f;  sr >>= 7;
-			sr |= (uword)*c++ << 1;			/* 20 */
-			bc[2] = sr & 0x3;  sr >>= 2;
-			Mc[2] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 5;
-			xmaxc[2] = sr & 0x3f;  sr >>= 6;
-			xmc[26] = sr & 0x7;  sr >>= 3;
-			xmc[27] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;	
-			xmc[28] = sr & 0x7;  sr >>= 3;
-			xmc[29] = sr & 0x7;  sr >>= 3;
-			xmc[30] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			xmc[31] = sr & 0x7;  sr >>= 3;
-			xmc[32] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[33] = sr & 0x7;  sr >>= 3;
-			xmc[34] = sr & 0x7;  sr >>= 3;
-			xmc[35] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;			/* 25 */
-			xmc[36] = sr & 0x7;  sr >>= 3;
-			xmc[37] = sr & 0x7;  sr >>= 3;
-			xmc[38] = sr & 0x7;  sr >>= 3;
-			sr = *c++;
-			Nc[3] = sr & 0x7f;  sr >>= 7;
-			sr |= (uword)*c++ << 1;		
-			bc[3] = sr & 0x3;  sr >>= 2;
-			Mc[3] = sr & 0x3;  sr >>= 2;
-			sr |= (uword)*c++ << 5;
-			xmaxc[3] = sr & 0x3f;  sr >>= 6;
-			xmc[39] = sr & 0x7;  sr >>= 3;
-			xmc[40] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[41] = sr & 0x7;  sr >>= 3;
-			xmc[42] = sr & 0x7;  sr >>= 3;
-			xmc[43] = sr & 0x7;  sr >>= 3;
-			sr = *c++;				/* 30 */
-			xmc[44] = sr & 0x7;  sr >>= 3;
-			xmc[45] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 2;
-			xmc[46] = sr & 0x7;  sr >>= 3;
-			xmc[47] = sr & 0x7;  sr >>= 3;
-			xmc[48] = sr & 0x7;  sr >>= 3;
-			sr |= (uword)*c++ << 1;
-			xmc[49] = sr & 0x7;  sr >>= 3;
-			xmc[50] = sr & 0x7;  sr >>= 3;
-			xmc[51] = sr & 0x7;  sr >>= 3;
-		}
-	}
-	else
-#endif
-	{
-		/* GSM_MAGIC  = (*c >> 4) & 0xF; */
-
-		if (((*c >> 4) & 0x0F) != GSM_MAGIC) return -1;
-
-		LARc[0]  = (*c++ & 0xF) << 2;		/* 1 */
-		LARc[0] |= (*c >> 6) & 0x3;
-		LARc[1]  = *c++ & 0x3F;
-		LARc[2]  = (*c >> 3) & 0x1F;
-		LARc[3]  = (*c++ & 0x7) << 2;
-		LARc[3] |= (*c >> 6) & 0x3;
-		LARc[4]  = (*c >> 2) & 0xF;
-		LARc[5]  = (*c++ & 0x3) << 2;
-		LARc[5] |= (*c >> 6) & 0x3;
-		LARc[6]  = (*c >> 3) & 0x7;
-		LARc[7]  = *c++ & 0x7;
-		Nc[0]  = (*c >> 1) & 0x7F;
-		bc[0]  = (*c++ & 0x1) << 1;
-		bc[0] |= (*c >> 7) & 0x1;
-		Mc[0]  = (*c >> 5) & 0x3;
-		xmaxc[0]  = (*c++ & 0x1F) << 1;
-		xmaxc[0] |= (*c >> 7) & 0x1;
-		xmc[0]  = (*c >> 4) & 0x7;
-		xmc[1]  = (*c >> 1) & 0x7;
-		xmc[2]  = (*c++ & 0x1) << 2;
-		xmc[2] |= (*c >> 6) & 0x3;
-		xmc[3]  = (*c >> 3) & 0x7;
-		xmc[4]  = *c++ & 0x7;
-		xmc[5]  = (*c >> 5) & 0x7;
-		xmc[6]  = (*c >> 2) & 0x7;
-		xmc[7]  = (*c++ & 0x3) << 1;		/* 10 */
-		xmc[7] |= (*c >> 7) & 0x1;
-		xmc[8]  = (*c >> 4) & 0x7;
-		xmc[9]  = (*c >> 1) & 0x7;
-		xmc[10]  = (*c++ & 0x1) << 2;
-		xmc[10] |= (*c >> 6) & 0x3;
-		xmc[11]  = (*c >> 3) & 0x7;
-		xmc[12]  = *c++ & 0x7;
-		Nc[1]  = (*c >> 1) & 0x7F;
-		bc[1]  = (*c++ & 0x1) << 1;
-		bc[1] |= (*c >> 7) & 0x1;
-		Mc[1]  = (*c >> 5) & 0x3;
-		xmaxc[1]  = (*c++ & 0x1F) << 1;
-		xmaxc[1] |= (*c >> 7) & 0x1;
-		xmc[13]  = (*c >> 4) & 0x7;
-		xmc[14]  = (*c >> 1) & 0x7;
-		xmc[15]  = (*c++ & 0x1) << 2;
-		xmc[15] |= (*c >> 6) & 0x3;
-		xmc[16]  = (*c >> 3) & 0x7;
-		xmc[17]  = *c++ & 0x7;
-		xmc[18]  = (*c >> 5) & 0x7;
-		xmc[19]  = (*c >> 2) & 0x7;
-		xmc[20]  = (*c++ & 0x3) << 1;
-		xmc[20] |= (*c >> 7) & 0x1;
-		xmc[21]  = (*c >> 4) & 0x7;
-		xmc[22]  = (*c >> 1) & 0x7;
-		xmc[23]  = (*c++ & 0x1) << 2;
-		xmc[23] |= (*c >> 6) & 0x3;
-		xmc[24]  = (*c >> 3) & 0x7;
-		xmc[25]  = *c++ & 0x7;
-		Nc[2]  = (*c >> 1) & 0x7F;
-		bc[2]  = (*c++ & 0x1) << 1;		/* 20 */
-		bc[2] |= (*c >> 7) & 0x1;
-		Mc[2]  = (*c >> 5) & 0x3;
-		xmaxc[2]  = (*c++ & 0x1F) << 1;
-		xmaxc[2] |= (*c >> 7) & 0x1;
-		xmc[26]  = (*c >> 4) & 0x7;
-		xmc[27]  = (*c >> 1) & 0x7;
-		xmc[28]  = (*c++ & 0x1) << 2;
-		xmc[28] |= (*c >> 6) & 0x3;
-		xmc[29]  = (*c >> 3) & 0x7;
-		xmc[30]  = *c++ & 0x7;
-		xmc[31]  = (*c >> 5) & 0x7;
-		xmc[32]  = (*c >> 2) & 0x7;
-		xmc[33]  = (*c++ & 0x3) << 1;
-		xmc[33] |= (*c >> 7) & 0x1;
-		xmc[34]  = (*c >> 4) & 0x7;
-		xmc[35]  = (*c >> 1) & 0x7;
-		xmc[36]  = (*c++ & 0x1) << 2;
-		xmc[36] |= (*c >> 6) & 0x3;
-		xmc[37]  = (*c >> 3) & 0x7;
-		xmc[38]  = *c++ & 0x7;
-		Nc[3]  = (*c >> 1) & 0x7F;
-		bc[3]  = (*c++ & 0x1) << 1;
-		bc[3] |= (*c >> 7) & 0x1;
-		Mc[3]  = (*c >> 5) & 0x3;
-		xmaxc[3]  = (*c++ & 0x1F) << 1;
-		xmaxc[3] |= (*c >> 7) & 0x1;
-		xmc[39]  = (*c >> 4) & 0x7;
-		xmc[40]  = (*c >> 1) & 0x7;
-		xmc[41]  = (*c++ & 0x1) << 2;
-		xmc[41] |= (*c >> 6) & 0x3;
-		xmc[42]  = (*c >> 3) & 0x7;
-		xmc[43]  = *c++ & 0x7;			/* 30  */
-		xmc[44]  = (*c >> 5) & 0x7;
-		xmc[45]  = (*c >> 2) & 0x7;
-		xmc[46]  = (*c++ & 0x3) << 1;
-		xmc[46] |= (*c >> 7) & 0x1;
-		xmc[47]  = (*c >> 4) & 0x7;
-		xmc[48]  = (*c >> 1) & 0x7;
-		xmc[49]  = (*c++ & 0x1) << 2;
-		xmc[49] |= (*c >> 6) & 0x3;
-		xmc[50]  = (*c >> 3) & 0x7;
-		xmc[51]  = *c & 0x7;			/* 33 */
-	}
-
-	Gsm_Decoder(s, LARc, Nc, bc, Mc, xmaxc, xmc, target);
-
-	return 0;
-}
--- a/common/libsndfile/src/GSM610/gsm_destroy.c
+++ /dev/null
@@ -1,26 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/gsm_destroy.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include "gsm.h"
-#include "config.h"
-#include "proto.h"
-
-#ifdef	HAS_STDLIB_H
-#	include	<stdlib.h>
-#else
-#	ifdef	HAS_MALLOC_H
-#		include 	<malloc.h>
-#	else
-		extern void free();
-#	endif
-#endif
-
-void gsm_destroy P1((S), gsm S)
-{
-	if (S) free((char *)S);
-}
--- a/common/libsndfile/src/GSM610/gsm_encode.c
+++ /dev/null
@@ -1,451 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/gsm_encode.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include "private.h"
-#include "gsm.h"
-#include "proto.h"
-
-void gsm_encode P3((s, source, c), gsm s, gsm_signal * source, gsm_byte * c)
-{
-	word	 	LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
-
-	Gsm_Coder(s, source, LARc, Nc, bc, Mc, xmaxc, xmc);
-
-
-	/*	variable	size
-
-		GSM_MAGIC	4
-
-		LARc[0]		6
-		LARc[1]		6
-		LARc[2]		5
-		LARc[3]		5
-		LARc[4]		4
-		LARc[5]		4
-		LARc[6]		3
-		LARc[7]		3
-
-		Nc[0]		7
-		bc[0]		2
-		Mc[0]		2
-		xmaxc[0]	6
-		xmc[0]		3
-		xmc[1]		3
-		xmc[2]		3
-		xmc[3]		3
-		xmc[4]		3
-		xmc[5]		3
-		xmc[6]		3
-		xmc[7]		3
-		xmc[8]		3
-		xmc[9]		3
-		xmc[10]		3
-		xmc[11]		3
-		xmc[12]		3
-
-		Nc[1]		7
-		bc[1]		2
-		Mc[1]		2
-		xmaxc[1]	6
-		xmc[13]		3
-		xmc[14]		3
-		xmc[15]		3
-		xmc[16]		3
-		xmc[17]		3
-		xmc[18]		3
-		xmc[19]		3
-		xmc[20]		3
-		xmc[21]		3
-		xmc[22]		3
-		xmc[23]		3
-		xmc[24]		3
-		xmc[25]		3
-
-		Nc[2]		7
-		bc[2]		2
-		Mc[2]		2
-		xmaxc[2]	6
-		xmc[26]		3
-		xmc[27]		3
-		xmc[28]		3
-		xmc[29]		3
-		xmc[30]		3
-		xmc[31]		3
-		xmc[32]		3
-		xmc[33]		3
-		xmc[34]		3
-		xmc[35]		3
-		xmc[36]		3
-		xmc[37]		3
-		xmc[38]		3
-
-		Nc[3]		7
-		bc[3]		2
-		Mc[3]		2
-		xmaxc[3]	6
-		xmc[39]		3
-		xmc[40]		3
-		xmc[41]		3
-		xmc[42]		3
-		xmc[43]		3
-		xmc[44]		3
-		xmc[45]		3
-		xmc[46]		3
-		xmc[47]		3
-		xmc[48]		3
-		xmc[49]		3
-		xmc[50]		3
-		xmc[51]		3
-	*/
-
-#ifdef WAV49
-
-	if (s->wav_fmt) {
-		s->frame_index = !s->frame_index;
-		if (s->frame_index) {
-
-			uword sr;
-
-			sr = 0;
-			sr = sr >> 6 | LARc[0] << 10;
-			sr = sr >> 6 | LARc[1] << 10;
-			*c++ = sr >> 4;
-			sr = sr >> 5 | LARc[2] << 11;
-			*c++ = sr >> 7;
-			sr = sr >> 5 | LARc[3] << 11;
-			sr = sr >> 4 | LARc[4] << 12;
-			*c++ = sr >> 6;
-			sr = sr >> 4 | LARc[5] << 12;
-			sr = sr >> 3 | LARc[6] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | LARc[7] << 13;
-			sr = sr >> 7 | Nc[0] << 9;
-			*c++ = sr >> 5;
-			sr = sr >> 2 | bc[0] << 14;
-			sr = sr >> 2 | Mc[0] << 14;
-			sr = sr >> 6 | xmaxc[0] << 10;
-			*c++ = sr >> 3;
-			sr = sr >> 3 | xmc[0] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[1] << 13;
-			sr = sr >> 3 | xmc[2] << 13;
-			sr = sr >> 3 | xmc[3] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[4] << 13;
-			sr = sr >> 3 | xmc[5] << 13;
-			sr = sr >> 3 | xmc[6] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[7] << 13;
-			sr = sr >> 3 | xmc[8] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[9] << 13;
-			sr = sr >> 3 | xmc[10] << 13;
-			sr = sr >> 3 | xmc[11] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[12] << 13;
-			sr = sr >> 7 | Nc[1] << 9;
-			*c++ = sr >> 5;
-			sr = sr >> 2 | bc[1] << 14;
-			sr = sr >> 2 | Mc[1] << 14;
-			sr = sr >> 6 | xmaxc[1] << 10;
-			*c++ = sr >> 3;
-			sr = sr >> 3 | xmc[13] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[14] << 13;
-			sr = sr >> 3 | xmc[15] << 13;
-			sr = sr >> 3 | xmc[16] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[17] << 13;
-			sr = sr >> 3 | xmc[18] << 13;
-			sr = sr >> 3 | xmc[19] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[20] << 13;
-			sr = sr >> 3 | xmc[21] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[22] << 13;
-			sr = sr >> 3 | xmc[23] << 13;
-			sr = sr >> 3 | xmc[24] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[25] << 13;
-			sr = sr >> 7 | Nc[2] << 9;
-			*c++ = sr >> 5;
-			sr = sr >> 2 | bc[2] << 14;
-			sr = sr >> 2 | Mc[2] << 14;
-			sr = sr >> 6 | xmaxc[2] << 10;
-			*c++ = sr >> 3;
-			sr = sr >> 3 | xmc[26] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[27] << 13;
-			sr = sr >> 3 | xmc[28] << 13;
-			sr = sr >> 3 | xmc[29] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[30] << 13;
-			sr = sr >> 3 | xmc[31] << 13;
-			sr = sr >> 3 | xmc[32] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[33] << 13;
-			sr = sr >> 3 | xmc[34] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[35] << 13;
-			sr = sr >> 3 | xmc[36] << 13;
-			sr = sr >> 3 | xmc[37] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[38] << 13;
-			sr = sr >> 7 | Nc[3] << 9;
-			*c++ = sr >> 5;
-			sr = sr >> 2 | bc[3] << 14;
-			sr = sr >> 2 | Mc[3] << 14;
-			sr = sr >> 6 | xmaxc[3] << 10;
-			*c++ = sr >> 3;
-			sr = sr >> 3 | xmc[39] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[40] << 13;
-			sr = sr >> 3 | xmc[41] << 13;
-			sr = sr >> 3 | xmc[42] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[43] << 13;
-			sr = sr >> 3 | xmc[44] << 13;
-			sr = sr >> 3 | xmc[45] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[46] << 13;
-			sr = sr >> 3 | xmc[47] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[48] << 13;
-			sr = sr >> 3 | xmc[49] << 13;
-			sr = sr >> 3 | xmc[50] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[51] << 13;
-			sr = sr >> 4;
-			*c = sr >> 8;
-			s->frame_chain = *c;
-		}
-		else {
-			uword sr;
-
-			sr = 0;
-			sr = sr >> 4 | s->frame_chain << 12;
-			sr = sr >> 6 | LARc[0] << 10;
-			*c++ = sr >> 6;
-			sr = sr >> 6 | LARc[1] << 10;
-			*c++ = sr >> 8;
-			sr = sr >> 5 | LARc[2] << 11;
-			sr = sr >> 5 | LARc[3] << 11;
-			*c++ = sr >> 6;
-			sr = sr >> 4 | LARc[4] << 12;
-			sr = sr >> 4 | LARc[5] << 12;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | LARc[6] << 13;
-			sr = sr >> 3 | LARc[7] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 7 | Nc[0] << 9;
-			sr = sr >> 2 | bc[0] << 14;
-			*c++ = sr >> 7;
-			sr = sr >> 2 | Mc[0] << 14;
-			sr = sr >> 6 | xmaxc[0] << 10;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[0] << 13;
-			sr = sr >> 3 | xmc[1] << 13;
-			sr = sr >> 3 | xmc[2] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[3] << 13;
-			sr = sr >> 3 | xmc[4] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[5] << 13;
-			sr = sr >> 3 | xmc[6] << 13;
-			sr = sr >> 3 | xmc[7] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[8] << 13;
-			sr = sr >> 3 | xmc[9] << 13;
-			sr = sr >> 3 | xmc[10] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[11] << 13;
-			sr = sr >> 3 | xmc[12] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 7 | Nc[1] << 9;
-			sr = sr >> 2 | bc[1] << 14;
-			*c++ = sr >> 7;
-			sr = sr >> 2 | Mc[1] << 14;
-			sr = sr >> 6 | xmaxc[1] << 10;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[13] << 13;
-			sr = sr >> 3 | xmc[14] << 13;
-			sr = sr >> 3 | xmc[15] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[16] << 13;
-			sr = sr >> 3 | xmc[17] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[18] << 13;
-			sr = sr >> 3 | xmc[19] << 13;
-			sr = sr >> 3 | xmc[20] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[21] << 13;
-			sr = sr >> 3 | xmc[22] << 13;
-			sr = sr >> 3 | xmc[23] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[24] << 13;
-			sr = sr >> 3 | xmc[25] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 7 | Nc[2] << 9;
-			sr = sr >> 2 | bc[2] << 14;
-			*c++ = sr >> 7;
-			sr = sr >> 2 | Mc[2] << 14;
-			sr = sr >> 6 | xmaxc[2] << 10;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[26] << 13;
-			sr = sr >> 3 | xmc[27] << 13;
-			sr = sr >> 3 | xmc[28] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[29] << 13;
-			sr = sr >> 3 | xmc[30] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[31] << 13;
-			sr = sr >> 3 | xmc[32] << 13;
-			sr = sr >> 3 | xmc[33] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[34] << 13;
-			sr = sr >> 3 | xmc[35] << 13;
-			sr = sr >> 3 | xmc[36] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[37] << 13;
-			sr = sr >> 3 | xmc[38] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 7 | Nc[3] << 9;
-			sr = sr >> 2 | bc[3] << 14;
-			*c++ = sr >> 7;
-			sr = sr >> 2 | Mc[3] << 14;
-			sr = sr >> 6 | xmaxc[3] << 10;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[39] << 13;
-			sr = sr >> 3 | xmc[40] << 13;
-			sr = sr >> 3 | xmc[41] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[42] << 13;
-			sr = sr >> 3 | xmc[43] << 13;
-			*c++ = sr >> 8;
-			sr = sr >> 3 | xmc[44] << 13;
-			sr = sr >> 3 | xmc[45] << 13;
-			sr = sr >> 3 | xmc[46] << 13;
-			*c++ = sr >> 7;
-			sr = sr >> 3 | xmc[47] << 13;
-			sr = sr >> 3 | xmc[48] << 13;
-			sr = sr >> 3 | xmc[49] << 13;
-			*c++ = sr >> 6;
-			sr = sr >> 3 | xmc[50] << 13;
-			sr = sr >> 3 | xmc[51] << 13;
-			*c++ = sr >> 8;
-		}
-	}
-
-	else
-
-#endif	/* WAV49 */
-	{
-
-		*c++ =   ((GSM_MAGIC & 0xF) << 4)		/* 1 */
-		       | ((LARc[0] >> 2) & 0xF);
-		*c++ =   ((LARc[0] & 0x3) << 6)
-		       | (LARc[1] & 0x3F);
-		*c++ =   ((LARc[2] & 0x1F) << 3)
-		       | ((LARc[3] >> 2) & 0x7);
-		*c++ =   ((LARc[3] & 0x3) << 6)
-		       | ((LARc[4] & 0xF) << 2)
-		       | ((LARc[5] >> 2) & 0x3);
-		*c++ =   ((LARc[5] & 0x3) << 6)
-		       | ((LARc[6] & 0x7) << 3)
-		       | (LARc[7] & 0x7);
-		*c++ =   ((Nc[0] & 0x7F) << 1)
-		       | ((bc[0] >> 1) & 0x1);
-		*c++ =   ((bc[0] & 0x1) << 7)
-		       | ((Mc[0] & 0x3) << 5)
-		       | ((xmaxc[0] >> 1) & 0x1F);
-		*c++ =   ((xmaxc[0] & 0x1) << 7)
-		       | ((xmc[0] & 0x7) << 4)
-		       | ((xmc[1] & 0x7) << 1)
-		       | ((xmc[2] >> 2) & 0x1);
-		*c++ =   ((xmc[2] & 0x3) << 6)
-		       | ((xmc[3] & 0x7) << 3)
-		       | (xmc[4] & 0x7);
-		*c++ =   ((xmc[5] & 0x7) << 5)			/* 10 */
-		       | ((xmc[6] & 0x7) << 2)
-		       | ((xmc[7] >> 1) & 0x3);
-		*c++ =   ((xmc[7] & 0x1) << 7)
-		       | ((xmc[8] & 0x7) << 4)
-		       | ((xmc[9] & 0x7) << 1)
-		       | ((xmc[10] >> 2) & 0x1);
-		*c++ =   ((xmc[10] & 0x3) << 6)
-		       | ((xmc[11] & 0x7) << 3)
-		       | (xmc[12] & 0x7);
-		*c++ =   ((Nc[1] & 0x7F) << 1)
-		       | ((bc[1] >> 1) & 0x1);
-		*c++ =   ((bc[1] & 0x1) << 7)
-		       | ((Mc[1] & 0x3) << 5)
-		       | ((xmaxc[1] >> 1) & 0x1F);
-		*c++ =   ((xmaxc[1] & 0x1) << 7)
-		       | ((xmc[13] & 0x7) << 4)
-		       | ((xmc[14] & 0x7) << 1)
-		       | ((xmc[15] >> 2) & 0x1);
-		*c++ =   ((xmc[15] & 0x3) << 6)
-		       | ((xmc[16] & 0x7) << 3)
-		       | (xmc[17] & 0x7);
-		*c++ =   ((xmc[18] & 0x7) << 5)
-		       | ((xmc[19] & 0x7) << 2)
-		       | ((xmc[20] >> 1) & 0x3);
-		*c++ =   ((xmc[20] & 0x1) << 7)
-		       | ((xmc[21] & 0x7) << 4)
-		       | ((xmc[22] & 0x7) << 1)
-		       | ((xmc[23] >> 2) & 0x1);
-		*c++ =   ((xmc[23] & 0x3) << 6)
-		       | ((xmc[24] & 0x7) << 3)
-		       | (xmc[25] & 0x7);
-		*c++ =   ((Nc[2] & 0x7F) << 1)			/* 20 */
-		       | ((bc[2] >> 1) & 0x1);
-		*c++ =   ((bc[2] & 0x1) << 7)
-		       | ((Mc[2] & 0x3) << 5)
-		       | ((xmaxc[2] >> 1) & 0x1F);
-		*c++ =   ((xmaxc[2] & 0x1) << 7)
-		       | ((xmc[26] & 0x7) << 4)
-		       | ((xmc[27] & 0x7) << 1)
-		       | ((xmc[28] >> 2) & 0x1);
-		*c++ =   ((xmc[28] & 0x3) << 6)
-		       | ((xmc[29] & 0x7) << 3)
-		       | (xmc[30] & 0x7);
-		*c++ =   ((xmc[31] & 0x7) << 5)
-		       | ((xmc[32] & 0x7) << 2)
-		       | ((xmc[33] >> 1) & 0x3);
-		*c++ =   ((xmc[33] & 0x1) << 7)
-		       | ((xmc[34] & 0x7) << 4)
-		       | ((xmc[35] & 0x7) << 1)
-		       | ((xmc[36] >> 2) & 0x1);
-		*c++ =   ((xmc[36] & 0x3) << 6)
-		       | ((xmc[37] & 0x7) << 3)
-		       | (xmc[38] & 0x7);
-		*c++ =   ((Nc[3] & 0x7F) << 1)
-		       | ((bc[3] >> 1) & 0x1);
-		*c++ =   ((bc[3] & 0x1) << 7)
-		       | ((Mc[3] & 0x3) << 5)
-		       | ((xmaxc[3] >> 1) & 0x1F);
-		*c++ =   ((xmaxc[3] & 0x1) << 7)
-		       | ((xmc[39] & 0x7) << 4)
-		       | ((xmc[40] & 0x7) << 1)
-		       | ((xmc[41] >> 2) & 0x1);
-		*c++ =   ((xmc[41] & 0x3) << 6)			/* 30 */
-		       | ((xmc[42] & 0x7) << 3)
-		       | (xmc[43] & 0x7);
-		*c++ =   ((xmc[44] & 0x7) << 5)
-		       | ((xmc[45] & 0x7) << 2)
-		       | ((xmc[46] >> 1) & 0x3);
-		*c++ =   ((xmc[46] & 0x1) << 7)
-		       | ((xmc[47] & 0x7) << 4)
-		       | ((xmc[48] & 0x7) << 1)
-		       | ((xmc[49] >> 2) & 0x1);
-		*c++ =   ((xmc[49] & 0x3) << 6)
-		       | ((xmc[50] & 0x7) << 3)
-		       | (xmc[51] & 0x7);
-
-	}
-}
--- a/common/libsndfile/src/GSM610/gsm_option.c
+++ /dev/null
@@ -1,69 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/gsm_option.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include "private.h"
-
-#include "gsm.h"
-#include "proto.h"
-
-int gsm_option P3((r, opt, val), gsm r, int opt, int * val)
-{
-	int 	result = -1;
-
-	switch (opt) {
-	case GSM_OPT_LTP_CUT:
-#ifdef 	LTP_CUT
-		result = r->ltp_cut;
-		if (val) r->ltp_cut = *val;
-#endif
-		break;
-
-	case GSM_OPT_VERBOSE:
-#ifndef	NDEBUG
-		result = r->verbose;
-		if (val) r->verbose = *val;
-#endif
-		break;
-
-	case GSM_OPT_FAST:
-
-#if	defined(FAST) && defined(USE_FLOAT_MUL)
-		result = r->fast;
-		if (val) r->fast = !!*val;
-#endif
-		break;
-
-	case GSM_OPT_FRAME_CHAIN:
-
-#ifdef WAV49
-		result = r->frame_chain;
-		if (val) r->frame_chain = *val;
-#endif
-		break;
-
-	case GSM_OPT_FRAME_INDEX:
-
-#ifdef WAV49
-		result = r->frame_index;
-		if (val) r->frame_index = *val;
-#endif
-		break;
-
-	case GSM_OPT_WAV49:
-
-#ifdef WAV49 
-		result = r->wav_fmt;
-		if (val) r->wav_fmt = !!*val;
-#endif
-		break;
-
-	default:
-		break;
-	}
-	return result;
-}
--- a/common/libsndfile/src/GSM610/long_term.c
+++ /dev/null
@@ -1,949 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/long_term.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include <stdio.h>
-#include <assert.h>
-
-#include "private.h"
-
-#include "gsm.h"
-#include "proto.h"
-
-/*
- *  4.2.11 .. 4.2.12 LONG TERM PREDICTOR (LTP) SECTION
- */
-
-
-/*
- * This module computes the LTP gain (bc) and the LTP lag (Nc)
- * for the long term analysis filter.   This is done by calculating a
- * maximum of the cross-correlation function between the current
- * sub-segment short term residual signal d[0..39] (output of
- * the short term analysis filter; for simplification the index
- * of this array begins at 0 and ends at 39 for each sub-segment of the
- * RPE-LTP analysis) and the previous reconstructed short term
- * residual signal dp[ -120 .. -1 ].  A dynamic scaling must be
- * performed to avoid overflow.
- */
-
- /* The next procedure exists in six versions.  First two integer
-  * version (if USE_FLOAT_MUL is not defined); then four floating
-  * point versions, twice with proper scaling (USE_FLOAT_MUL defined),
-  * once without (USE_FLOAT_MUL and FAST defined, and fast run-time
-  * option used).  Every pair has first a Cut version (see the -C
-  * option to toast or the LTP_CUT option to gsm_option()), then the
-  * uncut one.  (For a detailed explanation of why this is altogether
-  * a bad idea, see Henry Spencer and Geoff Collyer, ``#ifdef Considered
-  * Harmful''.)
-  */
-
-#ifndef  USE_FLOAT_MUL
-
-#ifdef	LTP_CUT
-
-static void Cut_Calculation_of_the_LTP_parameters P5((st, d,dp,bc_out,Nc_out),
-
-	struct gsm_state * st,
-
-	register word	* d,		/* [0..39]	IN	*/
-	register word	* dp,		/* [-120..-1]	IN	*/
-	word		* bc_out,	/* 		OUT	*/
-	word		* Nc_out	/* 		OUT	*/
-)
-{
-	register int  	k, lambda;
-	word		Nc, bc;
-	word		wt[40];
-
-	longword	L_result;
-	longword	L_max, L_power;
-	word		R, S, dmax, scal, best_k;
-	word		ltp_cut;
-
-	register word	temp, wt_k;
-
-	/*  Search of the optimum scaling of d[0..39].
-	 */
-	dmax = 0;
-	for (k = 0; k <= 39; k++) {
-		temp = d[k];
-		temp = GSM_ABS( temp );
-		if (temp > dmax) {
-			dmax = temp;
-			best_k = k;
-		}
-	}
-	temp = 0;
-	if (dmax == 0) scal = 0;
-	else {
-		assert(dmax > 0);
-		temp = gsm_norm( (longword)dmax << 16 );
-	}
-	if (temp > 6) scal = 0;
-	else scal = 6 - temp;
-	assert(scal >= 0);
-
-	/* Search for the maximum cross-correlation and coding of the LTP lag
-	 */
-	L_max = 0;
-	Nc    = 40;	/* index for the maximum cross-correlation */
-	wt_k  = SASR(d[best_k], scal);
-
-	for (lambda = 40; lambda <= 120; lambda++) {
-		L_result = (longword)wt_k * dp[best_k - lambda];
-		if (L_result > L_max) {
-			Nc    = lambda;
-			L_max = L_result;
-		}
-	}
-	*Nc_out = Nc;
-	L_max <<= 1;
-
-	/*  Rescaling of L_max
-	 */
-	assert(scal <= 100 && scal >= -100);
-	L_max = L_max >> (6 - scal);	/* sub(6, scal) */
-
-	assert( Nc <= 120 && Nc >= 40);
-
-	/*   Compute the power of the reconstructed short term residual
-	 *   signal dp[..]
-	 */
-	L_power = 0;
-	for (k = 0; k <= 39; k++) {
-
-		register longword L_temp;
-
-		L_temp   = SASR( dp[k - Nc], 3 );
-		L_power += L_temp * L_temp;
-	}
-	L_power <<= 1;	/* from L_MULT */
-
-	/*  Normalization of L_max and L_power
-	 */
-
-	if (L_max <= 0)  {
-		*bc_out = 0;
-		return;
-	}
-	if (L_max >= L_power) {
-		*bc_out = 3;
-		return;
-	}
-
-	temp = gsm_norm( L_power );
-
-	R = SASR( L_max   << temp, 16 );
-	S = SASR( L_power << temp, 16 );
-
-	/*  Coding of the LTP gain
-	 */
-
-	/*  Table 4.3a must be used to obtain the level DLB[i] for the
-	 *  quantization of the LTP gain b to get the coded version bc.
-	 */
-	for (bc = 0; bc <= 2; bc++) if (R <= gsm_mult(S, gsm_DLB[bc])) break;
-	*bc_out = bc;
-}
-
-#endif 	/* LTP_CUT */
-
-static void Calculation_of_the_LTP_parameters P4((d,dp,bc_out,Nc_out),
-	register word	* d,		/* [0..39]	IN	*/
-	register word	* dp,		/* [-120..-1]	IN	*/
-	word		* bc_out,	/* 		OUT	*/
-	word		* Nc_out	/* 		OUT	*/
-)
-{
-	register int  	k, lambda;
-	word		Nc, bc;
-	word		wt[40];
-
-	longword	L_max, L_power;
-	word		R, S, dmax, scal;
-	register word	temp;
-
-	/*  Search of the optimum scaling of d[0..39].
-	 */
-	dmax = 0;
-
-	for (k = 0; k <= 39; k++) {
-		temp = d[k];
-		temp = GSM_ABS( temp );
-		if (temp > dmax) dmax = temp;
-	}
-
-	temp = 0;
-	if (dmax == 0) scal = 0;
-	else {
-		assert(dmax > 0);
-		temp = gsm_norm( (longword)dmax << 16 );
-	}
-
-	if (temp > 6) scal = 0;
-	else scal = 6 - temp;
-
-	assert(scal >= 0);
-
-	/*  Initialization of a working array wt
-	 */
-
-	for (k = 0; k <= 39; k++) wt[k] = SASR( d[k], scal );
-
-	/* Search for the maximum cross-correlation and coding of the LTP lag
-	 */
-	L_max = 0;
-	Nc    = 40;	/* index for the maximum cross-correlation */
-
-	for (lambda = 40; lambda <= 120; lambda++) {
-
-# undef STEP
-#		define STEP(k) 	(longword)wt[k] * dp[k - lambda]
-
-		register longword L_result;
-
-		L_result  = STEP(0)  ; L_result += STEP(1) ;
-		L_result += STEP(2)  ; L_result += STEP(3) ;
-		L_result += STEP(4)  ; L_result += STEP(5)  ;
-		L_result += STEP(6)  ; L_result += STEP(7)  ;
-		L_result += STEP(8)  ; L_result += STEP(9)  ;
-		L_result += STEP(10) ; L_result += STEP(11) ;
-		L_result += STEP(12) ; L_result += STEP(13) ;
-		L_result += STEP(14) ; L_result += STEP(15) ;
-		L_result += STEP(16) ; L_result += STEP(17) ;
-		L_result += STEP(18) ; L_result += STEP(19) ;
-		L_result += STEP(20) ; L_result += STEP(21) ;
-		L_result += STEP(22) ; L_result += STEP(23) ;
-		L_result += STEP(24) ; L_result += STEP(25) ;
-		L_result += STEP(26) ; L_result += STEP(27) ;
-		L_result += STEP(28) ; L_result += STEP(29) ;
-		L_result += STEP(30) ; L_result += STEP(31) ;
-		L_result += STEP(32) ; L_result += STEP(33) ;
-		L_result += STEP(34) ; L_result += STEP(35) ;
-		L_result += STEP(36) ; L_result += STEP(37) ;
-		L_result += STEP(38) ; L_result += STEP(39) ;
-
-		if (L_result > L_max) {
-
-			Nc    = lambda;
-			L_max = L_result;
-		}
-	}
-
-	*Nc_out = Nc;
-
-	L_max <<= 1;
-
-	/*  Rescaling of L_max
-	 */
-	assert(scal <= 100 && scal >=  -100);
-	L_max = L_max >> (6 - scal);	/* sub(6, scal) */
-
-	assert( Nc <= 120 && Nc >= 40);
-
-	/*   Compute the power of the reconstructed short term residual
-	 *   signal dp[..]
-	 */
-	L_power = 0;
-	for (k = 0; k <= 39; k++) {
-
-		register longword L_temp;
-
-		L_temp   = SASR( dp[k - Nc], 3 );
-		L_power += L_temp * L_temp;
-	}
-	L_power <<= 1;	/* from L_MULT */
-
-	/*  Normalization of L_max and L_power
-	 */
-
-	if (L_max <= 0)  {
-		*bc_out = 0;
-		return;
-	}
-	if (L_max >= L_power) {
-		*bc_out = 3;
-		return;
-	}
-
-	temp = gsm_norm( L_power );
-
-	R = SASR( L_max   << temp, 16 );
-	S = SASR( L_power << temp, 16 );
-
-	/*  Coding of the LTP gain
-	 */
-
-	/*  Table 4.3a must be used to obtain the level DLB[i] for the
-	 *  quantization of the LTP gain b to get the coded version bc.
-	 */
-	for (bc = 0; bc <= 2; bc++) if (R <= gsm_mult(S, gsm_DLB[bc])) break;
-	*bc_out = bc;
-}
-
-#else	/* USE_FLOAT_MUL */
-
-#ifdef	LTP_CUT
-
-static void Cut_Calculation_of_the_LTP_parameters P5((st, d,dp,bc_out,Nc_out),
-	struct gsm_state * st,		/*              IN 	*/
-	register word	* d,		/* [0..39]	IN	*/
-	register word	* dp,		/* [-120..-1]	IN	*/
-	word		* bc_out,	/* 		OUT	*/
-	word		* Nc_out	/* 		OUT	*/
-)
-{
-	register int  	k, lambda;
-	word		Nc, bc;
-	word		ltp_cut;
-
-	float		wt_float[40];
-	float		dp_float_base[120], * dp_float = dp_float_base + 120;
-
-	longword	L_max, L_power;
-	word		R, S, dmax, scal;
-	register word	temp;
-
-	/*  Search of the optimum scaling of d[0..39].
-	 */
-	dmax = 0;
-
-	for (k = 0; k <= 39; k++) {
-		temp = d[k];
-		temp = GSM_ABS( temp );
-		if (temp > dmax) dmax = temp;
-	}
-
-	temp = 0;
-	if (dmax == 0) scal = 0;
-	else {
-		assert(dmax > 0);
-		temp = gsm_norm( (longword)dmax << 16 );
-	}
-
-	if (temp > 6) scal = 0;
-	else scal = 6 - temp;
-
-	assert(scal >= 0);
-	ltp_cut = (longword)SASR(dmax, scal) * st->ltp_cut / 100; 
-
-
-	/*  Initialization of a working array wt
-	 */
-
-	for (k = 0; k < 40; k++) {
-		register word w = SASR( d[k], scal );
-		if (w < 0 ? w > -ltp_cut : w < ltp_cut) {
-			wt_float[k] = 0.0;
-		}
-		else {
-			wt_float[k] =  w;
-		}
-	}
-	for (k = -120; k <  0; k++) dp_float[k] =  dp[k];
-
-	/* Search for the maximum cross-correlation and coding of the LTP lag
-	 */
-	L_max = 0;
-	Nc    = 40;	/* index for the maximum cross-correlation */
-
-	for (lambda = 40; lambda <= 120; lambda += 9) {
-
-		/*  Calculate L_result for l = lambda .. lambda + 9.
-		 */
-		register float *lp = dp_float - lambda;
-
-		register float	W;
-		register float	a = lp[-8], b = lp[-7], c = lp[-6],
-				d = lp[-5], e = lp[-4], f = lp[-3],
-				g = lp[-2], h = lp[-1];
-		register float  E; 
-		register float  S0 = 0, S1 = 0, S2 = 0, S3 = 0, S4 = 0,
-				S5 = 0, S6 = 0, S7 = 0, S8 = 0;
-
-#		undef STEP
-#		define	STEP(K, a, b, c, d, e, f, g, h) \
-			if ((W = wt_float[K]) != 0.0) {	\
-			E = W * a; S8 += E;		\
-			E = W * b; S7 += E;		\
-			E = W * c; S6 += E;		\
-			E = W * d; S5 += E;		\
-			E = W * e; S4 += E;		\
-			E = W * f; S3 += E;		\
-			E = W * g; S2 += E;		\
-			E = W * h; S1 += E;		\
-			a  = lp[K];			\
-			E = W * a; S0 += E; } else (a = lp[K])
-
-#		define	STEP_A(K)	STEP(K, a, b, c, d, e, f, g, h)
-#		define	STEP_B(K)	STEP(K, b, c, d, e, f, g, h, a)
-#		define	STEP_C(K)	STEP(K, c, d, e, f, g, h, a, b)
-#		define	STEP_D(K)	STEP(K, d, e, f, g, h, a, b, c)
-#		define	STEP_E(K)	STEP(K, e, f, g, h, a, b, c, d)
-#		define	STEP_F(K)	STEP(K, f, g, h, a, b, c, d, e)
-#		define	STEP_G(K)	STEP(K, g, h, a, b, c, d, e, f)
-#		define	STEP_H(K)	STEP(K, h, a, b, c, d, e, f, g)
-
-		STEP_A( 0); STEP_B( 1); STEP_C( 2); STEP_D( 3);
-		STEP_E( 4); STEP_F( 5); STEP_G( 6); STEP_H( 7);
-
-		STEP_A( 8); STEP_B( 9); STEP_C(10); STEP_D(11);
-		STEP_E(12); STEP_F(13); STEP_G(14); STEP_H(15);
-
-		STEP_A(16); STEP_B(17); STEP_C(18); STEP_D(19);
-		STEP_E(20); STEP_F(21); STEP_G(22); STEP_H(23);
-
-		STEP_A(24); STEP_B(25); STEP_C(26); STEP_D(27);
-		STEP_E(28); STEP_F(29); STEP_G(30); STEP_H(31);
-
-		STEP_A(32); STEP_B(33); STEP_C(34); STEP_D(35);
-		STEP_E(36); STEP_F(37); STEP_G(38); STEP_H(39);
-
-		if (S0 > L_max) { L_max = S0; Nc = lambda;     }
-		if (S1 > L_max) { L_max = S1; Nc = lambda + 1; }
-		if (S2 > L_max) { L_max = S2; Nc = lambda + 2; }
-		if (S3 > L_max) { L_max = S3; Nc = lambda + 3; }
-		if (S4 > L_max) { L_max = S4; Nc = lambda + 4; }
-		if (S5 > L_max) { L_max = S5; Nc = lambda + 5; }
-		if (S6 > L_max) { L_max = S6; Nc = lambda + 6; }
-		if (S7 > L_max) { L_max = S7; Nc = lambda + 7; }
-		if (S8 > L_max) { L_max = S8; Nc = lambda + 8; }
-
-	}
-	*Nc_out = Nc;
-
-	L_max <<= 1;
-
-	/*  Rescaling of L_max
-	 */
-	assert(scal <= 100 && scal >=  -100);
-	L_max = L_max >> (6 - scal);	/* sub(6, scal) */
-
-	assert( Nc <= 120 && Nc >= 40);
-
-	/*   Compute the power of the reconstructed short term residual
-	 *   signal dp[..]
-	 */
-	L_power = 0;
-	for (k = 0; k <= 39; k++) {
-
-		register longword L_temp;
-
-		L_temp   = SASR( dp[k - Nc], 3 );
-		L_power += L_temp * L_temp;
-	}
-	L_power <<= 1;	/* from L_MULT */
-
-	/*  Normalization of L_max and L_power
-	 */
-
-	if (L_max <= 0)  {
-		*bc_out = 0;
-		return;
-	}
-	if (L_max >= L_power) {
-		*bc_out = 3;
-		return;
-	}
-
-	temp = gsm_norm( L_power );
-
-	R = SASR( L_max   << temp, 16 );
-	S = SASR( L_power << temp, 16 );
-
-	/*  Coding of the LTP gain
-	 */
-
-	/*  Table 4.3a must be used to obtain the level DLB[i] for the
-	 *  quantization of the LTP gain b to get the coded version bc.
-	 */
-	for (bc = 0; bc <= 2; bc++) if (R <= gsm_mult(S, gsm_DLB[bc])) break;
-	*bc_out = bc;
-}
-
-#endif /* LTP_CUT */
-
-static void Calculation_of_the_LTP_parameters P4((d,dp,bc_out,Nc_out),
-	register word	* d,		/* [0..39]	IN	*/
-	register word	* dp,		/* [-120..-1]	IN	*/
-	word		* bc_out,	/* 		OUT	*/
-	word		* Nc_out	/* 		OUT	*/
-)
-{
-	register int  	k, lambda;
-	word		Nc, bc;
-
-	float		wt_float[40];
-	float		dp_float_base[120], * dp_float = dp_float_base + 120;
-
-	longword	L_max, L_power;
-	word		R, S, dmax, scal;
-	register word	temp;
-
-	/*  Search of the optimum scaling of d[0..39].
-	 */
-	dmax = 0;
-
-	for (k = 0; k <= 39; k++) {
-		temp = d[k];
-		temp = GSM_ABS( temp );
-		if (temp > dmax) dmax = temp;
-	}
-
-	temp = 0;
-	if (dmax == 0) scal = 0;
-	else {
-		assert(dmax > 0);
-		temp = gsm_norm( (longword)dmax << 16 );
-	}
-
-	if (temp > 6) scal = 0;
-	else scal = 6 - temp;
-
-	assert(scal >= 0);
-
-	/*  Initialization of a working array wt
-	 */
-
-	for (k =    0; k < 40; k++) wt_float[k] =  SASR( d[k], scal );
-	for (k = -120; k <  0; k++) dp_float[k] =  dp[k];
-
-	/* Search for the maximum cross-correlation and coding of the LTP lag
-	 */
-	L_max = 0;
-	Nc    = 40;	/* index for the maximum cross-correlation */
-
-	for (lambda = 40; lambda <= 120; lambda += 9) {
-
-		/*  Calculate L_result for l = lambda .. lambda + 9.
-		 */
-		register float *lp = dp_float - lambda;
-
-		register float	W;
-		register float	a = lp[-8], b = lp[-7], c = lp[-6],
-				d = lp[-5], e = lp[-4], f = lp[-3],
-				g = lp[-2], h = lp[-1];
-		register float  E; 
-		register float  S0 = 0, S1 = 0, S2 = 0, S3 = 0, S4 = 0,
-				S5 = 0, S6 = 0, S7 = 0, S8 = 0;
-
-#		undef STEP
-#		define	STEP(K, a, b, c, d, e, f, g, h) \
-			W = wt_float[K];		\
-			E = W * a; S8 += E;		\
-			E = W * b; S7 += E;		\
-			E = W * c; S6 += E;		\
-			E = W * d; S5 += E;		\
-			E = W * e; S4 += E;		\
-			E = W * f; S3 += E;		\
-			E = W * g; S2 += E;		\
-			E = W * h; S1 += E;		\
-			a  = lp[K];			\
-			E = W * a; S0 += E
-
-#		define	STEP_A(K)	STEP(K, a, b, c, d, e, f, g, h)
-#		define	STEP_B(K)	STEP(K, b, c, d, e, f, g, h, a)
-#		define	STEP_C(K)	STEP(K, c, d, e, f, g, h, a, b)
-#		define	STEP_D(K)	STEP(K, d, e, f, g, h, a, b, c)
-#		define	STEP_E(K)	STEP(K, e, f, g, h, a, b, c, d)
-#		define	STEP_F(K)	STEP(K, f, g, h, a, b, c, d, e)
-#		define	STEP_G(K)	STEP(K, g, h, a, b, c, d, e, f)
-#		define	STEP_H(K)	STEP(K, h, a, b, c, d, e, f, g)
-
-		STEP_A( 0); STEP_B( 1); STEP_C( 2); STEP_D( 3);
-		STEP_E( 4); STEP_F( 5); STEP_G( 6); STEP_H( 7);
-
-		STEP_A( 8); STEP_B( 9); STEP_C(10); STEP_D(11);
-		STEP_E(12); STEP_F(13); STEP_G(14); STEP_H(15);
-
-		STEP_A(16); STEP_B(17); STEP_C(18); STEP_D(19);
-		STEP_E(20); STEP_F(21); STEP_G(22); STEP_H(23);
-
-		STEP_A(24); STEP_B(25); STEP_C(26); STEP_D(27);
-		STEP_E(28); STEP_F(29); STEP_G(30); STEP_H(31);
-
-		STEP_A(32); STEP_B(33); STEP_C(34); STEP_D(35);
-		STEP_E(36); STEP_F(37); STEP_G(38); STEP_H(39);
-
-		if (S0 > L_max) { L_max = S0; Nc = lambda;     }
-		if (S1 > L_max) { L_max = S1; Nc = lambda + 1; }
-		if (S2 > L_max) { L_max = S2; Nc = lambda + 2; }
-		if (S3 > L_max) { L_max = S3; Nc = lambda + 3; }
-		if (S4 > L_max) { L_max = S4; Nc = lambda + 4; }
-		if (S5 > L_max) { L_max = S5; Nc = lambda + 5; }
-		if (S6 > L_max) { L_max = S6; Nc = lambda + 6; }
-		if (S7 > L_max) { L_max = S7; Nc = lambda + 7; }
-		if (S8 > L_max) { L_max = S8; Nc = lambda + 8; }
-	}
-	*Nc_out = Nc;
-
-	L_max <<= 1;
-
-	/*  Rescaling of L_max
-	 */
-	assert(scal <= 100 && scal >=  -100);
-	L_max = L_max >> (6 - scal);	/* sub(6, scal) */
-
-	assert( Nc <= 120 && Nc >= 40);
-
-	/*   Compute the power of the reconstructed short term residual
-	 *   signal dp[..]
-	 */
-	L_power = 0;
-	for (k = 0; k <= 39; k++) {
-
-		register longword L_temp;
-
-		L_temp   = SASR( dp[k - Nc], 3 );
-		L_power += L_temp * L_temp;
-	}
-	L_power <<= 1;	/* from L_MULT */
-
-	/*  Normalization of L_max and L_power
-	 */
-
-	if (L_max <= 0)  {
-		*bc_out = 0;
-		return;
-	}
-	if (L_max >= L_power) {
-		*bc_out = 3;
-		return;
-	}
-
-	temp = gsm_norm( L_power );
-
-	R = SASR( L_max   << temp, 16 );
-	S = SASR( L_power << temp, 16 );
-
-	/*  Coding of the LTP gain
-	 */
-
-	/*  Table 4.3a must be used to obtain the level DLB[i] for the
-	 *  quantization of the LTP gain b to get the coded version bc.
-	 */
-	for (bc = 0; bc <= 2; bc++) if (R <= gsm_mult(S, gsm_DLB[bc])) break;
-	*bc_out = bc;
-}
-
-#ifdef	FAST
-#ifdef	LTP_CUT
-
-static void Cut_Fast_Calculation_of_the_LTP_parameters P5((st,
-							d,dp,bc_out,Nc_out),
-	struct gsm_state * st,		/*              IN	*/
-	register word	* d,		/* [0..39]	IN	*/
-	register word	* dp,		/* [-120..-1]	IN	*/
-	word		* bc_out,	/* 		OUT	*/
-	word		* Nc_out	/* 		OUT	*/
-)
-{
-	register int  	k, lambda;
-	register float	wt_float;
-	word		Nc, bc;
-	word		wt_max, best_k, ltp_cut;
-
-	float		dp_float_base[120], * dp_float = dp_float_base + 120;
-
-	register float	L_result, L_max, L_power;
-
-	wt_max = 0;
-
-	for (k = 0; k < 40; ++k) {
-		if      ( d[k] > wt_max) wt_max =  d[best_k = k];
-		else if (-d[k] > wt_max) wt_max = -d[best_k = k];
-	}
-
-	assert(wt_max >= 0);
-	wt_float = (float)wt_max;
-
-	for (k = -120; k < 0; ++k) dp_float[k] = (float)dp[k];
-
-	/* Search for the maximum cross-correlation and coding of the LTP lag
-	 */
-	L_max = 0;
-	Nc    = 40;	/* index for the maximum cross-correlation */
-
-	for (lambda = 40; lambda <= 120; lambda++) {
-		L_result = wt_float * dp_float[best_k - lambda];
-		if (L_result > L_max) {
-			Nc    = lambda;
-			L_max = L_result;
-		}
-	}
-
-	*Nc_out = Nc;
-	if (L_max <= 0.)  {
-		*bc_out = 0;
-		return;
-	}
-
-	/*  Compute the power of the reconstructed short term residual
-	 *  signal dp[..]
-	 */
-	dp_float -= Nc;
-	L_power = 0;
-	for (k = 0; k < 40; ++k) {
-		register float f = dp_float[k];
-		L_power += f * f;
-	}
-
-	if (L_max >= L_power) {
-		*bc_out = 3;
-		return;
-	}
-
-	/*  Coding of the LTP gain
-	 *  Table 4.3a must be used to obtain the level DLB[i] for the
-	 *  quantization of the LTP gain b to get the coded version bc.
-	 */
-	lambda = L_max / L_power * 32768.;
-	for (bc = 0; bc <= 2; ++bc) if (lambda <= gsm_DLB[bc]) break;
-	*bc_out = bc;
-}
-
-#endif /* LTP_CUT */
-
-static void Fast_Calculation_of_the_LTP_parameters P4((d,dp,bc_out,Nc_out),
-	register word	* d,		/* [0..39]	IN	*/
-	register word	* dp,		/* [-120..-1]	IN	*/
-	word		* bc_out,	/* 		OUT	*/
-	word		* Nc_out	/* 		OUT	*/
-)
-{
-	register int  	k, lambda;
-	word		Nc, bc;
-
-	float		wt_float[40];
-	float		dp_float_base[120], * dp_float = dp_float_base + 120;
-
-	register float	L_max, L_power;
-
-	for (k = 0; k < 40; ++k) wt_float[k] = (float)d[k];
-	for (k = -120; k < 0; ++k) dp_float[k] = (float)dp[k];
-
-	/* Search for the maximum cross-correlation and coding of the LTP lag
-	 */
-	L_max = 0;
-	Nc    = 40;	/* index for the maximum cross-correlation */
-
-	for (lambda = 40; lambda <= 120; lambda += 9) {
-
-		/*  Calculate L_result for l = lambda .. lambda + 9.
-		 */
-		register float *lp = dp_float - lambda;
-
-		register float	W;
-		register float	a = lp[-8], b = lp[-7], c = lp[-6],
-				d = lp[-5], e = lp[-4], f = lp[-3],
-				g = lp[-2], h = lp[-1];
-		register float  E; 
-		register float  S0 = 0, S1 = 0, S2 = 0, S3 = 0, S4 = 0,
-				S5 = 0, S6 = 0, S7 = 0, S8 = 0;
-
-#		undef STEP
-#		define	STEP(K, a, b, c, d, e, f, g, h) \
-			W = wt_float[K];		\
-			E = W * a; S8 += E;		\
-			E = W * b; S7 += E;		\
-			E = W * c; S6 += E;		\
-			E = W * d; S5 += E;		\
-			E = W * e; S4 += E;		\
-			E = W * f; S3 += E;		\
-			E = W * g; S2 += E;		\
-			E = W * h; S1 += E;		\
-			a  = lp[K];			\
-			E = W * a; S0 += E
-
-#		define	STEP_A(K)	STEP(K, a, b, c, d, e, f, g, h)
-#		define	STEP_B(K)	STEP(K, b, c, d, e, f, g, h, a)
-#		define	STEP_C(K)	STEP(K, c, d, e, f, g, h, a, b)
-#		define	STEP_D(K)	STEP(K, d, e, f, g, h, a, b, c)
-#		define	STEP_E(K)	STEP(K, e, f, g, h, a, b, c, d)
-#		define	STEP_F(K)	STEP(K, f, g, h, a, b, c, d, e)
-#		define	STEP_G(K)	STEP(K, g, h, a, b, c, d, e, f)
-#		define	STEP_H(K)	STEP(K, h, a, b, c, d, e, f, g)
-
-		STEP_A( 0); STEP_B( 1); STEP_C( 2); STEP_D( 3);
-		STEP_E( 4); STEP_F( 5); STEP_G( 6); STEP_H( 7);
-
-		STEP_A( 8); STEP_B( 9); STEP_C(10); STEP_D(11);
-		STEP_E(12); STEP_F(13); STEP_G(14); STEP_H(15);
-
-		STEP_A(16); STEP_B(17); STEP_C(18); STEP_D(19);
-		STEP_E(20); STEP_F(21); STEP_G(22); STEP_H(23);
-
-		STEP_A(24); STEP_B(25); STEP_C(26); STEP_D(27);
-		STEP_E(28); STEP_F(29); STEP_G(30); STEP_H(31);
-
-		STEP_A(32); STEP_B(33); STEP_C(34); STEP_D(35);
-		STEP_E(36); STEP_F(37); STEP_G(38); STEP_H(39);
-
-		if (S0 > L_max) { L_max = S0; Nc = lambda;     }
-		if (S1 > L_max) { L_max = S1; Nc = lambda + 1; }
-		if (S2 > L_max) { L_max = S2; Nc = lambda + 2; }
-		if (S3 > L_max) { L_max = S3; Nc = lambda + 3; }
-		if (S4 > L_max) { L_max = S4; Nc = lambda + 4; }
-		if (S5 > L_max) { L_max = S5; Nc = lambda + 5; }
-		if (S6 > L_max) { L_max = S6; Nc = lambda + 6; }
-		if (S7 > L_max) { L_max = S7; Nc = lambda + 7; }
-		if (S8 > L_max) { L_max = S8; Nc = lambda + 8; }
-	}
-	*Nc_out = Nc;
-
-	if (L_max <= 0.)  {
-		*bc_out = 0;
-		return;
-	}
-
-	/*  Compute the power of the reconstructed short term residual
-	 *  signal dp[..]
-	 */
-	dp_float -= Nc;
-	L_power = 0;
-	for (k = 0; k < 40; ++k) {
-		register float f = dp_float[k];
-		L_power += f * f;
-	}
-
-	if (L_max >= L_power) {
-		*bc_out = 3;
-		return;
-	}
-
-	/*  Coding of the LTP gain
-	 *  Table 4.3a must be used to obtain the level DLB[i] for the
-	 *  quantization of the LTP gain b to get the coded version bc.
-	 */
-	lambda = L_max / L_power * 32768.;
-	for (bc = 0; bc <= 2; ++bc) if (lambda <= gsm_DLB[bc]) break;
-	*bc_out = bc;
-}
-
-#endif	/* FAST 	 */
-#endif	/* USE_FLOAT_MUL */
-
-
-/* 4.2.12 */
-
-static void Long_term_analysis_filtering P6((bc,Nc,dp,d,dpp,e),
-	word		bc,	/* 					IN  */
-	word		Nc,	/* 					IN  */
-	register word	* dp,	/* previous d	[-120..-1]		IN  */
-	register word	* d,	/* d		[0..39]			IN  */
-	register word	* dpp,	/* estimate	[0..39]			OUT */
-	register word	* e	/* long term res. signal [0..39]	OUT */
-)
-/*
- *  In this part, we have to decode the bc parameter to compute
- *  the samples of the estimate dpp[0..39].  The decoding of bc needs the
- *  use of table 4.3b.  The long term residual signal e[0..39]
- *  is then calculated to be fed to the RPE encoding section.
- */
-{
-	register int      k;
-	register longword ltmp;
-
-#	undef STEP
-#	define STEP(BP)					\
-	for (k = 0; k <= 39; k++) {			\
-		dpp[k]  = GSM_MULT_R( BP, dp[k - Nc]);	\
-		e[k]	= GSM_SUB( d[k], dpp[k] );	\
-	}
-
-	switch (bc) {
-	case 0:	STEP(  3277 ); break;
-	case 1:	STEP( 11469 ); break;
-	case 2: STEP( 21299 ); break;
-	case 3: STEP( 32767 ); break; 
-	}
-}
-
-void Gsm_Long_Term_Predictor P7((S,d,dp,e,dpp,Nc,bc), 	/* 4x for 160 samples */
-
-	struct gsm_state	* S,
-
-	word	* d,	/* [0..39]   residual signal	IN	*/
-	word	* dp,	/* [-120..-1] d'		IN	*/
-
-	word	* e,	/* [0..39] 			OUT	*/
-	word	* dpp,	/* [0..39] 			OUT	*/
-	word	* Nc,	/* correlation lag		OUT	*/
-	word	* bc	/* gain factor			OUT	*/
-)
-{
-	assert( d  ); assert( dp ); assert( e  );
-	assert( dpp); assert( Nc ); assert( bc );
-
-#if defined(FAST) && defined(USE_FLOAT_MUL)
-	if (S->fast) 
-#if   defined (LTP_CUT)
-		if (S->ltp_cut)
-			Cut_Fast_Calculation_of_the_LTP_parameters(S,
-				d, dp, bc, Nc);
-		else
-#endif /* LTP_CUT */
-			Fast_Calculation_of_the_LTP_parameters(d, dp, bc, Nc );
-	else 
-#endif /* FAST & USE_FLOAT_MUL */
-#ifdef LTP_CUT
-		if (S->ltp_cut)
-			Cut_Calculation_of_the_LTP_parameters(S, d, dp, bc, Nc);
-		else
-#endif
-			Calculation_of_the_LTP_parameters(d, dp, bc, Nc);
-
-	Long_term_analysis_filtering( *bc, *Nc, dp, d, dpp, e );
-}
-
-/* 4.3.2 */
-void Gsm_Long_Term_Synthesis_Filtering P5((S,Ncr,bcr,erp,drp),
-	struct gsm_state	* S,
-
-	word			Ncr,
-	word			bcr,
-	register word		* erp,	   /* [0..39]		  	 IN */
-	register word		* drp	   /* [-120..-1] IN, [-120..40] OUT */
-)
-/*
- *  This procedure uses the bcr and Ncr parameter to realize the
- *  long term synthesis filtering.  The decoding of bcr needs
- *  table 4.3b.
- */
-{
-	register longword	ltmp;	/* for ADD */
-	register int 		k;
-	word			brp, drpp, Nr;
-
-	/*  Check the limits of Nr.
-	 */
-	Nr = Ncr < 40 || Ncr > 120 ? S->nrp : Ncr;
-	S->nrp = Nr;
-	assert(Nr >= 40 && Nr <= 120);
-
-	/*  Decoding of the LTP gain bcr
-	 */
-	brp = gsm_QLB[ bcr ];
-
-	/*  Computation of the reconstructed short term residual 
-	 *  signal drp[0..39]
-	 */
-	assert(brp != MIN_WORD);
-
-	for (k = 0; k <= 39; k++) {
-		drpp   = GSM_MULT_R( brp, drp[ k - Nr ] );
-		drp[k] = GSM_ADD( erp[k], drpp );
-	}
-
-	/*
-	 *  Update of the reconstructed short term residual signal
-	 *  drp[ -1..-120 ]
-	 */
-
-	for (k = 0; k <= 119; k++) drp[ -120 + k ] = drp[ -80 + k ];
-}
--- a/common/libsndfile/src/GSM610/lpc.c
+++ /dev/null
@@ -1,341 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/lpc.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include <stdio.h>
-#include <assert.h>
-
-#include "private.h"
-
-#include "gsm.h"
-#include "proto.h"
-
-#undef	P
-
-/*
- *  4.2.4 .. 4.2.7 LPC ANALYSIS SECTION
- */
-
-/* 4.2.4 */
-
-
-static void Autocorrelation P2((s, L_ACF),
-	word     * s,		/* [0..159]	IN/OUT  */
- 	longword * L_ACF)	/* [0..8]	OUT     */
-/*
- *  The goal is to compute the array L_ACF[k].  The signal s[i] must
- *  be scaled in order to avoid an overflow situation.
- */
-{
-	register int	k, i;
-
-	word		temp, smax, scalauto;
-
-#ifdef	USE_FLOAT_MUL
-	float		float_s[160];
-#endif
-
-	/*  Dynamic scaling of the array  s[0..159]
-	 */
-
-	/*  Search for the maximum.
-	 */
-	smax = 0;
-	for (k = 0; k <= 159; k++) {
-		temp = GSM_ABS( s[k] );
-		if (temp > smax) smax = temp;
-	}
-
-	/*  Computation of the scaling factor.
-	 */
-	if (smax == 0) scalauto = 0;
-	else {
-		assert(smax > 0);
-		scalauto = 4 - gsm_norm( (longword)smax << 16 );/* sub(4,..) */
-	}
-
-	/*  Scaling of the array s[0...159]
-	 */
-
-	if (scalauto > 0) {
-
-# ifdef USE_FLOAT_MUL
-#   define SCALE(n)	\
-	case n: for (k = 0; k <= 159; k++) \
-			float_s[k] = (float)	\
-				(s[k] = GSM_MULT_R(s[k], 16384 >> (n-1)));\
-		break;
-# else 
-#   define SCALE(n)	\
-	case n: for (k = 0; k <= 159; k++) \
-			s[k] = GSM_MULT_R( s[k], 16384 >> (n-1) );\
-		break;
-# endif /* USE_FLOAT_MUL */
-
-		switch (scalauto) {
-		SCALE(1)
-		SCALE(2)
-		SCALE(3)
-		SCALE(4)
-		}
-# undef	SCALE
-	}
-# ifdef	USE_FLOAT_MUL
-	else for (k = 0; k <= 159; k++) float_s[k] = (float) s[k];
-# endif
-
-	/*  Compute the L_ACF[..].
-	 */
-	{
-# ifdef	USE_FLOAT_MUL
-		register float * sp = float_s;
-		register float   sl = *sp;
-
-#		define STEP(k)	 L_ACF[k] += (longword)(sl * sp[ -(k) ]);
-# else
-		word  * sp = s;
-		word    sl = *sp;
-
-#		define STEP(k)	 L_ACF[k] += ((longword)sl * sp[ -(k) ]);
-# endif
-
-#	define NEXTI	 sl = *++sp
-
-
-	for (k = 9; k--; L_ACF[k] = 0) ;
-
-	STEP (0);
-	NEXTI;
-	STEP(0); STEP(1);
-	NEXTI;
-	STEP(0); STEP(1); STEP(2);
-	NEXTI;
-	STEP(0); STEP(1); STEP(2); STEP(3);
-	NEXTI;
-	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4);
-	NEXTI;
-	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5);
-	NEXTI;
-	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5); STEP(6);
-	NEXTI;
-	STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5); STEP(6); STEP(7);
-
-	for (i = 8; i <= 159; i++) {
-
-		NEXTI;
-
-		STEP(0);
-		STEP(1); STEP(2); STEP(3); STEP(4);
-		STEP(5); STEP(6); STEP(7); STEP(8);
-	}
-
-	for (k = 9; k--; L_ACF[k] <<= 1) ; 
-
-	}
-	/*   Rescaling of the array s[0..159]
-	 */
-	if (scalauto > 0) {
-		assert(scalauto <= 4); 
-		for (k = 160; k--; *s++ <<= scalauto) ;
-	}
-}
-
-#if defined(USE_FLOAT_MUL) && defined(FAST)
-
-static void Fast_Autocorrelation P2((s, L_ACF),
-	word * s,		/* [0..159]	IN/OUT  */
- 	longword * L_ACF)	/* [0..8]	OUT     */
-{
-	register int	k, i;
-	float f_L_ACF[9];
-	float scale;
-
-	float          s_f[160];
-	register float *sf = s_f;
-
-	for (i = 0; i < 160; ++i) sf[i] = s[i];
-	for (k = 0; k <= 8; k++) {
-		register float L_temp2 = 0;
-		register float *sfl = sf - k;
-		for (i = k; i < 160; ++i) L_temp2 += sf[i] * sfl[i];
-		f_L_ACF[k] = L_temp2;
-	}
-	scale = MAX_LONGWORD / f_L_ACF[0];
-
-	for (k = 0; k <= 8; k++) {
-		L_ACF[k] = f_L_ACF[k] * scale;
-	}
-}
-#endif	/* defined (USE_FLOAT_MUL) && defined (FAST) */
-
-/* 4.2.5 */
-
-static void Reflection_coefficients P2( (L_ACF, r),
-	longword	* L_ACF,		/* 0...8	IN	*/
-	register word	* r			/* 0...7	OUT 	*/
-)
-{
-	register int	i, m, n;
-	register word	temp;
-	register longword ltmp;
-	word		ACF[9];	/* 0..8 */
-	word		P[  9];	/* 0..8 */
-	word		K[  9]; /* 2..8 */
-
-	/*  Schur recursion with 16 bits arithmetic.
-	 */
-
-	if (L_ACF[0] == 0) {
-		for (i = 8; i--; *r++ = 0) ;
-		return;
-	}
-
-	assert( L_ACF[0] != 0 );
-	temp = gsm_norm( L_ACF[0] );
-
-	assert(temp >= 0 && temp < 32);
-
-	/* ? overflow ? */
-	for (i = 0; i <= 8; i++) ACF[i] = SASR( L_ACF[i] << temp, 16 );
-
-	/*   Initialize array P[..] and K[..] for the recursion.
-	 */
-
-	for (i = 1; i <= 7; i++) K[ i ] = ACF[ i ];
-	for (i = 0; i <= 8; i++) P[ i ] = ACF[ i ];
-
-	/*   Compute reflection coefficients
-	 */
-	for (n = 1; n <= 8; n++, r++) {
-
-		temp = P[1];
-		temp = GSM_ABS(temp);
-		if (P[0] < temp) {
-			for (i = n; i <= 8; i++) *r++ = 0;
-			return;
-		}
-
-		*r = gsm_div( temp, P[0] );
-
-		assert(*r >= 0);
-		if (P[1] > 0) *r = -*r;		/* r[n] = sub(0, r[n]) */
-		assert (*r != MIN_WORD);
-		if (n == 8) return; 
-
-		/*  Schur recursion
-		 */
-		temp = GSM_MULT_R( P[1], *r );
-		P[0] = GSM_ADD( P[0], temp );
-
-		for (m = 1; m <= 8 - n; m++) {
-			temp     = GSM_MULT_R( K[ m   ],    *r );
-			P[m]     = GSM_ADD(    P[ m+1 ],  temp );
-
-			temp     = GSM_MULT_R( P[ m+1 ],    *r );
-			K[m]     = GSM_ADD(    K[ m   ],  temp );
-		}
-	}
-}
-
-/* 4.2.6 */
-
-static void Transformation_to_Log_Area_Ratios P1((r),
-	register word	* r 			/* 0..7	   IN/OUT */
-)
-/*
- *  The following scaling for r[..] and LAR[..] has been used:
- *
- *  r[..]   = integer( real_r[..]*32768. ); -1 <= real_r < 1.
- *  LAR[..] = integer( real_LAR[..] * 16384 );
- *  with -1.625 <= real_LAR <= 1.625
- */
-{
-	register word	temp;
-	register int	i;
-
-
-	/* Computation of the LAR[0..7] from the r[0..7]
-	 */
-	for (i = 1; i <= 8; i++, r++) {
-
-		temp = *r;
-		temp = GSM_ABS(temp);
-		assert(temp >= 0);
-
-		if (temp < 22118) {
-			temp >>= 1;
-		} else if (temp < 31130) {
-			assert( temp >= 11059 );
-			temp -= 11059;
-		} else {
-			assert( temp >= 26112 );
-			temp -= 26112;
-			temp <<= 2;
-		}
-
-		*r = *r < 0 ? -temp : temp;
-		assert( *r != MIN_WORD );
-	}
-}
-
-/* 4.2.7 */
-
-static void Quantization_and_coding P1((LAR),
-	register word * LAR    	/* [0..7]	IN/OUT	*/
-)
-{
-	register word	temp;
-	longword	ltmp;
-
-
-	/*  This procedure needs four tables; the following equations
-	 *  give the optimum scaling for the constants:
-	 *  
-	 *  A[0..7] = integer( real_A[0..7] * 1024 )
-	 *  B[0..7] = integer( real_B[0..7] *  512 )
-	 *  MAC[0..7] = maximum of the LARc[0..7]
-	 *  MIC[0..7] = minimum of the LARc[0..7]
-	 */
-
-#	undef STEP
-#	define	STEP( A, B, MAC, MIC )		\
-		temp = GSM_MULT( A,   *LAR );	\
-		temp = GSM_ADD(  temp,   B );	\
-		temp = GSM_ADD(  temp, 256 );	\
-		temp = SASR(     temp,   9 );	\
-		*LAR  =  temp>MAC ? MAC - MIC : (temp<MIC ? 0 : temp - MIC); \
-		LAR++;
-
-	STEP(  20480,     0,  31, -32 );
-	STEP(  20480,     0,  31, -32 );
-	STEP(  20480,  2048,  15, -16 );
-	STEP(  20480, -2560,  15, -16 );
-
-	STEP(  13964,    94,   7,  -8 );
-	STEP(  15360, -1792,   7,  -8 );
-	STEP(   8534,  -341,   3,  -4 );
-	STEP(   9036, -1144,   3,  -4 );
-
-#	undef	STEP
-}
-
-void Gsm_LPC_Analysis P3((S, s,LARc),
-	struct gsm_state *S,
-	word 		 * s,		/* 0..159 signals	IN/OUT	*/
-        word 		 * LARc)	/* 0..7   LARc's	OUT	*/
-{
-	longword	L_ACF[9];
-
-#if defined(USE_FLOAT_MUL) && defined(FAST)
-	if (S->fast) Fast_Autocorrelation (s,	  L_ACF );
-	else
-#endif
-	Autocorrelation			  (s,	  L_ACF	);
-	Reflection_coefficients		  (L_ACF, LARc	);
-	Transformation_to_Log_Area_Ratios (LARc);
-	Quantization_and_coding		  (LARc);
-}
--- a/common/libsndfile/src/GSM610/preprocess.c
+++ /dev/null
@@ -1,113 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/preprocess.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include	<stdio.h>
-#include	<assert.h>
-
-#include "private.h"
-
-#include	"gsm.h"
-#include 	"proto.h"
-
-/*	4.2.0 .. 4.2.3	PREPROCESSING SECTION
- *  
- *  	After A-law to linear conversion (or directly from the
- *   	Ato D converter) the following scaling is assumed for
- * 	input to the RPE-LTP algorithm:
- *
- *      in:  0.1.....................12
- *	     S.v.v.v.v.v.v.v.v.v.v.v.v.*.*.*
- *
- *	Where S is the sign bit, v a valid bit, and * a "don't care" bit.
- * 	The original signal is called sop[..]
- *
- *      out:   0.1................... 12 
- *	     S.S.v.v.v.v.v.v.v.v.v.v.v.v.0.0
- */
-
-
-void Gsm_Preprocess P3((S, s, so),
-	struct gsm_state * S,
-	word		 * s,
-	word 		 * so )		/* [0..159] 	IN/OUT	*/
-{
-
-	word       z1 = S->z1;
-	longword L_z2 = S->L_z2;
-	word 	   mp = S->mp;
-
-	word 	   	s1;
-	longword      L_s2;
-
-	longword      L_temp;
-
-	word		msp, lsp;
-	word		SO;
-
-	longword	ltmp;		/* for   ADD */
-	ulongword	utmp;		/* for L_ADD */
-
-	register int		k = 160;
-
-	while (k--) {
-
-	/*  4.2.1   Downscaling of the input signal
-	 */
-		SO = SASR( *s, 3 ) << 2;
-		s++;
-
-		assert (SO >= -0x4000);	/* downscaled by     */
-		assert (SO <=  0x3FFC);	/* previous routine. */
-
-
-	/*  4.2.2   Offset compensation
-	 * 
-	 *  This part implements a high-pass filter and requires extended
-	 *  arithmetic precision for the recursive part of this filter.
-	 *  The input of this procedure is the array so[0...159] and the
-	 *  output the array sof[ 0...159 ].
-	 */
-		/*   Compute the non-recursive part
-		 */
-
-		s1 = SO - z1;			/* s1 = gsm_sub( *so, z1 ); */
-		z1 = SO;
-
-		assert(s1 != MIN_WORD);
-
-		/*   Compute the recursive part
-		 */
-		L_s2 = s1;
-		L_s2 <<= 15;
-
-		/*   Execution of a 31 bv 16 bits multiplication
-		 */
-
-		msp = SASR( L_z2, 15 );
-		lsp = L_z2-((longword)msp<<15); /* gsm_L_sub(L_z2,(msp<<15)); */
-
-		L_s2  += GSM_MULT_R( lsp, 32735 );
-		L_temp = (longword)msp * 32735; /* GSM_L_MULT(msp,32735) >> 1;*/
-		L_z2   = GSM_L_ADD( L_temp, L_s2 );
-
-		/*    Compute sof[k] with rounding
-		 */
-		L_temp = GSM_L_ADD( L_z2, 16384 );
-
-	/*   4.2.3  Preemphasis
-	 */
-
-		msp   = GSM_MULT_R( mp, -28180 );
-		mp    = SASR( L_temp, 15 );
-		*so++ = GSM_ADD( mp, msp );
-	}
-
-	S->z1   = z1;
-	S->L_z2 = L_z2;
-	S->mp   = mp;
-}
--- a/common/libsndfile/src/GSM610/private.h
+++ /dev/null
@@ -1,278 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/*$Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/private.h,v 1.2 2002/02/13 12:42:02 menno Exp $*/
-
-#ifndef	PRIVATE_H
-#define	PRIVATE_H
-
-/* Added by Erik de Castro Lopo */
-#define	NeedFunctionPrototypes	1
-#define	SASR  
-#define	USE_FLOAT_MUL
-#define	FAST
-#define	WAV49  
-/* Added by Erik de Castro Lopo */
-
-
-
-typedef short				word;		/* 16 bit signed int	*/
-typedef int					longword;	/* 32 bit signed int	*/
-
-typedef unsigned short		uword;		/* unsigned word	*/
-typedef unsigned int		ulongword;	/* unsigned longword	*/
-
-struct gsm_state {
-
-	word		dp0[ 280 ];
-
-	word		z1;		/* preprocessing.c, Offset_com. */
-	longword	L_z2;		/*                  Offset_com. */
-	int			mp;		/*                  Preemphasis	*/
-
-	word		u[8];		/* short_term_aly_filter.c	*/
-	word		LARpp[2][8]; 	/*                              */
-	word		j;		/*                              */
-
-	word        ltp_cut;        /* long_term.c, LTP crosscorr.  */
-	word		nrp; /* 40 */	/* long_term.c, synthesis	*/
-	word		v[9];		/* short_term.c, synthesis	*/
-	word		msr;		/* decoder.c,	Postprocessing	*/
-
-	char		verbose;	/* only used if !NDEBUG		*/
-	char		fast;		/* only used if FAST		*/
-
-	char		wav_fmt;	/* only used if WAV49 defined	*/
-	unsigned char	frame_index;	/*            odd/even chaining	*/
-	unsigned char	frame_chain;	/*   half-byte to carry forward	*/
-};
-
-
-#define	MIN_WORD	(-32767 - 1)
-#define	MAX_WORD	  32767
-
-#define	MIN_LONGWORD	(-2147483647 - 1)
-#define	MAX_LONGWORD	  2147483647
-
-#ifdef	SASR		/* flag: >> is a signed arithmetic shift right */
-#undef	SASR
-#define	SASR(x, by)	((x) >> (by))
-#else
-#define	SASR(x, by)	((x) >= 0 ? (x) >> (by) : (~(-((x) + 1) >> (by))))
-#endif	/* SASR */
-
-#include "proto.h"
-
-/*
- *	Prototypes from add.c
- */
-extern word	gsm_mult 		(word a, word b);
-extern longword gsm_L_mult 	(word a, word b);
-extern word	gsm_mult_r		(word a, word b);
-
-extern word	gsm_div  		(word num, word denum);
-
-extern word	gsm_add 		(word a, word b );
-extern longword gsm_L_add 	(longword a, longword b );
-
-extern word	gsm_sub 		(word a, word b);
-extern longword gsm_L_sub 	(longword a, longword b);
-
-extern word	gsm_abs 		(word a);
-
-extern word	gsm_norm 		(longword a );
-
-extern longword gsm_L_asl  	(longword a, int n);
-extern word	gsm_asl 		(word a, int n);
-
-extern longword gsm_L_asr  	(longword a, int n);
-extern word	gsm_asr  		(word a, int n);
-
-/*
- *  Inlined functions from add.h 
- */
-
-/* 
- * #define GSM_MULT_R(a, b) (* word a, word b, !(a == b == MIN_WORD) *)	\
- *	(0x0FFFF & SASR(((longword)(a) * (longword)(b) + 16384), 15))
- */
-#define GSM_MULT_R(a, b) /* word a, word b, !(a == b == MIN_WORD) */	\
-	(SASR( ((longword)(a) * (longword)(b) + 16384), 15 ))
-
-# define GSM_MULT(a,b)	 /* word a, word b, !(a == b == MIN_WORD) */	\
-	(SASR( ((longword)(a) * (longword)(b)), 15 ))
-
-# define GSM_L_MULT(a, b) /* word a, word b */	\
-	(((longword)(a) * (longword)(b)) << 1)
-
-# define GSM_L_ADD(a, b)	\
-	( (a) <  0 ? ( (b) >= 0 ? (a) + (b)	\
-		 : (utmp = (ulongword)-((a) + 1) + (ulongword)-((b) + 1)) \
-		   >= MAX_LONGWORD ? MIN_LONGWORD : -(longword)utmp-2 )   \
-	: ((b) <= 0 ? (a) + (b)   \
-	          : (utmp = (ulongword)(a) + (ulongword)(b)) >= MAX_LONGWORD \
-		    ? MAX_LONGWORD : utmp))
-
-/*
- * # define GSM_ADD(a, b)	\
- * 	((ltmp = (longword)(a) + (longword)(b)) >= MAX_WORD \
- * 	? MAX_WORD : ltmp <= MIN_WORD ? MIN_WORD : ltmp)
- */
-/* Nonportable, but faster: */
-
-#define	GSM_ADD(a, b)	\
-	((ulongword)((ltmp = (longword)(a) + (longword)(b)) - MIN_WORD) > \
-		MAX_WORD - MIN_WORD ? (ltmp > 0 ? MAX_WORD : MIN_WORD) : ltmp)
-
-# define GSM_SUB(a, b)	\
-	((ltmp = (longword)(a) - (longword)(b)) >= MAX_WORD \
-	? MAX_WORD : ltmp <= MIN_WORD ? MIN_WORD : ltmp)
-
-# define GSM_ABS(a)	((a) < 0 ? ((a) == MIN_WORD ? MAX_WORD : -(a)) : (a))
-
-/* Use these if necessary:
-
-# define GSM_MULT_R(a, b)	gsm_mult_r(a, b)
-# define GSM_MULT(a, b)		gsm_mult(a, b)
-# define GSM_L_MULT(a, b)	gsm_L_mult(a, b)
-
-# define GSM_L_ADD(a, b)	gsm_L_add(a, b)
-# define GSM_ADD(a, b)		gsm_add(a, b)
-# define GSM_SUB(a, b)		gsm_sub(a, b)
-
-# define GSM_ABS(a)		gsm_abs(a)
-
-*/
-
-/*
- *  More prototypes from implementations..
- */
-extern void Gsm_Coder P((
-		struct gsm_state	* S,
-		word	* s,	/* [0..159] samples		IN	*/
-		word	* LARc,	/* [0..7] LAR coefficients	OUT	*/
-		word	* Nc,	/* [0..3] LTP lag		OUT 	*/
-		word	* bc,	/* [0..3] coded LTP gain	OUT 	*/
-		word	* Mc,	/* [0..3] RPE grid selection	OUT     */
-		word	* xmaxc,/* [0..3] Coded maximum amplitude OUT	*/
-		word	* xMc	/* [13*4] normalized RPE samples OUT	*/));
-
-extern void Gsm_Long_Term_Predictor P((		/* 4x for 160 samples */
-		struct gsm_state * S,
-		word	* d,	/* [0..39]   residual signal	IN	*/
-		word	* dp,	/* [-120..-1] d'		IN	*/
-		word	* e,	/* [0..40] 			OUT	*/
-		word	* dpp,	/* [0..40] 			OUT	*/
-		word	* Nc,	/* correlation lag		OUT	*/
-		word	* bc	/* gain factor			OUT	*/));
-
-extern void Gsm_LPC_Analysis P((
-		struct gsm_state * S,
-		word * s,	 /* 0..159 signals	IN/OUT	*/
-	        word * LARc));   /* 0..7   LARc's	OUT	*/
-
-extern void Gsm_Preprocess P((
-		struct gsm_state * S,
-		word * s, word * so));
-
-extern void Gsm_Encoding P((
-		struct gsm_state * S,
-		word	* e,	
-		word	* ep,	
-		word	* xmaxc,
-		word	* Mc,	
-		word	* xMc));
-
-extern void Gsm_Short_Term_Analysis_Filter P((
-		struct gsm_state * S,
-		word	* LARc,	/* coded log area ratio [0..7]  IN	*/
-		word	* d	/* st res. signal [0..159]	IN/OUT	*/));
-
-extern void Gsm_Decoder P((
-		struct gsm_state * S,
-		word	* LARcr,	/* [0..7]		IN	*/
-		word	* Ncr,		/* [0..3] 		IN 	*/
-		word	* bcr,		/* [0..3]		IN	*/
-		word	* Mcr,		/* [0..3] 		IN 	*/
-		word	* xmaxcr,	/* [0..3]		IN 	*/
-		word	* xMcr,		/* [0..13*4]		IN	*/
-		word	* s));		/* [0..159]		OUT 	*/
-
-extern void Gsm_Decoding P((
-		struct gsm_state * S,
-		word 	xmaxcr,
-		word	Mcr,
-		word	* xMcr,  	/* [0..12]		IN	*/
-		word	* erp)); 	/* [0..39]		OUT 	*/
-
-extern void Gsm_Long_Term_Synthesis_Filtering P((
-		struct gsm_state* S,
-		word	Ncr,
-		word	bcr,
-		word	* erp,		/* [0..39]		  IN 	*/
-		word	* drp)); 	/* [-120..-1] IN, [0..40] OUT 	*/
-
-void Gsm_RPE_Decoding P((
-	struct gsm_state *S,
-		word xmaxcr,
-		word Mcr,
-		word * xMcr,  /* [0..12], 3 bits             IN      */
-		word * erp)); /* [0..39]                     OUT     */
-
-void Gsm_RPE_Encoding P((
-		struct gsm_state * S,
-		word    * e,            /* -5..-1][0..39][40..44     IN/OUT  */
-		word    * xmaxc,        /*                              OUT */
-		word    * Mc,           /*                              OUT */
-		word    * xMc));        /* [0..12]                      OUT */
-
-extern void Gsm_Short_Term_Synthesis_Filter P((
-		struct gsm_state * S,
-		word	* LARcr, 	/* log area ratios [0..7]  IN	*/
-		word	* drp,		/* received d [0...39]	   IN	*/
-		word	* s));		/* signal   s [0..159]	  OUT	*/
-
-extern void Gsm_Update_of_reconstructed_short_time_residual_signal P((
-		word	* dpp,		/* [0...39]	IN	*/
-		word	* ep,		/* [0...39]	IN	*/
-		word	* dp));		/* [-120...-1]  IN/OUT 	*/
-
-/*
- *  Tables from table.c
- */
-#ifndef	GSM_TABLE_C
-
-extern word gsm_A[8], gsm_B[8], gsm_MIC[8], gsm_MAC[8];
-extern word gsm_INVA[8];
-extern word gsm_DLB[4], gsm_QLB[4];
-extern word gsm_H[11];
-extern word gsm_NRFAC[8];
-extern word gsm_FAC[8];
-
-#endif	/* GSM_TABLE_C */
-
-/*
- *  Debugging
- */
-#ifdef NDEBUG
-
-#	define	gsm_debug_words(a, b, c, d)		/* nil */
-#	define	gsm_debug_longwords(a, b, c, d)		/* nil */
-#	define	gsm_debug_word(a, b)			/* nil */
-#	define	gsm_debug_longword(a, b)		/* nil */
-
-#else	/* !NDEBUG => DEBUG */
-
-	extern void  gsm_debug_words     P((char * name, int, int, word *));
-	extern void  gsm_debug_longwords P((char * name, int, int, longword *));
-	extern void  gsm_debug_longword  P((char * name, longword));
-	extern void  gsm_debug_word      P((char * name, word));
-
-#endif /* !NDEBUG */
-
-#include "unproto.h"
-
-#endif	/* PRIVATE_H */
--- a/common/libsndfile/src/GSM610/proto.h
+++ /dev/null
@@ -1,65 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/*$Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/proto.h,v 1.2 2002/02/13 12:42:02 menno Exp $*/
-
-#ifndef	PROTO_H
-#define	PROTO_H
-
-/*#if __cplusplus*/
-#	define	NeedFunctionPrototypes	1
-/*#endif*/
-
-#if __STDC__
-#	define	NeedFunctionPrototypes	1
-#endif
-
-#ifdef	_NO_PROTO
-#	undef	NeedFunctionPrototypes
-#endif
-
-#undef	P	/* gnu stdio.h actually defines this... 	*/
-#undef	P0
-#undef	P1
-#undef	P2
-#undef	P3
-#undef	P4
-#undef	P5
-#undef	P6
-#undef	P7
-#undef	P8
-
-#if NeedFunctionPrototypes
-
-#	define	P( protos )	protos
-
-#	define	P0()				(void)
-#	define	P1(x, a)			(a)
-#	define	P2(x, a, b)			(a, b)
-#	define	P3(x, a, b, c)			(a, b, c)
-#	define	P4(x, a, b, c, d)		(a, b, c, d)	
-#	define	P5(x, a, b, c, d, e)		(a, b, c, d, e)
-#	define	P6(x, a, b, c, d, e, f)		(a, b, c, d, e, f)
-#	define	P7(x, a, b, c, d, e, f, g)	(a, b, c, d, e, f, g)
-#	define	P8(x, a, b, c, d, e, f, g, h)	(a, b, c, d, e, f, g, h)
-
-#else /* !NeedFunctionPrototypes */
-
-#	define	P( protos )	( /* protos */ )
-
-#	define	P0()				()
-#	define	P1(x, a)			x a;
-#	define	P2(x, a, b)			x a; b;
-#	define	P3(x, a, b, c)			x a; b; c;
-#	define	P4(x, a, b, c, d)		x a; b; c; d;
-#	define	P5(x, a, b, c, d, e)		x a; b; c; d; e;
-#	define	P6(x, a, b, c, d, e, f)		x a; b; c; d; e; f;
-#	define	P7(x, a, b, c, d, e, f, g)	x a; b; c; d; e; f; g;
-#	define	P8(x, a, b, c, d, e, f, g, h)	x a; b; c; d; e; f; g; h;
-
-#endif  /* !NeedFunctionPrototypes */
-
-#endif	/* PROTO_H */
--- a/common/libsndfile/src/GSM610/rpe.c
+++ /dev/null
@@ -1,488 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/rpe.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include <stdio.h>
-#include <assert.h>
-
-#include "private.h"
-
-#include "gsm.h"
-#include "proto.h"
-
-/*  4.2.13 .. 4.2.17  RPE ENCODING SECTION
- */
-
-/* 4.2.13 */
-
-static void Weighting_filter P2((e, x),
-	register word	* e,		/* signal [-5..0.39.44]	IN  */
-	word		* x		/* signal [0..39]	OUT */
-)
-/*
- *  The coefficients of the weighting filter are stored in a table
- *  (see table 4.4).  The following scaling is used:
- *
- *	H[0..10] = integer( real_H[ 0..10] * 8192 ); 
- */
-{
-	/* word			wt[ 50 ]; */
-
-	register longword	L_result;
-	register int		k /* , i */ ;
-
-	/*  Initialization of a temporary working array wt[0...49]
-	 */
-
-	/* for (k =  0; k <=  4; k++) wt[k] = 0;
-	 * for (k =  5; k <= 44; k++) wt[k] = *e++;
-	 * for (k = 45; k <= 49; k++) wt[k] = 0;
-	 *
-	 *  (e[-5..-1] and e[40..44] are allocated by the caller,
-	 *  are initially zero and are not written anywhere.)
-	 */
-	e -= 5;
-
-	/*  Compute the signal x[0..39]
-	 */ 
-	for (k = 0; k <= 39; k++) {
-
-		L_result = 8192 >> 1;
-
-		/* for (i = 0; i <= 10; i++) {
-		 *	L_temp   = GSM_L_MULT( wt[k+i], gsm_H[i] );
-		 *	L_result = GSM_L_ADD( L_result, L_temp );
-		 * }
-		 */
-
-#undef	STEP
-#define	STEP( i, H )	(e[ k + i ] * (longword)H)
-
-		/*  Every one of these multiplications is done twice --
-		 *  but I don't see an elegant way to optimize this. 
-		 *  Do you?
-		 */
-
-#ifdef	STUPID_COMPILER
-		L_result += STEP(	0, 	-134 ) ;
-		L_result += STEP(	1, 	-374 )  ;
-	               /* + STEP(	2, 	0    )  */
-		L_result += STEP(	3, 	2054 ) ;
-		L_result += STEP(	4, 	5741 ) ;
-		L_result += STEP(	5, 	8192 ) ;
-		L_result += STEP(	6, 	5741 ) ;
-		L_result += STEP(	7, 	2054 ) ;
-	 	       /* + STEP(	8, 	0    )  */
-		L_result += STEP(	9, 	-374 ) ;
-		L_result += STEP(	10, 	-134 ) ;
-#else
-		L_result +=
-		  STEP(	0, 	-134 ) 
-		+ STEP(	1, 	-374 ) 
-	     /* + STEP(	2, 	0    )  */
-		+ STEP(	3, 	2054 ) 
-		+ STEP(	4, 	5741 ) 
-		+ STEP(	5, 	8192 ) 
-		+ STEP(	6, 	5741 ) 
-		+ STEP(	7, 	2054 ) 
-	     /* + STEP(	8, 	0    )  */
-		+ STEP(	9, 	-374 ) 
-		+ STEP(10, 	-134 )
-		;
-#endif
-
-		/* L_result = GSM_L_ADD( L_result, L_result ); (* scaling(x2) *)
-		 * L_result = GSM_L_ADD( L_result, L_result ); (* scaling(x4) *)
-		 *
-		 * x[k] = SASR( L_result, 16 );
-		 */
-
-		/* 2 adds vs. >>16 => 14, minus one shift to compensate for
-		 * those we lost when replacing L_MULT by '*'.
-		 */
-
-		L_result = SASR( L_result, 13 );
-		x[k] =  (  L_result < MIN_WORD ? MIN_WORD
-			: (L_result > MAX_WORD ? MAX_WORD : L_result ));
-	}
-}
-
-/* 4.2.14 */
-
-static void RPE_grid_selection P3((x,xM,Mc_out),
-	word		* x,		/* [0..39]		IN  */ 
-	word		* xM,		/* [0..12]		OUT */
-	word		* Mc_out	/*			OUT */
-)
-/*
- *  The signal x[0..39] is used to select the RPE grid which is
- *  represented by Mc.
- */
-{
-	/* register word	temp1;	*/
-	register int		/* m, */  i;
-	register longword	L_result, L_temp;
-	longword		EM;	/* xxx should be L_EM? */
-	word			Mc;
-
-	longword		L_common_0_3;
-
-	EM = 0;
-	Mc = 0;
-
-	/* for (m = 0; m <= 3; m++) {
-	 *	L_result = 0;
-	 *
-	 *
-	 *	for (i = 0; i <= 12; i++) {
-	 *
-	 *		temp1    = SASR( x[m + 3*i], 2 );
-	 *
-	 *		assert(temp1 != MIN_WORD);
-	 *
-	 *		L_temp   = GSM_L_MULT( temp1, temp1 );
-	 *		L_result = GSM_L_ADD( L_temp, L_result );
-	 *	}
-	 * 
-	 *	if (L_result > EM) {
-	 *		Mc = m;
-	 *		EM = L_result;
-	 *	}
-	 * }
-	 */
-
-#undef	STEP
-#define	STEP( m, i )		L_temp = SASR( x[m + 3 * i], 2 );	\
-				L_result += L_temp * L_temp;
-
-	/* common part of 0 and 3 */
-
-	L_result = 0;
-	STEP( 0, 1 ); STEP( 0, 2 ); STEP( 0, 3 ); STEP( 0, 4 );
-	STEP( 0, 5 ); STEP( 0, 6 ); STEP( 0, 7 ); STEP( 0, 8 );
-	STEP( 0, 9 ); STEP( 0, 10); STEP( 0, 11); STEP( 0, 12);
-	L_common_0_3 = L_result;
-
-	/* i = 0 */
-
-	STEP( 0, 0 );
-	L_result <<= 1;	/* implicit in L_MULT */
-	EM = L_result;
-
-	/* i = 1 */
-
-	L_result = 0;
-	STEP( 1, 0 );
-	STEP( 1, 1 ); STEP( 1, 2 ); STEP( 1, 3 ); STEP( 1, 4 );
-	STEP( 1, 5 ); STEP( 1, 6 ); STEP( 1, 7 ); STEP( 1, 8 );
-	STEP( 1, 9 ); STEP( 1, 10); STEP( 1, 11); STEP( 1, 12);
-	L_result <<= 1;
-	if (L_result > EM) {
-		Mc = 1;
-	 	EM = L_result;
-	}
-
-	/* i = 2 */
-
-	L_result = 0;
-	STEP( 2, 0 );
-	STEP( 2, 1 ); STEP( 2, 2 ); STEP( 2, 3 ); STEP( 2, 4 );
-	STEP( 2, 5 ); STEP( 2, 6 ); STEP( 2, 7 ); STEP( 2, 8 );
-	STEP( 2, 9 ); STEP( 2, 10); STEP( 2, 11); STEP( 2, 12);
-	L_result <<= 1;
-	if (L_result > EM) {
-		Mc = 2;
-	 	EM = L_result;
-	}
-
-	/* i = 3 */
-
-	L_result = L_common_0_3;
-	STEP( 3, 12 );
-	L_result <<= 1;
-	if (L_result > EM) {
-		Mc = 3;
-	 	EM = L_result;
-	}
-
-	/**/
-
-	/*  Down-sampling by a factor 3 to get the selected xM[0..12]
-	 *  RPE sequence.
-	 */
-	for (i = 0; i <= 12; i ++) xM[i] = x[Mc + 3*i];
-	*Mc_out = Mc;
-}
-
-/* 4.12.15 */
-
-static void APCM_quantization_xmaxc_to_exp_mant P3((xmaxc,exp_out,mant_out),
-	word		xmaxc,		/* IN 	*/
-	word		* exp_out,	/* OUT	*/
-	word		* mant_out )	/* OUT  */
-{
-	word	exp, mant;
-
-	/* Compute exponent and mantissa of the decoded version of xmaxc
-	 */
-
-	exp = 0;
-	if (xmaxc > 15) exp = SASR(xmaxc, 3) - 1;
-	mant = xmaxc - (exp << 3);
-
-	if (mant == 0) {
-		exp  = -4;
-		mant = 7;
-	}
-	else {
-		while (mant <= 7) {
-			mant = mant << 1 | 1;
-			exp--;
-		}
-		mant -= 8;
-	}
-
-	assert( exp  >= -4 && exp <= 6 );
-	assert( mant >= 0 && mant <= 7 );
-
-	*exp_out  = exp;
-	*mant_out = mant;
-}
-
-static void APCM_quantization P5((xM,xMc,mant_out,exp_out,xmaxc_out),
-	word		* xM,		/* [0..12]		IN	*/
-
-	word		* xMc,		/* [0..12]		OUT	*/
-	word		* mant_out,	/* 			OUT	*/
-	word		* exp_out,	/*			OUT	*/
-	word		* xmaxc_out	/*			OUT	*/
-)
-{
-	int	i, itest;
-
-	word	xmax, xmaxc, temp, temp1, temp2;
-	word	exp, mant;
-
-
-	/*  Find the maximum absolute value xmax of xM[0..12].
-	 */
-
-	xmax = 0;
-	for (i = 0; i <= 12; i++) {
-		temp = xM[i];
-		temp = GSM_ABS(temp);
-		if (temp > xmax) xmax = temp;
-	}
-
-	/*  Qantizing and coding of xmax to get xmaxc.
-	 */
-
-	exp   = 0;
-	temp  = SASR( xmax, 9 );
-	itest = 0;
-
-	for (i = 0; i <= 5; i++) {
-
-		itest |= (temp <= 0);
-		temp = SASR( temp, 1 );
-
-		assert(exp <= 5);
-		if (itest == 0) exp++;		/* exp = add (exp, 1) */
-	}
-
-	assert(exp <= 6 && exp >= 0);
-	temp = exp + 5;
-
-	assert(temp <= 11 && temp >= 0);
-	xmaxc = gsm_add( SASR(xmax, temp), exp << 3 );
-
-	/*   Quantizing and coding of the xM[0..12] RPE sequence
-	 *   to get the xMc[0..12]
-	 */
-
-	APCM_quantization_xmaxc_to_exp_mant( xmaxc, &exp, &mant );
-
-	/*  This computation uses the fact that the decoded version of xmaxc
-	 *  can be calculated by using the exponent and the mantissa part of
-	 *  xmaxc (logarithmic table).
-	 *  So, this method avoids any division and uses only a scaling
-	 *  of the RPE samples by a function of the exponent.  A direct 
-	 *  multiplication by the inverse of the mantissa (NRFAC[0..7]
-	 *  found in table 4.5) gives the 3 bit coded version xMc[0..12]
-	 *  of the RPE samples.
-	 */
-
-
-	/* Direct computation of xMc[0..12] using table 4.5
-	 */
-
-	assert( exp <= 4096 && exp >= -4096);
-	assert( mant >= 0 && mant <= 7 ); 
-
-	temp1 = 6 - exp;		/* normalization by the exponent */
-	temp2 = gsm_NRFAC[ mant ];  	/* inverse mantissa 		 */
-
-	for (i = 0; i <= 12; i++) {
-
-		assert(temp1 >= 0 && temp1 < 16);
-
-		temp = xM[i] << temp1;
-		temp = GSM_MULT( temp, temp2 );
-		temp = SASR(temp, 12);
-		xMc[i] = temp + 4;		/* see note below */
-	}
-
-	/*  NOTE: This equation is used to make all the xMc[i] positive.
-	 */
-
-	*mant_out  = mant;
-	*exp_out   = exp;
-	*xmaxc_out = xmaxc;
-}
-
-/* 4.2.16 */
-
-static void APCM_inverse_quantization P4((xMc,mant,exp,xMp),
-	register word	* xMc,	/* [0..12]			IN 	*/
-	word		mant,
-	word		exp,
-	register word	* xMp)	/* [0..12]			OUT 	*/
-/* 
- *  This part is for decoding the RPE sequence of coded xMc[0..12]
- *  samples to obtain the xMp[0..12] array.  Table 4.6 is used to get
- *  the mantissa of xmaxc (FAC[0..7]).
- */
-{
-	int	i;
-	word	temp, temp1, temp2, temp3;
-	longword	ltmp;
-
-	assert( mant >= 0 && mant <= 7 ); 
-
-	temp1 = gsm_FAC[ mant ];	/* see 4.2-15 for mant */
-	temp2 = gsm_sub( 6, exp );	/* see 4.2-15 for exp  */
-	temp3 = gsm_asl( 1, gsm_sub( temp2, 1 ));
-
-	for (i = 13; i--;) {
-
-		assert( *xMc <= 7 && *xMc >= 0 ); 	/* 3 bit unsigned */
-
-		/* temp = gsm_sub( *xMc++ << 1, 7 ); */
-		temp = (*xMc++ << 1) - 7;	        /* restore sign   */
-		assert( temp <= 7 && temp >= -7 ); 	/* 4 bit signed   */
-
-		temp <<= 12;				/* 16 bit signed  */
-		temp = GSM_MULT_R( temp1, temp );
-		temp = GSM_ADD( temp, temp3 );
-		*xMp++ = gsm_asr( temp, temp2 );
-	}
-}
-
-/* 4.2.17 */
-
-static void RPE_grid_positioning P3((Mc,xMp,ep),
-	word		Mc,		/* grid position	IN	*/
-	register word	* xMp,		/* [0..12]		IN	*/
-	register word	* ep		/* [0..39]		OUT	*/
-)
-/*
- *  This procedure computes the reconstructed long term residual signal
- *  ep[0..39] for the LTP analysis filter.  The inputs are the Mc
- *  which is the grid position selection and the xMp[0..12] decoded
- *  RPE samples which are upsampled by a factor of 3 by inserting zero
- *  values.
- */
-{
-	int	i = 13;
-
-	assert(0 <= Mc && Mc <= 3);
-
-        switch (Mc) {
-                case 3: *ep++ = 0;
-                case 2:  do {
-                                *ep++ = 0;
-                case 1:         *ep++ = 0;
-                case 0:         *ep++ = *xMp++;
-                         } while (--i);
-        }
-        while (++Mc < 4) *ep++ = 0;
-
-	/*
-
-	int i, k;
-	for (k = 0; k <= 39; k++) ep[k] = 0;
-	for (i = 0; i <= 12; i++) {
-		ep[ Mc + (3*i) ] = xMp[i];
-	}
-	*/
-}
-
-/* 4.2.18 */
-
-/*  This procedure adds the reconstructed long term residual signal
- *  ep[0..39] to the estimated signal dpp[0..39] from the long term
- *  analysis filter to compute the reconstructed short term residual
- *  signal dp[-40..-1]; also the reconstructed short term residual
- *  array dp[-120..-41] is updated.
- */
-
-#if 0	/* Has been inlined in code.c */
-void Gsm_Update_of_reconstructed_short_time_residual_signal P3((dpp, ep, dp),
-	word	* dpp,		/* [0...39]	IN	*/
-	word	* ep,		/* [0...39]	IN	*/
-	word	* dp)		/* [-120...-1]  IN/OUT 	*/
-{
-	int 		k;
-
-	for (k = 0; k <= 79; k++) 
-		dp[ -120 + k ] = dp[ -80 + k ];
-
-	for (k = 0; k <= 39; k++)
-		dp[ -40 + k ] = gsm_add( ep[k], dpp[k] );
-}
-#endif	/* Has been inlined in code.c */
-
-void Gsm_RPE_Encoding P5((S,e,xmaxc,Mc,xMc),
-
-	struct gsm_state * S,
-
-	word	* e,		/* -5..-1][0..39][40..44	IN/OUT  */
-	word	* xmaxc,	/* 				OUT */
-	word	* Mc,		/* 			  	OUT */
-	word	* xMc)		/* [0..12]			OUT */
-{
-	word	x[40];
-	word	xM[13], xMp[13];
-	word	mant, exp;
-
-	Weighting_filter(e, x);
-	RPE_grid_selection(x, xM, Mc);
-
-	APCM_quantization(	xM, xMc, &mant, &exp, xmaxc);
-	APCM_inverse_quantization(  xMc,  mant,  exp, xMp);
-
-	RPE_grid_positioning( *Mc, xMp, e );
-
-}
-
-void Gsm_RPE_Decoding P5((S, xmaxcr, Mcr, xMcr, erp),
-	struct gsm_state	* S,
-
-	word 		xmaxcr,
-	word		Mcr,
-	word		* xMcr,  /* [0..12], 3 bits 		IN	*/
-	word		* erp	 /* [0..39]			OUT 	*/
-)
-{
-	word	exp, mant;
-	word	xMp[ 13 ];
-
-	APCM_quantization_xmaxc_to_exp_mant( xmaxcr, &exp, &mant );
-	APCM_inverse_quantization( xMcr, mant, exp, xMp );
-	RPE_grid_positioning( Mcr, xMp, erp );
-
-}
--- a/common/libsndfile/src/GSM610/short_term.c
+++ /dev/null
@@ -1,429 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/short_term.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-#include <stdio.h>
-#include <assert.h>
-
-#include "private.h"
-
-#include "gsm.h"
-#include "proto.h"
-
-/*
- *  SHORT TERM ANALYSIS FILTERING SECTION
- */
-
-/* 4.2.8 */
-
-static void Decoding_of_the_coded_Log_Area_Ratios P2((LARc,LARpp),
-	word 	* LARc,		/* coded log area ratio	[0..7] 	IN	*/
-	word	* LARpp)	/* out: decoded ..			*/
-{
-	register word	temp1 /* , temp2 */;
-	register long	ltmp;	/* for GSM_ADD */
-
-	/*  This procedure requires for efficient implementation
-	 *  two tables.
- 	 *
-	 *  INVA[1..8] = integer( (32768 * 8) / real_A[1..8])
-	 *  MIC[1..8]  = minimum value of the LARc[1..8]
-	 */
-
-	/*  Compute the LARpp[1..8]
-	 */
-
-	/* 	for (i = 1; i <= 8; i++, B++, MIC++, INVA++, LARc++, LARpp++) {
-	 *
-	 *		temp1  = GSM_ADD( *LARc, *MIC ) << 10;
-	 *		temp2  = *B << 1;
-	 *		temp1  = GSM_SUB( temp1, temp2 );
-	 *
-	 *		assert(*INVA != MIN_WORD);
-	 *
-	 *		temp1  = GSM_MULT_R( *INVA, temp1 );
-	 *		*LARpp = GSM_ADD( temp1, temp1 );
-	 *	}
-	 */
-
-#undef	STEP
-#define	STEP( B, MIC, INVA )	\
-		temp1    = GSM_ADD( *LARc++, MIC ) << 10;	\
-		temp1    = GSM_SUB( temp1, B << 1 );		\
-		temp1    = GSM_MULT_R( INVA, temp1 );		\
-		*LARpp++ = GSM_ADD( temp1, temp1 );
-
-	STEP(      0,  -32,  13107 );
-	STEP(      0,  -32,  13107 );
-	STEP(   2048,  -16,  13107 );
-	STEP(  -2560,  -16,  13107 );
-
-	STEP(     94,   -8,  19223 );
-	STEP(  -1792,   -8,  17476 );
-	STEP(   -341,   -4,  31454 );
-	STEP(  -1144,   -4,  29708 );
-
-	/* NOTE: the addition of *MIC is used to restore
-	 * 	 the sign of *LARc.
-	 */
-}
-
-/* 4.2.9 */
-/* Computation of the quantized reflection coefficients 
- */
-
-/* 4.2.9.1  Interpolation of the LARpp[1..8] to get the LARp[1..8]
- */
-
-/*
- *  Within each frame of 160 analyzed speech samples the short term
- *  analysis and synthesis filters operate with four different sets of
- *  coefficients, derived from the previous set of decoded LARs(LARpp(j-1))
- *  and the actual set of decoded LARs (LARpp(j))
- *
- * (Initial value: LARpp(j-1)[1..8] = 0.)
- */
-
-static void Coefficients_0_12 P3((LARpp_j_1, LARpp_j, LARp),
-	register word * LARpp_j_1,
-	register word * LARpp_j,
-	register word * LARp)
-{
-	register int 	i;
-	register longword ltmp;
-
-	for (i = 1; i <= 8; i++, LARp++, LARpp_j_1++, LARpp_j++) {
-		*LARp = GSM_ADD( SASR( *LARpp_j_1, 2 ), SASR( *LARpp_j, 2 ));
-		*LARp = GSM_ADD( *LARp,  SASR( *LARpp_j_1, 1));
-	}
-}
-
-static void Coefficients_13_26 P3((LARpp_j_1, LARpp_j, LARp),
-	register word * LARpp_j_1,
-	register word * LARpp_j,
-	register word * LARp)
-{
-	register int i;
-	register longword ltmp;
-	for (i = 1; i <= 8; i++, LARpp_j_1++, LARpp_j++, LARp++) {
-		*LARp = GSM_ADD( SASR( *LARpp_j_1, 1), SASR( *LARpp_j, 1 ));
-	}
-}
-
-static void Coefficients_27_39 P3((LARpp_j_1, LARpp_j, LARp),
-	register word * LARpp_j_1,
-	register word * LARpp_j,
-	register word * LARp)
-{
-	register int i;
-	register longword ltmp;
-
-	for (i = 1; i <= 8; i++, LARpp_j_1++, LARpp_j++, LARp++) {
-		*LARp = GSM_ADD( SASR( *LARpp_j_1, 2 ), SASR( *LARpp_j, 2 ));
-		*LARp = GSM_ADD( *LARp, SASR( *LARpp_j, 1 ));
-	}
-}
-
-
-static void Coefficients_40_159 P2((LARpp_j, LARp),
-	register word * LARpp_j,
-	register word * LARp)
-{
-	register int i;
-
-	for (i = 1; i <= 8; i++, LARp++, LARpp_j++)
-		*LARp = *LARpp_j;
-}
-
-/* 4.2.9.2 */
-
-static void LARp_to_rp P1((LARp),
-	register word * LARp)	/* [0..7] IN/OUT  */
-/*
- *  The input of this procedure is the interpolated LARp[0..7] array.
- *  The reflection coefficients, rp[i], are used in the analysis
- *  filter and in the synthesis filter.
- */
-{
-	register int 		i;
-	register word		temp;
-	register longword	ltmp;
-
-	for (i = 1; i <= 8; i++, LARp++) {
-
-		/* temp = GSM_ABS( *LARp );
-	         *
-		 * if (temp < 11059) temp <<= 1;
-		 * else if (temp < 20070) temp += 11059;
-		 * else temp = GSM_ADD( temp >> 2, 26112 );
-		 *
-		 * *LARp = *LARp < 0 ? -temp : temp;
-		 */
-
-		if (*LARp < 0) {
-			temp = *LARp == MIN_WORD ? MAX_WORD : -(*LARp);
-			*LARp = - ((temp < 11059) ? temp << 1
-				: ((temp < 20070) ? temp + 11059
-				:  GSM_ADD( temp >> 2, 26112 )));
-		} else {
-			temp  = *LARp;
-			*LARp =    (temp < 11059) ? temp << 1
-				: ((temp < 20070) ? temp + 11059
-				:  GSM_ADD( temp >> 2, 26112 ));
-		}
-	}
-}
-
-
-/* 4.2.10 */
-static void Short_term_analysis_filtering P4((S,rp,k_n,s),
-	struct gsm_state * S,
-	register word	* rp,	/* [0..7]	IN	*/
-	register int 	k_n, 	/*   k_end - k_start	*/
-	register word	* s	/* [0..n-1]	IN/OUT	*/
-)
-/*
- *  This procedure computes the short term residual signal d[..] to be fed
- *  to the RPE-LTP loop from the s[..] signal and from the local rp[..]
- *  array (quantized reflection coefficients).  As the call of this
- *  procedure can be done in many ways (see the interpolation of the LAR
- *  coefficient), it is assumed that the computation begins with index
- *  k_start (for arrays d[..] and s[..]) and stops with index k_end
- *  (k_start and k_end are defined in 4.2.9.1).  This procedure also
- *  needs to keep the array u[0..7] in memory for each call.
- */
-{
-	register word		* u = S->u;
-	register int		i;
-	register word		di, zzz, ui, sav, rpi;
-	register longword 	ltmp;
-
-	for (; k_n--; s++) {
-
-		di = sav = *s;
-
-		for (i = 0; i < 8; i++) {		/* YYY */
-
-			ui    = u[i];
-			rpi   = rp[i];
-			u[i]  = sav;
-
-			zzz   = GSM_MULT_R(rpi, di);
-			sav   = GSM_ADD(   ui,  zzz);
-
-			zzz   = GSM_MULT_R(rpi, ui);
-			di    = GSM_ADD(   di,  zzz );
-		}
-
-		*s = di;
-	}
-}
-
-#if defined(USE_FLOAT_MUL) && defined(FAST)
-
-static void Fast_Short_term_analysis_filtering P4((S,rp,k_n,s),
-	struct gsm_state * S,
-	register word	* rp,	/* [0..7]	IN	*/
-	register int 	k_n, 	/*   k_end - k_start	*/
-	register word	* s	/* [0..n-1]	IN/OUT	*/
-)
-{
-	register word		* u = S->u;
-	register int		i;
-
-	float 	  uf[8],
-		 rpf[8];
-
-	register float scalef = 3.0517578125e-5;
-	register float		sav, di, temp;
-
-	for (i = 0; i < 8; ++i) {
-		uf[i]  = u[i];
-		rpf[i] = rp[i] * scalef;
-	}
-	for (; k_n--; s++) {
-		sav = di = *s;
-		for (i = 0; i < 8; ++i) {
-			register float rpfi = rpf[i];
-			register float ufi  = uf[i];
-
-			uf[i] = sav;
-			temp  = rpfi * di + ufi;
-			di   += rpfi * ufi;
-			sav   = temp;
-		}
-		*s = di;
-	}
-	for (i = 0; i < 8; ++i) u[i] = uf[i];
-}
-#endif /* ! (defined (USE_FLOAT_MUL) && defined (FAST)) */
-
-static void Short_term_synthesis_filtering P5((S,rrp,k,wt,sr),
-	struct gsm_state * S,
-	register word	* rrp,	/* [0..7]	IN	*/
-	register int	k,	/* k_end - k_start	*/
-	register word	* wt,	/* [0..k-1]	IN	*/
-	register word	* sr	/* [0..k-1]	OUT	*/
-)
-{
-	register word		* v = S->v;
-	register int		i;
-	register word		sri, tmp1, tmp2;
-	register longword	ltmp;	/* for GSM_ADD  & GSM_SUB */
-
-	while (k--) {
-		sri = *wt++;
-		for (i = 8; i--;) {
-
-			/* sri = GSM_SUB( sri, gsm_mult_r( rrp[i], v[i] ) );
-			 */
-			tmp1 = rrp[i];
-			tmp2 = v[i];
-			tmp2 =  ( tmp1 == MIN_WORD && tmp2 == MIN_WORD
-				? MAX_WORD
-				: 0x0FFFF & (( (longword)tmp1 * (longword)tmp2
-					     + 16384) >> 15)) ;
-
-			sri  = GSM_SUB( sri, tmp2 );
-
-			/* v[i+1] = GSM_ADD( v[i], gsm_mult_r( rrp[i], sri ) );
-			 */
-			tmp1  = ( tmp1 == MIN_WORD && sri == MIN_WORD
-				? MAX_WORD
-				: 0x0FFFF & (( (longword)tmp1 * (longword)sri
-					     + 16384) >> 15)) ;
-
-			v[i+1] = GSM_ADD( v[i], tmp1);
-		}
-		*sr++ = v[0] = sri;
-	}
-}
-
-
-#if defined(FAST) && defined(USE_FLOAT_MUL)
-
-static void Fast_Short_term_synthesis_filtering P5((S,rrp,k,wt,sr),
-	struct gsm_state * S,
-	register word	* rrp,	/* [0..7]	IN	*/
-	register int	k,	/* k_end - k_start	*/
-	register word	* wt,	/* [0..k-1]	IN	*/
-	register word	* sr	/* [0..k-1]	OUT	*/
-)
-{
-	register word		* v = S->v;
-	register int		i;
-
-	float va[9], rrpa[8];
-	register float scalef = 3.0517578125e-5, temp;
-
-	for (i = 0; i < 8; ++i) {
-		va[i]   = v[i];
-		rrpa[i] = (float)rrp[i] * scalef;
-	}
-	while (k--) {
-		register float sri = *wt++;
-		for (i = 8; i--;) {
-			sri -= rrpa[i] * va[i];
-			if     (sri < -32768.) sri = -32768.;
-			else if (sri > 32767.) sri =  32767.;
-
-			temp = va[i] + rrpa[i] * sri;
-			if     (temp < -32768.) temp = -32768.;
-			else if (temp > 32767.) temp =  32767.;
-			va[i+1] = temp;
-		}
-		*sr++ = va[0] = sri;
-	}
-	for (i = 0; i < 9; ++i) v[i] = va[i];
-}
-
-#endif /* defined(FAST) && defined(USE_FLOAT_MUL) */
-
-void Gsm_Short_Term_Analysis_Filter P3((S,LARc,s),
-
-	struct gsm_state * S,
-
-	word	* LARc,		/* coded log area ratio [0..7]  IN	*/
-	word	* s		/* signal [0..159]		IN/OUT	*/
-)
-{
-	word		* LARpp_j	= S->LARpp[ S->j      ];
-	word		* LARpp_j_1	= S->LARpp[ S->j ^= 1 ];
-
-	word		LARp[8];
-
-#undef	FILTER
-#if 	defined(FAST) && defined(USE_FLOAT_MUL)
-# 	define	FILTER 	(* (S->fast			\
-			   ? Fast_Short_term_analysis_filtering	\
-		    	   : Short_term_analysis_filtering	))
-
-#else
-# 	define	FILTER	Short_term_analysis_filtering
-#endif
-
-	Decoding_of_the_coded_Log_Area_Ratios( LARc, LARpp_j );
-
-	Coefficients_0_12(  LARpp_j_1, LARpp_j, LARp );
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 13, s);
-
-	Coefficients_13_26( LARpp_j_1, LARpp_j, LARp);
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 14, s + 13);
-
-	Coefficients_27_39( LARpp_j_1, LARpp_j, LARp);
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 13, s + 27);
-
-	Coefficients_40_159( LARpp_j, LARp);
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 120, s + 40);
-}
-
-void Gsm_Short_Term_Synthesis_Filter P4((S, LARcr, wt, s),
-	struct gsm_state * S,
-
-	word	* LARcr,	/* received log area ratios [0..7] IN  */
-	word	* wt,		/* received d [0..159]		   IN  */
-
-	word	* s		/* signal   s [0..159]		  OUT  */
-)
-{
-	word		* LARpp_j	= S->LARpp[ S->j     ];
-	word		* LARpp_j_1	= S->LARpp[ S->j ^=1 ];
-
-	word		LARp[8];
-
-#undef	FILTER
-#if 	defined(FAST) && defined(USE_FLOAT_MUL)
-
-# 	define	FILTER 	(* (S->fast			\
-			   ? Fast_Short_term_synthesis_filtering	\
-		    	   : Short_term_synthesis_filtering	))
-#else
-#	define	FILTER	Short_term_synthesis_filtering
-#endif
-
-	Decoding_of_the_coded_Log_Area_Ratios( LARcr, LARpp_j );
-
-	Coefficients_0_12( LARpp_j_1, LARpp_j, LARp );
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 13, wt, s );
-
-	Coefficients_13_26( LARpp_j_1, LARpp_j, LARp);
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 14, wt + 13, s + 13 );
-
-	Coefficients_27_39( LARpp_j_1, LARpp_j, LARp);
-	LARp_to_rp( LARp );
-	FILTER( S, LARp, 13, wt + 27, s + 27 );
-
-	Coefficients_40_159( LARpp_j, LARp );
-	LARp_to_rp( LARp );
-	FILTER(S, LARp, 120, wt + 40, s + 40);
-}
--- a/common/libsndfile/src/GSM610/table.c
+++ /dev/null
@@ -1,63 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/* $Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/table.c,v 1.2 2002/02/13 12:42:02 menno Exp $ */
-
-/*  Most of these tables are inlined at their point of use.
- */
-
-/*  4.4 TABLES USED IN THE FIXED POINT IMPLEMENTATION OF THE RPE-LTP
- *      CODER AND DECODER
- *
- *	(Most of them inlined, so watch out.)
- */
-
-#define	GSM_TABLE_C
-#include "private.h"
-#include	"gsm.h"
-
-/*  Table 4.1  Quantization of the Log.-Area Ratios
- */
-/* i 		     1      2      3        4      5      6        7       8 */
-word gsm_A[8]   = {20480, 20480, 20480,  20480,  13964,  15360,   8534,  9036};
-word gsm_B[8]   = {    0,     0,  2048,  -2560,     94,  -1792,   -341, -1144};
-word gsm_MIC[8] = { -32,   -32,   -16,    -16,     -8,     -8,     -4,    -4 };
-word gsm_MAC[8] = {  31,    31,    15,     15,      7,      7,      3,     3 };
-
-
-/*  Table 4.2  Tabulation  of 1/A[1..8]
- */
-word gsm_INVA[8]={ 13107, 13107,  13107, 13107,  19223, 17476,  31454, 29708 };
-
-
-/*   Table 4.3a  Decision level of the LTP gain quantizer
- */
-/*  bc		      0	        1	  2	     3			*/
-word gsm_DLB[4] = {  6554,    16384,	26214,	   32767	};
-
-
-/*   Table 4.3b   Quantization levels of the LTP gain quantizer
- */
-/* bc		      0          1        2          3			*/
-word gsm_QLB[4] = {  3277,    11469,	21299,	   32767	};
-
-
-/*   Table 4.4	 Coefficients of the weighting filter
- */
-/* i		    0      1   2    3   4      5      6     7   8   9    10  */
-word gsm_H[11] = {-134, -374, 0, 2054, 5741, 8192, 5741, 2054, 0, -374, -134 };
-
-
-/*   Table 4.5 	 Normalized inverse mantissa used to compute xM/xmax 
- */
-/* i		 	0        1    2      3      4      5     6      7   */
-word gsm_NRFAC[8] = { 29128, 26215, 23832, 21846, 20165, 18725, 17476, 16384 };
-
-
-/*   Table 4.6	 Normalized direct mantissa used to compute xM/xmax
- */
-/* i                  0      1       2      3      4      5      6      7   */
-word gsm_FAC[8]	= { 18431, 20479, 22527, 24575, 26623, 28671, 30719, 32767 };
--- a/common/libsndfile/src/GSM610/unproto.h
+++ /dev/null
@@ -1,23 +1,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
- * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/*$Header: /home/cvs/f/fa/faac/faac/common/libsndfile/src/GSM610/Attic/unproto.h,v 1.2 2002/02/13 12:42:02 menno Exp $*/
-
-#ifdef	PROTO_H		/* sic */
-#undef	PROTO_H
-
-#undef	P
-#undef	P0
-#undef	P1
-#undef	P2
-#undef	P3
-#undef	P4
-#undef	P5
-#undef	P6
-#undef	P7
-#undef	P8
-
-#endif	/* PROTO_H */
--- a/common/libsndfile/src/Makefile.am
+++ /dev/null
@@ -1,23 +1,0 @@
-# This file was automatically generated
-# DO NOT EDIT!
-#
-DIST_SUBDIRS = GSM610 G72x
-SUBDIRS = GSM610 G72x
-
-lib_LTLIBRARIES = libsndfile.la
-include_HEADERS = sndfile.h
-INCLUDES = -I$(srcdir)/../src -I$(srcdir)
-
-noinst_HEADERS = common.h sfendian.h floatcast.h wav.h au.h
-
-COMMON = common.c pcm.c ulaw.c alaw.c float32.c sndfile.c  
-FILESPECIFIC = aiff.c au.c au_g72x.c nist.c paf.c raw.c samplitude.c \
-				svx.c wav.c wav_gsm610.c wav_ima_adpcm.c \
-				wav_ms_adpcm.c voc.c ircam.c
-
-libsndfile_la_SOURCES = $(COMMON) $(FILESPECIFIC) sndfile.h
-libsndfile_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
-libsndfile_la_LIBADD  = GSM610/libgsm.la G72x/libg72x.la
-
-# Disable autoheader. 
-AUTOHEADER=echo
--- a/common/libsndfile/src/Makefile.in
+++ /dev/null
@@ -1,484 +1,0 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# This file was automatically generated
-# DO NOT EDIT!
-#
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-DLLTOOL = @DLLTOOL@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
-VERSION = @VERSION@
-subdirs = @subdirs@
-
-DIST_SUBDIRS = GSM610 G72x
-SUBDIRS = GSM610 G72x
-
-lib_LTLIBRARIES = libsndfile.la
-include_HEADERS = sndfile.h
-INCLUDES = -I$(srcdir)/../src -I$(srcdir)
-
-noinst_HEADERS = common.h sfendian.h floatcast.h wav.h au.h
-
-COMMON = common.c pcm.c ulaw.c alaw.c float32.c sndfile.c  
-FILESPECIFIC = aiff.c au.c au_g72x.c nist.c paf.c raw.c samplitude.c 				svx.c wav.c wav_gsm610.c wav_ima_adpcm.c 				wav_ms_adpcm.c voc.c ircam.c
-
-
-libsndfile_la_SOURCES = $(COMMON) $(FILESPECIFIC) sndfile.h
-libsndfile_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
-libsndfile_la_LIBADD = GSM610/libgsm.la G72x/libg72x.la
-
-# Disable autoheader. 
-AUTOHEADER = echo
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = 
-LTLIBRARIES =  $(lib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I.
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libsndfile_la_DEPENDENCIES =  GSM610/libgsm.la G72x/libg72x.la
-libsndfile_la_OBJECTS =  common.lo pcm.lo ulaw.lo alaw.lo float32.lo \
-sndfile.lo aiff.lo au.lo au_g72x.lo nist.lo paf.lo raw.lo samplitude.lo \
-svx.lo wav.lo wav_gsm610.lo wav_ima_adpcm.lo wav_ms_adpcm.lo voc.lo \
-ircam.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-HEADERS =  $(include_HEADERS) $(noinst_HEADERS)
-
-DIST_COMMON =  ./stamp-h.in Makefile.am Makefile.in config.h.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-SOURCES = $(libsndfile_la_SOURCES)
-OBJECTS = $(libsndfile_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-config.h: stamp-h
-	@if test ! -f $@; then \
-		rm -f stamp-h; \
-		$(MAKE) stamp-h; \
-	else :; fi
-stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES= CONFIG_HEADERS=src/config.h \
-	     $(SHELL) ./config.status
-	@echo timestamp > stamp-h 2> /dev/null
-$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
-	@if test ! -f $@; then \
-		rm -f $(srcdir)/stamp-h.in; \
-		$(MAKE) $(srcdir)/stamp-h.in; \
-	else :; fi
-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOHEADER)
-	@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
-	-rm -f config.h
-
-maintainer-clean-hdr:
-
-mostlyclean-libLTLIBRARIES:
-
-clean-libLTLIBRARIES:
-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-
-distclean-libLTLIBRARIES:
-
-maintainer-clean-libLTLIBRARIES:
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo "$(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
-	  else :; fi; \
-	done
-
-uninstall-libLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
-	done
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libsndfile.la: $(libsndfile_la_OBJECTS) $(libsndfile_la_DEPENDENCIES)
-	$(LINK) -rpath $(libdir) $(libsndfile_la_LDFLAGS) $(libsndfile_la_OBJECTS) $(libsndfile_la_LIBADD) $(LIBS)
-
-install-includeHEADERS: $(include_HEADERS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(includedir)
-	@list='$(include_HEADERS)'; for p in $$list; do \
-	  if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-	  echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p"; \
-	  $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p; \
-	done
-
-uninstall-includeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	list='$(include_HEADERS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(includedir)/$$p; \
-	done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive  \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
-	  rev="$$subdir $$rev"; \
-	  test "$$subdir" = "." && dot_seen=yes; \
-	done; \
-	test "$$dot_seen" = "no" && rev=". $$rev"; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-   if test "$$subdir" = .; then :; else \
-	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-   fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	for subdir in $(DIST_SUBDIRS); do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d $(distdir)/$$subdir \
-	    || mkdir $(distdir)/$$subdir \
-	    || exit 1; \
-	    chmod 777 $(distdir)/$$subdir; \
-	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-aiff.lo aiff.o : aiff.c sndfile.h config.h sfendian.h common.h
-alaw.lo alaw.o : alaw.c sndfile.h floatcast.h common.h
-au.lo au.o : au.c sndfile.h config.h sfendian.h common.h au.h
-au_g72x.lo au_g72x.o : au_g72x.c config.h sndfile.h sfendian.h \
-	floatcast.h common.h au.h G72x/g72x.h
-common.lo common.o : common.c sndfile.h sfendian.h config.h common.h
-float32.lo float32.o : float32.c sndfile.h config.h sfendian.h common.h
-ircam.lo ircam.o : ircam.c sndfile.h config.h sfendian.h common.h
-nist.lo nist.o : nist.c sndfile.h config.h sfendian.h common.h
-paf.lo paf.o : paf.c config.h sndfile.h sfendian.h floatcast.h common.h
-pcm.lo pcm.o : pcm.c config.h sndfile.h sfendian.h floatcast.h common.h
-raw.lo raw.o : raw.c sndfile.h config.h sfendian.h common.h
-samplitude.lo samplitude.o : samplitude.c sndfile.h config.h sfendian.h \
-	common.h
-sndfile.lo sndfile.o : sndfile.c sndfile.h config.h sfendian.h common.h
-svx.lo svx.o : svx.c sndfile.h config.h sfendian.h common.h
-ulaw.lo ulaw.o : ulaw.c sndfile.h floatcast.h common.h
-voc.lo voc.o : voc.c sndfile.h config.h sfendian.h common.h
-wav.lo wav.o : wav.c sndfile.h config.h sfendian.h common.h wav.h
-wav_gsm610.lo wav_gsm610.o : wav_gsm610.c sndfile.h config.h sfendian.h \
-	floatcast.h common.h wav.h GSM610/gsm.h
-wav_ima_adpcm.lo wav_ima_adpcm.o : wav_ima_adpcm.c sndfile.h config.h \
-	sfendian.h floatcast.h common.h wav.h
-wav_ms_adpcm.lo wav_ms_adpcm.o : wav_ms_adpcm.c sndfile.h config.h \
-	sfendian.h floatcast.h common.h wav.h
-
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-all-recursive-am: config.h
-	$(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-install-exec-am: install-libLTLIBRARIES
-install-exec: install-exec-recursive
-
-install-data-am: install-includeHEADERS
-install-data: install-data-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-libLTLIBRARIES uninstall-includeHEADERS
-uninstall: uninstall-recursive
-all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
-all-redirect: all-recursive-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-	$(mkinstalldirs)  $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-hdr mostlyclean-libLTLIBRARIES \
-		mostlyclean-compile mostlyclean-libtool \
-		mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am:  clean-hdr clean-libLTLIBRARIES clean-compile clean-libtool \
-		clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am:  distclean-hdr distclean-libLTLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
-	-rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am:  maintainer-clean-hdr \
-		maintainer-clean-libLTLIBRARIES \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
-clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
-uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
-distclean-compile clean-compile maintainer-clean-compile \
-mostlyclean-libtool distclean-libtool clean-libtool \
-maintainer-clean-libtool uninstall-includeHEADERS \
-install-includeHEADERS install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/common/libsndfile/src/aiff.c
+++ /dev/null
@@ -1,713 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<ctype.h>
-#include	<time.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-
-/*------------------------------------------------------------------------------
- * Macros to handle big/little endian issues.
- */
-
-#if (CPU_IS_LITTLE_ENDIAN == 1)
-	#define	MAKE_MARKER(a,b,c,d)		((a)|((b)<<8)|((c)<<16)|((d)<<24))
-#elif (CPU_IS_BIG_ENDIAN == 1)
-	#define	MAKE_MARKER(a,b,c,d)		(((a)<<24)|((b)<<16)|((c)<<8)|(d))
-#else
-	#error "Cannot determine endian-ness of processor."
-#endif
-
-#define FORM_MARKER	(MAKE_MARKER ('F', 'O', 'R', 'M')) 
-#define AIFF_MARKER	(MAKE_MARKER ('A', 'I', 'F', 'F')) 
-#define AIFC_MARKER	(MAKE_MARKER ('A', 'I', 'F', 'C')) 
-#define COMM_MARKER	(MAKE_MARKER ('C', 'O', 'M', 'M')) 
-#define SSND_MARKER	(MAKE_MARKER ('S', 'S', 'N', 'D')) 
-#define MARK_MARKER	(MAKE_MARKER ('M', 'A', 'R', 'K')) 
-#define INST_MARKER	(MAKE_MARKER ('I', 'N', 'S', 'T')) 
-#define APPL_MARKER	(MAKE_MARKER ('A', 'P', 'P', 'L')) 
-
-#define c_MARKER	(MAKE_MARKER ('(', 'c', ')', ' ')) 
-#define NAME_MARKER	(MAKE_MARKER ('N', 'A', 'M', 'E')) 
-#define AUTH_MARKER	(MAKE_MARKER ('A', 'U', 'T', 'H')) 
-#define ANNO_MARKER	(MAKE_MARKER ('A', 'N', 'N', 'O')) 
-#define COMT_MARKER	(MAKE_MARKER ('C', 'O', 'M', 'T')) 
-#define FVER_MARKER	(MAKE_MARKER ('F', 'V', 'E', 'R')) 
-#define SFX_MARKER	(MAKE_MARKER ('S', 'F', 'X', '!')) 
-
-
-#define PEAK_MARKER	(MAKE_MARKER ('P', 'E', 'A', 'K')) 
-
-/* Supported AIFC encodings.*/
-#define NONE_MARKER	(MAKE_MARKER ('N', 'O', 'N', 'E')) 
-#define sowt_MARKER	(MAKE_MARKER ('s', 'o', 'w', 't')) 
-#define twos_MARKER	(MAKE_MARKER ('t', 'w', 'o', 's')) 
-#define fl32_MARKER	(MAKE_MARKER ('f', 'l', '3', '2')) 
-#define FL32_MARKER	(MAKE_MARKER ('F', 'L', '3', '2')) 
-
-/* Unsupported AIFC encodings.*/
-#define fl64_MARKER	(MAKE_MARKER ('f', 'l', '6', '4')) 
-#define FL64_MARKER	(MAKE_MARKER ('F', 'L', '6', '4')) 
-#define MAC3_MARKER	(MAKE_MARKER ('M', 'A', 'C', '3')) 
-#define MAC6_MARKER	(MAKE_MARKER ('M', 'A', 'C', '6')) 
-#define ima4_MARKER	(MAKE_MARKER ('i', 'm', 'a', '4')) 
-#define ulaw_MARKER	(MAKE_MARKER ('a', 'l', 'a', 'w')) 
-#define alaw_MARKER	(MAKE_MARKER ('u', 'l', 'a', 'w')) 
-#define ADP4_MARKER	(MAKE_MARKER ('A', 'D', 'P', '4')) 
-
-/* Predfined chunk sizes. */
-#define AIFF_COMM_SIZE		18
-#define AIFC_COMM_SIZE		24
-#define SSND_CHUNK_SIZE		8
-
-/*------------------------------------------------------------------------------
- * Typedefs for file chunks.
- */
-
-enum
-{	HAVE_FORM	= 0x01,
-	HAVE_AIFF	= 0x02,
-	HAVE_COMM	= 0x04,
-	HAVE_SSND	= 0x08
-} ;
-
-typedef struct
-{	unsigned int	type ;
-	unsigned int	size ;
-	short			numChannels ;
-	unsigned int	numSampleFrames ;
-	short			sampleSize ;
-	unsigned char	sampleRate [10] ;
-	unsigned int	encoding ;
-	char			zero_bytes [2] ;
-} COMM_CHUNK ; 
-
-typedef struct
-{	unsigned int	offset ;
-	unsigned int	blocksize ;
-} SSND_CHUNK ; 
-
-typedef struct 
-{	short           playMode;
-    int		        beginLoop;
-	int		        endLoop;
-} INST_CHUNK ;
-
-/*------------------------------------------------------------------------------
- * Private static functions.
- */
-
-static	int		aiff_close	(SF_PRIVATE  *psf) ;
-
-static	int     tenbytefloat2int (unsigned char *bytes) ;
-static	void	uint2tenbytefloat (unsigned int num, unsigned char *bytes) ;
-
-static  int  	aiff_read_comm_chunk (SF_PRIVATE *psf, COMM_CHUNK *comm_fmt) ;
-
-static int		aiff_write_header (SF_PRIVATE *psf) ;
-static int		aiff_write_tailer (SF_PRIVATE *psf) ;
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int
-aiff_open_read	(SF_PRIVATE *psf)
-{	COMM_CHUNK	comm_fmt ;
-	SSND_CHUNK	ssnd_fmt ;
-	int			marker, dword ;
-	long		FORMsize, SSNDsize ;
-	int			filetype, found_chunk = 0, done = 0, error = 0 ;
-	char		*cptr ;
-
-	psf->sf.seekable = SF_TRUE ;
-
-	/* Set position to start of file to begin reading header. */
-	psf_binheader_readf (psf, "p", 0) ;	
-
-	memset (&comm_fmt, 0, sizeof (comm_fmt)) ;
-
-	/* Until recently AIF* file were all BIG endian. */ 	
-	psf->endian = SF_ENDIAN_BIG ;
-
-	/* 	AIFF files can apparently have their chunks in any order. However, they must
-	**	a FORM chunk. Approach here is to read allthe chunks one by one and then 
-	**	check for the mandatory chunks at the end.
-	*/
-	while (! done)
-	{	psf_binheader_readf (psf, "m", &marker) ;
-		switch (marker)
-		{	case FORM_MARKER :
-					if (found_chunk)
-						return SFE_AIFF_NO_FORM ;
-
-					psf_binheader_readf (psf, "L", &FORMsize) ;
-
-					if (FORMsize != psf->filelength - 2 * sizeof (dword))
-					{	dword = psf->filelength - 2 * sizeof (dword);
-						psf_log_printf (psf, "FORM : %d (should be %d)\n", FORMsize, dword) ;
-						FORMsize = dword ;
-						}
-					else
-						psf_log_printf (psf, "FORM : %d\n", FORMsize) ;
-					found_chunk |= HAVE_FORM ;
-					break ;
-					
-			case AIFC_MARKER :
-			case AIFF_MARKER :
-					if (! (found_chunk & HAVE_FORM))
-						return SFE_AIFF_AIFF_NO_FORM ;
-					filetype = marker ;
-					psf_log_printf (psf, " %D\n", marker) ;
-					found_chunk |= HAVE_AIFF ;
-					break ;
-
-			case COMM_MARKER :
-					error = aiff_read_comm_chunk (psf, &comm_fmt) ;
-
-					psf->sf.samplerate 		= tenbytefloat2int (comm_fmt.sampleRate) ;
-					psf->sf.samples 		= comm_fmt.numSampleFrames ;
-					psf->sf.channels 		= comm_fmt.numChannels ;
-					psf->sf.pcmbitwidth 	= comm_fmt.sampleSize ;
-					psf->sf.sections 		= 1 ;
-					
-					if (error)
-						return error ;
-						
-					found_chunk |= HAVE_COMM ;
-					break ;
-
-			case PEAK_MARKER :
-					/* Must have COMM chunk before PEAK chunk. */
-					if ((found_chunk & (HAVE_FORM | HAVE_AIFF | HAVE_COMM)) != (HAVE_FORM | HAVE_AIFF | HAVE_COMM))
-						return SFE_AIFF_PEAK_B4_COMM ;
-
-					psf_binheader_readf (psf, "L", &dword) ;
-					
-					psf_log_printf (psf, "%D : %d\n", marker, dword) ;
-					if (dword > sizeof (psf->peak))
-					{	psf_binheader_readf (psf, "j", dword) ;
-						psf_log_printf (psf, "*** File PEAK chunk bigger than sizeof (PEAK_CHUNK).\n") ;
-						return SFE_WAV_BAD_PEAK ;
-						} ;
-					if (dword != sizeof (psf->peak) - sizeof (psf->peak.peak) + psf->sf.channels * sizeof (PEAK_POS))
-					{	psf_binheader_readf (psf, "j", dword) ;
-						psf_log_printf (psf, "*** File PEAK chunk size doesn't fit with number of channels.\n") ;
-						return SFE_WAV_BAD_PEAK ;
-						} ;
-					
-					/* read in rest of PEAK chunk. */	
-					psf_binheader_readf (psf, "LL", &(psf->peak.version), &(psf->peak.timestamp)) ;
-
-					if (psf->peak.version != 1)
-						psf_log_printf (psf, "  version    : %d *** (should be version 1)\n", psf->peak.version) ;
-					else
-						psf_log_printf (psf, "  version    : %d\n", psf->peak.version) ;
-						
-					psf_log_printf (psf, "  time stamp : %d\n", psf->peak.timestamp) ;
-					psf_log_printf (psf, "    Ch   Position       Value\n") ;
-
-					cptr = (char *) psf->buffer ;
-					for (dword = 0 ; dword < psf->sf.channels ; dword++)
-					{	psf_binheader_readf (psf, "FL", &(psf->peak.peak[dword].value), 
-														&(psf->peak.peak[dword].position)) ;
-					
-						snprintf (cptr, sizeof (psf->buffer), "    %2d   %-12d   %g\n", 
-								dword, psf->peak.peak[dword].position, psf->peak.peak[dword].value) ;
-						cptr [sizeof (psf->buffer) - 1] = 0 ;
-						psf_log_printf (psf, cptr) ;
-						};
-
-					psf->has_peak = SF_TRUE ;
-					break ;
-
-			case SSND_MARKER :
-					psf_binheader_readf (psf, "LLL", &SSNDsize, &(ssnd_fmt.offset), &(ssnd_fmt.blocksize)) ;
-											
-					psf->dataoffset = ftell (psf->file) ;
-					psf->datalength = psf->filelength - psf->dataoffset ;
-					if (SSNDsize > psf->datalength + sizeof (SSND_CHUNK))
-						psf_log_printf (psf, " SSND : %d (should be %d)\n", SSNDsize, psf->datalength + sizeof (SSND_CHUNK)) ;
-					else
-						psf_log_printf (psf, " SSND : %d\n", SSNDsize) ;
-					
-					psf_log_printf (psf, "  Offset     : %d\n", ssnd_fmt.offset) ;
-					psf_log_printf (psf, "  Block Size : %d\n", ssnd_fmt.blocksize) ;
-					
-					found_chunk |= HAVE_SSND ;
-
-					if (! psf->sf.seekable)
-						break ;
-
-					/* 	Seek to end of SSND chunk. */
-					fseek (psf->file, SSNDsize - 8, SEEK_CUR) ;
-					break ;
-
-			case c_MARKER :
-			case ANNO_MARKER :
-			case AUTH_MARKER :
-			case COMT_MARKER :
-			case NAME_MARKER :
-					psf_binheader_readf (psf, "L", &dword);
-					dword += (dword & 1) ;
-					if (dword == 0)
-						break ;
-					if (dword > sizeof (psf->buffer))
-					{	psf_log_printf (psf, "  *** %D : %d (too big)\n", marker, dword) ;
-						return SFE_INTERNAL ;
-						} ;
-					psf_binheader_readf (psf, "B", psf->buffer, dword) ;
-					psf->buffer [dword - 1] = 0 ;
-					psf_log_printf (psf, "***    %D : %s\n", marker, psf->buffer) ;
-					break ;
-
-			case FVER_MARKER :
-			case SFX_MARKER :
-					psf_binheader_readf (psf, "L", &dword) ;
-					psf_log_printf (psf, " %D : %d\n", marker, dword) ;
-
-					psf_binheader_readf (psf, "j", dword) ;
-					break ;
-
-			case APPL_MARKER :
-			case INST_MARKER :
-			case MARK_MARKER :
-					psf_binheader_readf (psf, "L", &dword) ;
-					psf_log_printf (psf, " %D : %d\n", marker, dword) ;
-
-					psf_binheader_readf (psf, "j", dword) ;
-					break ;
-
-			default : 
-					if (isprint ((marker >> 24) & 0xFF) && isprint ((marker >> 16) & 0xFF)
-						&& isprint ((marker >> 8) & 0xFF) && isprint (marker & 0xFF))
-					{	psf_binheader_readf (psf, "L", &dword) ;
-						psf_log_printf (psf, "%D : %d (unknown marker)\n", marker, dword) ;
-
-						psf_binheader_readf (psf, "j", dword) ;
-						break ;
-						} ;
-					if ((dword = ftell (psf->file)) & 0x03)
-					{	psf_log_printf (psf, "  Unknown chunk marker at position %d. Resyncing.\n", dword - 4) ;
-
-						psf_binheader_readf (psf, "j", -3) ;
-						break ;
-						} ;
-					psf_log_printf (psf, "*** Unknown chunk marker : %X. Exiting parser.\n", marker) ;
-					done = 1 ;
-					break ;
-			} ;	/* switch (marker) */
-			
-		if ((! psf->sf.seekable) && (found_chunk & HAVE_SSND))
-			break ;
-
-		if (ferror (psf->file))
-		{	psf_log_printf (psf, "*** Error on file handle. ***\n") ;
-			clearerr (psf->file) ;
-			break ;
-			} ;
-
-		if (ftell (psf->file) >= (long) (psf->filelength - (2 * sizeof (dword))))
-			break ;
-		} ; /* while (1) */
-		
-	if (! (found_chunk & HAVE_FORM))
-		return SFE_AIFF_NO_FORM ;
-
-	if (! (found_chunk & HAVE_AIFF))
-		return SFE_AIFF_COMM_NO_FORM ;
-
-	if (! (found_chunk & HAVE_COMM))
-		return SFE_AIFF_SSND_NO_COMM ;
-
-	if (! psf->dataoffset)
-		return SFE_AIFF_NO_DATA ;
-
-	psf->current     = 0 ;
-	psf->sf.seekable = SF_TRUE ;
-	psf->bytewidth   = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-
-	psf->blockwidth  = psf->sf.channels * psf->bytewidth ;
-	
-	fseek (psf->file, psf->dataoffset, SEEK_SET) ;
-
-	psf->close = (func_close) aiff_close ;
-
-	switch (psf->sf.format & SF_FORMAT_SUBMASK)
-	{	case SF_FORMAT_PCM :
-		case SF_FORMAT_PCM_LE :
-		case SF_FORMAT_PCM_BE :
-				if (psf->bytewidth == 1)
-					psf->chars = SF_CHARS_SIGNED ;
-
-				error = pcm_read_init (psf) ;
-				break ;
-				
-		case SF_FORMAT_FLOAT :
-				error = float32_read_init (psf) ;
-				break ;
-
-		default : return SFE_UNIMPLEMENTED ;
-		} ;
-
-	return error ;
-} /* aiff_open_read */
-
-/*------------------------------------------------------------------------------
- */
-
-int
-aiff_open_write	(SF_PRIVATE *psf)
-{	int error ;
-
-	if ((psf->sf.format & SF_FORMAT_TYPEMASK) != SF_FORMAT_AIFF)
-		return	SFE_BAD_OPEN_FORMAT ;
-	
-	psf->sf.seekable = SF_TRUE ;
-	psf->error       = 0 ;
-
-	psf->bytewidth   = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
-
-	/* Set sample count artifically high and fix later. */ 
-	psf->sf.samples = 0x7FFFFFFF / psf->blockwidth ; 
-	
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = 0x7FFFFFFF ;
-
-	if ((error = aiff_write_header (psf)))
-		return error ;
-
-	psf->close        = (func_close)  aiff_close ;
-	psf->write_header = (func_wr_hdr) aiff_write_header ;
-
-	switch (psf->sf.format & SF_FORMAT_SUBMASK)
-	{	case SF_FORMAT_PCM :
-		case SF_FORMAT_PCM_LE :
-		case SF_FORMAT_PCM_BE :
-				if (psf->bytewidth == 1)
-					psf->chars = SF_CHARS_SIGNED ;
-
-				error = pcm_write_init (psf) ;
-				break ;
-				
-		case SF_FORMAT_FLOAT :
-				error = float32_write_init (psf) ;
-				break ;
-
-		default : return SFE_UNIMPLEMENTED ;
-		} ;
-
-	return error ;
-} /* aiff_open_write */
-
-/*==========================================================================================
-** Private functions.
-*/
-
-static int	
-aiff_close	(SF_PRIVATE  *psf)
-{
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can re-write 
-		**	correct values for the FORM, COMM and SSND chunks.
-		*/
-		 
-		aiff_write_tailer (psf) ;
-
-		fseek (psf->file, 0, SEEK_END) ;		
-		psf->filelength = ftell (psf->file) ;
-		fseek (psf->file, 0, SEEK_SET) ;
-		
-		psf->datalength = psf->filelength - psf->dataoffset ;
- 		psf->sf.samples = psf->datalength / (psf->bytewidth * psf->sf.channels) ;
-		
-		aiff_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-	
-	return 0 ;
-} /* aiff_close */
-
-static int
-aiff_read_comm_chunk (SF_PRIVATE *psf, COMM_CHUNK *comm_fmt)
-{	int error = 0, bytesread ;
-
-	bytesread = psf_binheader_readf (psf, "L", &(comm_fmt->size)) ;
-	
-	/* The COMM chunk has an int aligned to an odd word boundary. Some 
-	** procesors are not able to deal with this (ie bus fault) so we have 
-	** to take special care.
-	*/
-
-	bytesread +=
-	psf_binheader_readf (psf, "WLWB", &(comm_fmt->numChannels), &(comm_fmt->numSampleFrames), 
-			&(comm_fmt->sampleSize), &(comm_fmt->sampleRate), sizeof (comm_fmt->sampleRate)) ;
-
-	if (comm_fmt->size == AIFF_COMM_SIZE)
-		comm_fmt->encoding = NONE_MARKER ;
-	else if (comm_fmt->size >= AIFC_COMM_SIZE)
-	{	bytesread +=
-		psf_binheader_readf (psf, "mB", &(comm_fmt->encoding), &(comm_fmt->zero_bytes), 2) ;
-
-		psf_binheader_readf (psf, "B", psf->header, comm_fmt->size - AIFC_COMM_SIZE) ;
-		} ;
-		
-	psf_log_printf (psf, " COMM : %d\n", comm_fmt->size) ;
-	psf_log_printf (psf, "  Sample Rate : %d\n", tenbytefloat2int (comm_fmt->sampleRate)) ;
-	psf_log_printf (psf, "  Samples     : %d\n", comm_fmt->numSampleFrames) ;
-	psf_log_printf (psf, "  Channels    : %d\n", comm_fmt->numChannels) ;
-
-	/*	Found some broken 'fl32' files with comm.samplesize == 16. Fix it here. */ 
-
-	if ((comm_fmt->encoding == fl32_MARKER || comm_fmt->encoding == FL32_MARKER) && comm_fmt->sampleSize != 32)
-	{	psf_log_printf (psf, "  Sample Size : %d (should be 32)\n", comm_fmt->sampleSize) ;
-		comm_fmt->sampleSize = 32 ;
-		}
-	else
-		psf_log_printf (psf, "  Sample Size : %d\n", comm_fmt->sampleSize) ;
-
-	switch (comm_fmt->encoding)
-	{	case NONE_MARKER :
-				psf->endian = SF_ENDIAN_BIG ;
-				psf->sf.format = (SF_FORMAT_AIFF | SF_FORMAT_PCM) ;
-				break ;
-				
-		case twos_MARKER :
-				psf->endian = SF_ENDIAN_BIG ;
-				psf->sf.format = (SF_FORMAT_AIFF | SF_FORMAT_PCM_BE) ;
-				break ;
-
-		case sowt_MARKER :
-				psf->endian = SF_ENDIAN_LITTLE ;
-				psf->sf.format = (SF_FORMAT_AIFF | SF_FORMAT_PCM_LE) ;
-				break ;
-				
-		case fl32_MARKER :
-		case FL32_MARKER :
-				psf->endian = SF_ENDIAN_BIG ;
-				psf->sf.format = (SF_FORMAT_AIFF | SF_FORMAT_FLOAT) ;
-				break ;
-
-		default :
-			psf_log_printf (psf, "AIFC : Unimplemented format : %D\n", comm_fmt->encoding) ;
-			error = SFE_UNIMPLEMENTED ;
-		} ;
-
-	psf_log_printf (psf, "  Encoding    : %D\n", comm_fmt->encoding) ;
-	
-	return error ;
-} /* aiff_read_comm_chunk */
-
-static int
-aiff_write_header (SF_PRIVATE *psf)
-{	unsigned char 	comm_sample_rate [10], comm_zero_bytes [2] = { 0, 0 } ;
-	unsigned int 	comm_type, comm_size, comm_encoding ;
-	int				k ;
-	
-	switch (psf->sf.format & SF_FORMAT_SUBMASK)
-	{	case SF_FORMAT_PCM :					/* Standard big endian AIFF. */
-				psf->endian = SF_ENDIAN_BIG ;			
-				comm_type = AIFF_MARKER ;
-				comm_size = AIFF_COMM_SIZE ;
-				comm_encoding = 0 ;
-				break ;
-
-		case SF_FORMAT_PCM_BE :					/* Big endian AIFC. */
-				psf->endian = SF_ENDIAN_BIG ;
-				comm_type = AIFC_MARKER ;
-				comm_size = AIFC_COMM_SIZE ;
-				comm_encoding = twos_MARKER ;
-				break ;
-				
-		case SF_FORMAT_PCM_LE :					/* Little endian AIFC. */
-				psf->endian = SF_ENDIAN_LITTLE ;
-				comm_type = AIFC_MARKER ;
-				comm_size = AIFC_COMM_SIZE ;
-				comm_encoding = sowt_MARKER ;
-				break ;
-
-		case SF_FORMAT_FLOAT :					/* Big endian floating point. */
-				psf->endian = SF_ENDIAN_BIG ;
-				comm_type = AIFC_MARKER ;
-				comm_size = AIFC_COMM_SIZE ;
-				comm_encoding = FL32_MARKER ; /* Use 'FL32' because its easier to read. */
-				psf->has_peak = SF_TRUE ;
-				psf->peak_loc = SF_PEAK_START ;
-				break ;
-
-		default :	return	SFE_BAD_OPEN_FORMAT ;
-		} ;
-	
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	psf_binheader_writef (psf, "mL", FORM_MARKER, psf->filelength - 8) ;
-	
-	/* Write COMM chunk. */
-	psf_binheader_writef (psf, "mmL", comm_type, COMM_MARKER, comm_size) ;
-
-	uint2tenbytefloat (psf->sf.samplerate, comm_sample_rate)  ;
-
-	psf_binheader_writef (psf, "WLW", psf->sf.channels, psf->sf.samples, psf->sf.pcmbitwidth) ;
-	psf_binheader_writef (psf, "B", comm_sample_rate, sizeof (comm_sample_rate)) ;
-	
-	/* AIFC chunks have some extra data. */
-	if (comm_type == AIFC_MARKER)
-		psf_binheader_writef (psf, "mB", comm_encoding, comm_zero_bytes, sizeof (comm_zero_bytes)) ;
-		
-	if (psf->has_peak && psf->peak_loc == SF_PEAK_START)
-	{	psf_binheader_writef (psf, "mL", PEAK_MARKER, 
-			sizeof (psf->peak) - sizeof (psf->peak.peak) + psf->sf.channels * sizeof (PEAK_POS)) ;
-		psf_binheader_writef (psf, "LL", 1, time (NULL)) ;
-		for (k = 0 ; k < psf->sf.channels ; k++)
-			psf_binheader_writef (psf, "FL", psf->peak.peak[k].value, psf->peak.peak[k].position) ; /* XXXXX */
-		} ;
-		
-	/* Write SSND chunk. */
-	psf_binheader_writef (psf, "mLLL", SSND_MARKER, psf->datalength + SSND_CHUNK_SIZE, 0, 0) ;
-
-	/* Header cunstruction complete so write it out. */
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-
-	return 0 ;
-} /* aiff_write_header */
-
-static int
-aiff_write_tailer (SF_PRIVATE *psf)
-{	int		k ;
-	
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	if (psf->has_peak && psf->peak_loc == SF_PEAK_END)
-	{	psf_binheader_writef (psf, "mL", PEAK_MARKER, 
-			sizeof (psf->peak) - sizeof (psf->peak.peak) + psf->sf.channels * sizeof (PEAK_POS)) ;
-		psf_binheader_writef (psf, "LL", 1, time (NULL)) ;
-		for (k = 0 ; k < psf->sf.channels ; k++)
-			psf_binheader_writef (psf, "FL", psf->peak.peak[k].value, psf->peak.peak[k].position) ; /* XXXXX */
-		} ;
-		
-	if (psf->headindex)
-		fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	return 0 ;
-} /* aiff_write_tailer */
-
-/*-
-static void
-endswap_comm_fmt (COMM_CHUNK *comm)
-{	comm->size            = ENDSWAP_INT (comm->size) ;
-	comm->numChannels     = ENDSWAP_SHORT (comm->numChannels) ;
-	comm->numSampleFrames = ENDSWAP_INT (comm->numSampleFrames) ;
-	comm->sampleSize      = ENDSWAP_SHORT (comm->sampleSize) ;
-} /+* endswap_comm_fmt *+/
-
-static void
-endswap_ssnd_fmt (SSND_CHUNK *ssnd)
-{	ssnd->offset 	= ENDSWAP_INT (ssnd->offset) ;
-	ssnd->blocksize = ENDSWAP_INT (ssnd->blocksize) ;
-} /+* endswap_ssnd_fmt *+/
--*/
-
-/*==========================================================================================
-**	Rough hack at converting from 80 bit IEEE float in AIFF header to an int and
-**	back again. It assumes that all sample rates are between 1 and 800MHz, which 
-**	should be OK as other sound file formats use a 32 bit integer to store sample 
-**	rate.
-**	There is another (probably better) version in the source code to the SoX but it
-**	has a copyright which probably prevents it from being allowable as GPL/LGPL.
-*/
-
-static int
-tenbytefloat2int (unsigned char *bytes)
-{       int val = 3 ;
-
-	if (bytes [0] & 0x80)   /* Negative number. */
-		return 0 ;
-
-	if (bytes [0] <= 0x3F)  /* Less than 1. */
-		return 1 ;
-		
-	if (bytes [0] > 0x40)   /* Way too big. */
-		return  0x4000000 ;
-
-	if (bytes [0] == 0x40 && bytes [1] > 0x1C) /* Too big. */
-		return 800000000 ;
-		
-	/* Ok, can handle it. */
-		
-	val = (bytes [2] << 23) | (bytes [3] << 15) | (bytes [4] << 7)  | (bytes [5] >> 1) ;
-	
-	val >>= (29 - bytes [1]) ;
-	
-	return val ;
-} /* tenbytefloat2int */
-
-static void
-uint2tenbytefloat (unsigned int num, unsigned char *bytes)
-{	int		count, mask = 0x40000000 ;
-
-	memset (bytes, 0, 10) ;
-
-	if (num <= 1)
-	{	bytes [0] = 0x3F ;
-		bytes [1] = 0xFF ;
-		bytes [2] = 0x80 ;
-		return ;
-		} ;
-
-	bytes [0] = 0x40 ;
-	
-	if (num >= mask)
-	{	bytes [1] = 0x1D ;
-		return ;
-		} ;
-	
-	for (count = 0 ; count <= 32 ; count ++)
-	{	if (num & mask)
-			break ;
-		mask >>= 1 ;
-		} ;
-		
-	num <<= count + 1 ;
-	bytes [1] = 29 - count ;
-	bytes [2] = (num >> 24) & 0xFF ;
-	bytes [3] = (num >> 16) & 0xFF ;
-	bytes [4] = (num >>  8) & 0xFF ;
-	bytes [5] = num & 0xFF ;
-	
-} /* uint2tenbytefloat */
-
--- a/common/libsndfile/src/alaw.c
+++ /dev/null
@@ -1,588 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<unistd.h>
-
-#include	"sndfile.h"
-#include	"floatcast.h"
-#include	"common.h"
-
-static int		alaw_read_alaw2s (SF_PRIVATE *psf, short *ptr, unsigned int len) ;
-static int		alaw_read_alaw2i (SF_PRIVATE *psf, int *ptr, unsigned int len) ;
-static int		alaw_read_alaw2f (SF_PRIVATE *psf, float *ptr, unsigned int len) ;
-static int		alaw_read_alaw2d (SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize) ;
-
-static int		alaw_write_s2alaw (SF_PRIVATE *psf, short *ptr, unsigned int len) ;
-static int		alaw_write_i2alaw (SF_PRIVATE *psf, int *ptr, unsigned int len) ;
-static int		alaw_write_f2alaw (SF_PRIVATE *psf, float *ptr, unsigned int len) ;
-static int		alaw_write_d2alaw (SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize) ;
-
-static  void    alaw2s_array      (unsigned char *buffer, unsigned int count, short *ptr, unsigned int index) ;
-static  void    alaw2i_array      (unsigned char *buffer, unsigned int count, int *ptr, unsigned int index) ;
-static  void    alaw2f_array      (unsigned char *buffer, unsigned int count, float *ptr, unsigned int index, float normfact) ;
-static  void    alaw2d_array      (unsigned char *buffer, unsigned int count, double *ptr, unsigned int index, double normfact) ;
-
-static  void    s2alaw_array      (short *buffer, unsigned int count, unsigned char *ptr, unsigned int index) ;
-static  void    i2alaw_array      (int *buffer, unsigned int count, unsigned char *ptr, unsigned int index) ;
-static  void    f2alaw_array      (float *buffer, unsigned int count, unsigned char *ptr, unsigned int index, float normfact) ;
-static  void    d2alaw_array      (double *buffer, unsigned int count, unsigned char *ptr, unsigned int index, double normfact) ;
-
-int
-alaw_read_init (SF_PRIVATE *psf)
-{
-	psf->read_short  = (func_short)  alaw_read_alaw2s ;
-	psf->read_int    = (func_int)    alaw_read_alaw2i ;
-	psf->read_float  = (func_float)  alaw_read_alaw2f ;
-	psf->read_double = (func_double) alaw_read_alaw2d ;
-
-	return 0 ;
-} /* alaw_read_init */
-
-int
-alaw_write_init (SF_PRIVATE *psf)
-{
-	psf->write_short  = (func_short)  alaw_write_s2alaw ;
-	psf->write_int    = (func_int)    alaw_write_i2alaw ;
-	psf->write_float  = (func_float)  alaw_write_f2alaw ;
-	psf->write_double = (func_double) alaw_write_d2alaw ;
-
-	return 0 ;
-} /* alaw_read_init */
-
-static int
-alaw_read_alaw2s (SF_PRIVATE *psf, short *ptr, unsigned int len)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		alaw2s_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_read_alaw2s */
-
-static int
-alaw_read_alaw2i (SF_PRIVATE *psf, int *ptr, unsigned int len)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		alaw2i_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_read_alaw2i */
-
-static int
-alaw_read_alaw2f (SF_PRIVATE *psf, float *ptr, unsigned int len)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		alaw2f_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_read_alaw2f */
-
-static int
-alaw_read_alaw2d (SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		alaw2d_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_read_alaw2d */
-
-/*=============================================================================================
-*/
-
-static int
-alaw_write_s2alaw	(SF_PRIVATE *psf, short *ptr, unsigned int len)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2alaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_write_s2alaw */
-
-static int
-alaw_write_i2alaw	(SF_PRIVATE *psf, int *ptr, unsigned int len)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2alaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_write_i2alaw */
-
-static int
-alaw_write_f2alaw	(SF_PRIVATE *psf, float *ptr, unsigned int len)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2alaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_write_f2alaw */
-
-static int
-alaw_write_d2alaw	(SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x8000) : 1.0) ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2alaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* alaw_write_d2alaw */
-
-/*=============================================================================================
- *	Private static functions and data.
- */
-
-static	
-short	alaw_decode [128] =
-{	 -5504,  -5248,  -6016,  -5760,  -4480,  -4224,  -4992,  -4736, 
-	 -7552,  -7296,  -8064,  -7808,  -6528,  -6272,  -7040,  -6784, 
-	 -2752,  -2624,  -3008,  -2880,  -2240,  -2112,  -2496,  -2368, 
-	 -3776,  -3648,  -4032,  -3904,  -3264,  -3136,  -3520,  -3392, 
-	-22016, -20992, -24064, -23040, -17920, -16896, -19968, -18944, 
-	-30208, -29184, -32256, -31232, -26112, -25088, -28160, -27136, 
-	-11008, -10496, -12032, -11520,  -8960,  -8448,  -9984,  -9472, 
-	-15104, -14592, -16128, -15616, -13056, -12544, -14080, -13568, 
-	  -344,   -328,   -376,   -360,   -280,   -264,   -312,   -296, 
-	  -472,   -456,   -504,   -488,   -408,   -392,   -440,   -424, 
-	   -88,    -72,   -120,   -104,    -24,     -8,    -56,    -40, 
-	  -216,   -200,   -248,   -232,   -152,   -136,   -184,   -168, 
-	 -1376,  -1312,  -1504,  -1440,  -1120,  -1056,  -1248,  -1184, 
-	 -1888,  -1824,  -2016,  -1952,  -1632,  -1568,  -1760,  -1696, 
-	  -688,   -656,   -752,   -720,   -560,   -528,   -624,   -592, 
-	  -944,   -912,  -1008,   -976,   -816,   -784,   -880,   -848
-} ; /* alaw_decode */
-
-static	
-unsigned char	alaw_encode [2049] =
-{	0xD5, 0xD4, 0xD7, 0xD6, 0xD1, 0xD0, 0xD3, 0xD2, 0xDD, 0xDC, 0xDF, 0xDE, 
-	0xD9, 0xD8, 0xDB, 0xDA, 0xC5, 0xC4, 0xC7, 0xC6, 0xC1, 0xC0, 0xC3, 0xC2, 
-	0xCD, 0xCC, 0xCF, 0xCE, 0xC9, 0xC8, 0xCB, 0xCA, 0xF5, 0xF5, 0xF4, 0xF4, 
-	0xF7, 0xF7, 0xF6, 0xF6, 0xF1, 0xF1, 0xF0, 0xF0, 0xF3, 0xF3, 0xF2, 0xF2, 
-	0xFD, 0xFD, 0xFC, 0xFC, 0xFF, 0xFF, 0xFE, 0xFE, 0xF9, 0xF9, 0xF8, 0xF8, 
-	0xFB, 0xFB, 0xFA, 0xFA, 0xE5, 0xE5, 0xE5, 0xE5, 0xE4, 0xE4, 0xE4, 0xE4, 
-	0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xE6, 0xE6, 0xE6, 0xE1, 0xE1, 0xE1, 0xE1, 
-	0xE0, 0xE0, 0xE0, 0xE0, 0xE3, 0xE3, 0xE3, 0xE3, 0xE2, 0xE2, 0xE2, 0xE2, 
-	0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xEF, 0xEF, 0xEF, 0xEF, 
-	0xEE, 0xEE, 0xEE, 0xEE, 0xE9, 0xE9, 0xE9, 0xE9, 0xE8, 0xE8, 0xE8, 0xE8, 
-	0xEB, 0xEB, 0xEB, 0xEB, 0xEA, 0xEA, 0xEA, 0xEA, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x2A
-} ; /* alaw_encode */
-
-static void	
-alaw2s_array	(unsigned char *buffer, unsigned int count, short *ptr, unsigned int index)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -1 * alaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = alaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* alaw2s_array */
-
-static void	
-alaw2i_array	(unsigned char *buffer, unsigned int count, int *ptr, unsigned int index)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -1 * alaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = alaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* alaw2i_array */
-
-static void	
-alaw2f_array	(unsigned char *buffer, unsigned int count, float *ptr, unsigned int index, float normfact)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -normfact * alaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = normfact * alaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* alaw2d_array */
-
-static void	
-alaw2d_array	(unsigned char *buffer, unsigned int count, double *ptr, unsigned int index, double normfact)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -normfact * alaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = normfact * alaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* alaw2d_array */
-
-static void    
-s2alaw_array      (short *ptr, unsigned int index, unsigned char *buffer, unsigned int count)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = alaw_encode [ptr [index] / 16] ;
-		else
-			buffer [k] = 0x7F & alaw_encode [ptr [index] / -16] ;
-		index ++ ;
-		} ;
-} /* s2alaw_array */
-
-static void    
-i2alaw_array      (int *ptr, unsigned int index, unsigned char *buffer, unsigned int count)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = alaw_encode [ptr [index] / 16] ;
-		else
-			buffer [k] = 0x7F & alaw_encode [ptr [index] / -16] ;
-		index ++ ;
-		} ;
-} /* i2alaw_array */
-
-static void    
-f2alaw_array      (float *ptr, unsigned int index, unsigned char *buffer, unsigned int count, float normfact)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = alaw_encode [(FLOAT_TO_INT (normfact * ptr [index])) / 16] ;
-		else
-			buffer [k] = 0x7F & alaw_encode [(FLOAT_TO_INT (normfact * ptr [index])) / -16] ;
-		index ++ ;
-		} ;
-} /* f2alaw_array */
-
-static void    
-d2alaw_array      (double *ptr, unsigned int index, unsigned char *buffer, unsigned int count, double normfact)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = alaw_encode [(DOUBLE_TO_INT (normfact * ptr [index])) / 16] ;
-		else
-			buffer [k] = 0x7F & alaw_encode [(DOUBLE_TO_INT (normfact * ptr [index])) / -16] ;
-		index ++ ;
-		} ;
-} /* d2alaw_array */
-
--- a/common/libsndfile/src/au.c
+++ /dev/null
@@ -1,449 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<fcntl.h>
-#include	<string.h>
-#include	<ctype.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-#include	"au.h"
-
-/*------------------------------------------------------------------------------
-** Macros to handle big/little endian issues.
-*/
-
-#define DOTSND_MARKER	(MAKE_MARKER ('.', 's', 'n', 'd')) 
-#define DNSDOT_MARKER	(MAKE_MARKER ('d', 'n', 's', '.')) 
-
-#define AU_DATA_OFFSET	24
-
-/*------------------------------------------------------------------------------
-** Known AU file encoding types.
-*/
-
-enum
-{	AU_ENCODING_ULAW_8					= 1,	/* 8-bit u-law samples */
-	AU_ENCODING_PCM_8					= 2,	/* 8-bit linear samples */
-	AU_ENCODING_PCM_16					= 3,	/* 16-bit linear samples */
-	AU_ENCODING_PCM_24					= 4,	/* 24-bit linear samples */
-	AU_ENCODING_PCM_32					= 5,	/* 32-bit linear samples */
-	
-	AU_ENCODING_FLOAT					= 6,	/* floating-point samples */
-	AU_ENCODING_DOUBLE					= 7,	/* double-precision float samples */
-	AU_ENCODING_INDIRECT				= 8,	/* fragmented sampled data */
-	AU_ENCODING_NESTED					= 9,	/* ? */
-	AU_ENCODING_DSP_CORE				= 10,	/* DSP program */
-	AU_ENCODING_DSP_DATA_8				= 11,	/* 8-bit fixed-point samples */
-	AU_ENCODING_DSP_DATA_16				= 12,	/* 16-bit fixed-point samples */
-	AU_ENCODING_DSP_DATA_24				= 13,	/* 24-bit fixed-point samples */
-	AU_ENCODING_DSP_DATA_32				= 14,	/* 32-bit fixed-point samples */
-
-	AU_ENCODING_DISPLAY					= 16,	/* non-audio display data */
-	AU_ENCODING_MULAW_SQUELCH			= 17,	/* ? */
-	AU_ENCODING_EMPHASIZED				= 18,	/* 16-bit linear with emphasis */
-	AU_ENCODING_NEXT					= 19,	/* 16-bit linear with compression (NEXT) */
-	AU_ENCODING_COMPRESSED_EMPHASIZED	= 20,	/* A combination of the two above */
-	AU_ENCODING_DSP_COMMANDS			= 21,	/* Music Kit DSP commands */
-	AU_ENCODING_DSP_COMMANDS_SAMPLES	= 22,	/* ? */
-
-	AU_ENCODING_ADPCM_G721_32			= 23,	/* G721 32 kbs ADPCM - 4 bits per sample. */
-	AU_ENCODING_ADPCM_G722				= 24,
-	AU_ENCODING_ADPCM_G723_24			= 25,	/* G723 24 kbs ADPCM - 3 bits per sample. */
-	AU_ENCODING_ADPCM_G723_5			= 26,
-	
-	AU_ENCODING_ALAW_8					= 27
-} ;
-
-/*------------------------------------------------------------------------------
-** Typedefs.
-*/
- 
-typedef	struct
-{	int		dataoffset ;
-	int		datasize ;
-	int		encoding ;
-    int		samplerate ;
-    int		channels ;
-} AU_FMT ;
-
-
-/*------------------------------------------------------------------------------
-** Private static functions.
-*/
-
-static	int				au_close		(SF_PRIVATE *psf) ;
-
-static	int 			get_encoding	(unsigned int format, unsigned int	bitwidth) ;
-static	char const* 	get_encoding_str(int format) ;
-
-static int				au_write_header (SF_PRIVATE *psf) ;
-
-/*
-static	void			endswap_au_fmt	(AU_FMT *pau_fmt) ;
-*/
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int
-au_open_read	(SF_PRIVATE *psf)
-{	AU_FMT			au_fmt ;
-	unsigned int	marker, dword ;
-	int				error = SFE_NO_ERROR ;
-	
-	psf_binheader_readf (psf, "pm", 0, &marker) ;
-	psf_log_printf (psf, "%D\n", marker) ;
-
-	if (marker == DOTSND_MARKER)
-	{	psf->endian = SF_ENDIAN_BIG ;
-
-		psf_binheader_readf (psf, "LLLLL", &(au_fmt.dataoffset), &(au_fmt.datasize),
-					&(au_fmt.encoding), &(au_fmt.samplerate), &(au_fmt.channels)) ;
-		}
-	else if (marker == DNSDOT_MARKER)
-	{	psf->endian = SF_ENDIAN_LITTLE ;
-		psf_binheader_readf (psf, "lllll", &(au_fmt.dataoffset), &(au_fmt.datasize),
-					&(au_fmt.encoding), &(au_fmt.samplerate), &(au_fmt.channels)) ;
-		}
-	else
-		return SFE_AU_NO_DOTSND ;
-		
-	
-	psf_log_printf (psf, "  Data Offset : %d\n", au_fmt.dataoffset) ;
-	
-	if (au_fmt.datasize == 0xFFFFFFFF || au_fmt.dataoffset + au_fmt.datasize == psf->filelength)
-		psf_log_printf (psf, "  Data Size   : %d\n", au_fmt.datasize) ;
-	else if (au_fmt.dataoffset + au_fmt.datasize < psf->filelength)
-	{	psf->filelength = au_fmt.dataoffset + au_fmt.dataoffset ;
-		psf_log_printf (psf, "  Data Size   : %d\n", au_fmt.datasize) ;
-		}
-	else
-	{	dword = psf->filelength - au_fmt.dataoffset ;
-		psf_log_printf (psf, "  Data Size   : %d (should be %d)\n", au_fmt.datasize, dword) ;
-		au_fmt.datasize = dword ;
-		} ;
-		
- 	psf->dataoffset = au_fmt.dataoffset ;
-	psf->datalength = psf->filelength - psf->dataoffset ;
-
- 	psf->current  = 0 ;
- 	
- 	if (fseek (psf->file, psf->dataoffset, SEEK_SET))
-		return SFE_BAD_SEEK ;
-
-	psf->close = (func_close) au_close ;
-	
-	psf->sf.samplerate	= au_fmt.samplerate ;
-	psf->sf.channels 	= au_fmt.channels ;
-					
-	/* Only fill in type major. */
-	if (psf->endian == SF_ENDIAN_BIG)
-		psf->sf.format = SF_FORMAT_AU ;
-	else if (psf->endian == SF_ENDIAN_LITTLE)
-		psf->sf.format = SF_FORMAT_AULE ;
-
-	psf->sf.sections 	= 1 ;
-
-	psf_log_printf (psf, "  Encoding    : %d => %s\n", au_fmt.encoding, get_encoding_str (au_fmt.encoding)) ;
-
-	psf_log_printf (psf, "  Sample Rate : %d\n", au_fmt.samplerate) ;
-	psf_log_printf (psf, "  Channels    : %d\n", au_fmt.channels) ;
-	
-	switch (au_fmt.encoding)
-	{	case  AU_ENCODING_PCM_8 :	
-				psf->sf.pcmbitwidth = 8 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-
-				psf->sf.format |= SF_FORMAT_PCM ;
-
-				psf->chars = SF_CHARS_SIGNED ;
-									
-				if ((error = pcm_read_init (psf)))
-					return error ;
-				break ;
-
-		case  AU_ENCODING_PCM_16 :	
-				psf->sf.pcmbitwidth = 16 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-
-				psf->sf.format |= SF_FORMAT_PCM ;
-					
-				if ((error = pcm_read_init (psf)))
-					return error ;
-				break ;
-
-		case  AU_ENCODING_PCM_24 :	
-				psf->sf.pcmbitwidth = 24 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-					
-				psf->sf.format |= SF_FORMAT_PCM ;
-
-				if ((error = pcm_read_init (psf)))
-					return error ;
-				break ;
-
-		case  AU_ENCODING_PCM_32 :	
-				psf->sf.pcmbitwidth = 32 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-					
-				psf->sf.format |= SF_FORMAT_PCM ;
-					
-				if ((error = pcm_read_init (psf)))
-					return error ;
-				break ;
-					
-		case  AU_ENCODING_FLOAT :	
-				psf->sf.pcmbitwidth = 32 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-					
-				psf->sf.format |= SF_FORMAT_FLOAT ;
-
-				float32_read_init (psf) ;
-				break ;
-
-		default : 
-				error = SFE_AU_UNKNOWN_FORMAT ;
-				break ;
-		} ;
-
-	if (error)
-		return error ;
-
-	if (! psf->sf.samples && psf->blockwidth)
-		psf->sf.samples = au_fmt.datasize / psf->blockwidth ;
-
-
-	return 0 ;
-} /* au_open_read */
-
-
-/*------------------------------------------------------------------------------
-*/
-
-int
-au_open_write	(SF_PRIVATE *psf)
-{	unsigned int	encoding, format, subformat ;
-	int				error = 0 ;
-
-	format = psf->sf.format & SF_FORMAT_TYPEMASK ;
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-	if (format == SF_FORMAT_AU)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (format == SF_FORMAT_AULE)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else
-		return	SFE_BAD_OPEN_FORMAT ;
-		
-	if (subformat == SF_FORMAT_ULAW || subformat == SF_FORMAT_ALAW || 
-		subformat == SF_FORMAT_G721_32 || subformat == SF_FORMAT_G723_24)
-		psf->bytewidth = 1 ;
-	else
-		psf->bytewidth = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-		
-	psf->sf.seekable = SF_TRUE ;
-	psf->error       = 0 ;
-
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
- 	psf->dataoffset  = AU_DATA_OFFSET ;
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = psf->datalength + psf->dataoffset ;
-
-	if (! (encoding = au_write_header (psf)))
-		return psf->error ;
-
-	psf->close        = (func_close)  au_close ;
-	psf->write_header = (func_wr_hdr) au_write_header ;
-	
-	switch (encoding)
-	{	case  AU_ENCODING_PCM_8 :	/* 8-bit linear PCM. */
-				psf->chars = SF_CHARS_SIGNED ;
-
-				error = pcm_write_init (psf) ;				
-				break ;
-
-		case  AU_ENCODING_PCM_16 :	/* 16-bit linear PCM. */
-		case  AU_ENCODING_PCM_24 :	/* 24-bit linear PCM */
-		case  AU_ENCODING_PCM_32 :	/* 32-bit linear PCM. */
-				error = pcm_write_init (psf) ;
-				break ;
-
-		case  AU_ENCODING_FLOAT :	/* 32-bit linear PCM. */
-				error = float32_write_init (psf) ;
-				break ;
-				
-		default :   break ;
-		} ;
-		
-	return error ;
-} /* au_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static int
-au_close	(SF_PRIVATE  *psf)
-{
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can
-		 *  re-write correct values for the datasize header element.
-		 */
-
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-
-		psf->datalength = psf->filelength - AU_DATA_OFFSET ;
-		fseek (psf->file, 0, SEEK_SET) ;
-		
-		psf->sf.samples = psf->datalength / psf->blockwidth ;
-		au_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-	
-	return 0 ;
-} /* au_close */
-
-static int
-au_write_header (SF_PRIVATE *psf)
-{	int		encoding ;
-
-	encoding = get_encoding (psf->sf.format & SF_FORMAT_SUBMASK, psf->bytewidth * 8) ;
-	if (! encoding)
-	{	psf->error = SFE_BAD_OPEN_FORMAT ;
-		return	encoding ;
-		} ;
-
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	if (psf->endian == SF_ENDIAN_BIG)
-	{	psf_binheader_writef (psf, "mL", DOTSND_MARKER, AU_DATA_OFFSET) ;
-		psf_binheader_writef (psf, "LLLL", psf->datalength, encoding, psf->sf.samplerate, psf->sf.channels) ;
-		}
-	else if  (psf->endian == SF_ENDIAN_LITTLE)
-	{	psf_binheader_writef (psf, "ml", DNSDOT_MARKER, AU_DATA_OFFSET) ;
-		psf_binheader_writef (psf, "llll", psf->datalength, encoding, psf->sf.samplerate, psf->sf.channels) ;
-		}
-	else
-	{	psf->error = SFE_BAD_OPEN_FORMAT ;
-		return	encoding ;
-		} ;
-
-	/* Header construction complete so write it out. */
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-	
-	return encoding ;
-} /* au_write_header */ 
-
-static int
-get_encoding (unsigned int format, unsigned int	bitwidth)
-{	if (format == SF_FORMAT_ULAW)
-		return AU_ENCODING_ULAW_8 ;
-		
-	if (format == SF_FORMAT_ALAW)
-		return AU_ENCODING_ALAW_8 ;
-
-	if (format == SF_FORMAT_G721_32)
-		return AU_ENCODING_ADPCM_G721_32 ;
-
-	if (format == SF_FORMAT_G723_24)
-		return AU_ENCODING_ADPCM_G723_24 ;
-
-	if (format == SF_FORMAT_FLOAT)
-		return AU_ENCODING_FLOAT ;
-
-	if (format != SF_FORMAT_PCM)
-		return 0 ;
-
-	/* For PCM encoding, the header encoding field depends on the bitwidth. */
-	switch (bitwidth)
-	{	case	8  : return AU_ENCODING_PCM_8 ;
-		case	16 : return AU_ENCODING_PCM_16 ;
-		case	24 : return AU_ENCODING_PCM_24 ;
-		case	32 : return	AU_ENCODING_PCM_32 ;
-		default : break ;
-		} ;
-	return 0 ;
-} /* get_encoding */
-
-/*-
-static void
-endswap_au_fmt (AU_FMT *pau_fmt)
-{	pau_fmt->dataoffset = ENDSWAP_INT (pau_fmt->dataoffset) ;
-	pau_fmt->datasize   = ENDSWAP_INT (pau_fmt->datasize) ;
-	pau_fmt->encoding   = ENDSWAP_INT (pau_fmt->encoding) ;
-    pau_fmt->samplerate = ENDSWAP_INT (pau_fmt->samplerate) ;
-    pau_fmt->channels   = ENDSWAP_INT (pau_fmt->channels) ;
-} /+* endswap_au_fmt *+/
--*/
-
-static	char const* 
-get_encoding_str (int format)
-{	switch (format)
-	{	case  AU_ENCODING_ULAW_8 :	
-				return "8-bit ISDN u-law" ;
-										
-		case  AU_ENCODING_PCM_8 :	
-				return "8-bit linear PCM" ;
-
-		case  AU_ENCODING_PCM_16 :	
-				return "16-bit linear PCM" ;
-
-		case  AU_ENCODING_PCM_24 :	
-				return "24-bit linear PCM" ;
-
-		case  AU_ENCODING_PCM_32 :	
-				return "32-bit linear PCM" ;
-					
-		case  AU_ENCODING_FLOAT :	
-				return "32-bit float" ;
-					
-		case  AU_ENCODING_ALAW_8 :
-				return "8-bit ISDN A-law" ;
-					
-		case  AU_ENCODING_ADPCM_G721_32 :  
-				return "G721 32kbs ADPCM" ;
-										
-		case  AU_ENCODING_ADPCM_G723_24 :  
-				return "G723 24kbs ADPCM" ;
-										
-		case  AU_ENCODING_NEXT :	
-				return "Weird NeXT encoding format (unsupported)" ;
-		} ;
-	return "Unknown!!" ;
-} /* get_encoding_str */	
-
-
--- a/common/libsndfile/src/au.h
+++ /dev/null
@@ -1,31 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#ifndef AU_HEADER_FILE
-#define	AU_HEADER_FILE
-
-
-enum 
-{	AU_H_G721_32	= 200,
-	AU_H_G723_24	= 201
-} ;
-
-int	au_g72x_reader_init (SF_PRIVATE *psf, int codec) ;
-int	au_g72x_writer_init (SF_PRIVATE *psf, int codec) ;
-
-#endif /* AU_HEADER_FILE */
--- a/common/libsndfile/src/au_g72x.c
+++ /dev/null
@@ -1,565 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<math.h>
-
-#include	"config.h"
-#include	"sndfile.h"
-#include	"sfendian.h"
-#include	"floatcast.h"
-#include	"common.h"
-#include	"au.h"
-#include	"G72x/g72x.h"
-
-static	int	au_g72x_read_block (SF_PRIVATE *psf, G72x_DATA *pg72x) ;
-static	int au_g72x_read (SF_PRIVATE *psf, G72x_DATA *pg72x, short *ptr, int len) ;
-
-static	int	au_g72x_write_block (SF_PRIVATE *psf, G72x_DATA *pg72x) ;
-static	int au_g72x_write (SF_PRIVATE *psf, G72x_DATA *pg72x, short *ptr, int len) ;
-
-static	int	au_g72x_read_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static	int	au_g72x_read_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static	int	au_g72x_read_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static	int	au_g72x_read_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static	int	au_g72x_write_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static	int	au_g72x_write_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static	int	au_g72x_write_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static	int	au_g72x_write_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static  long au_g72x_seek (SF_PRIVATE *psf, long offset, int whence) ;
-
-static	int	au_g72x_close	(SF_PRIVATE  *psf) ;
-
-
-/*============================================================================================
-** WAV G721 Reader initialisation function.
-*/
-
-int	
-au_g72x_reader_init (SF_PRIVATE *psf, int codec)
-{	G72x_DATA	*pg72x ;
-	int	bitspersample ;
-	
-	psf->sf.seekable = SF_FALSE ;
-	
-	if (psf->mode != SF_MODE_READ)
-		return SFE_BAD_MODE_RW ;
-
-	if (! (pg72x = malloc (sizeof (G72x_DATA))))
-		return SFE_MALLOC_FAILED ;
-
-	psf->fdata = (void*) pg72x ;
-
-	pg72x->blockcount  = 0 ;
-	pg72x->samplecount = 0 ;
-
-	switch (codec)
-	{	case AU_H_G721_32 :
-				g72x_reader_init (pg72x, G721_32_BITS_PER_SAMPLE) ;
-				pg72x->bytesperblock = G721_32_BYTES_PER_BLOCK ;
-				bitspersample = G721_32_BITS_PER_SAMPLE ;
-				break ;
-				
-		case AU_H_G723_24:
-				g72x_reader_init (pg72x, G723_24_BITS_PER_SAMPLE) ;
-				pg72x->bytesperblock = G723_24_BYTES_PER_BLOCK ;
-				bitspersample = G723_24_BITS_PER_SAMPLE ;
-				break ;
-		default : return 0 ;
-		} ;
-				
-	psf->read_short  = (func_short)  au_g72x_read_s ;
-	psf->read_int    = (func_int)    au_g72x_read_i ;
-	psf->read_float  = (func_float)  au_g72x_read_f ;
-	psf->read_double = (func_double) au_g72x_read_d ;
- 
- 	psf->seek_func   = (func_seek)   au_g72x_seek ;
- 	psf->close       = (func_close)  au_g72x_close ;
-
-	if (psf->datalength % pg72x->blocksize)
-		pg72x->blocks = (psf->datalength / pg72x->blocksize) + 1 ;
-	else
-		pg72x->blocks = psf->datalength / pg72x->blocksize ;
-
-	psf->sf.samples = (8 * psf->datalength) / bitspersample ;
-
-	if ((psf->sf.samples * bitspersample) / 8 != psf->datalength)
-		psf_log_printf (psf, "*** Warning : weird psf->datalength.\n") ;
-			
-	psf->blockwidth = psf->bytewidth = 1 ;
-
-	au_g72x_read_block (psf, pg72x) ;
-	
-	return 0 ;	
-} /* au_g72x_reader_init */
-
-/*============================================================================================
-** WAV G721 writer initialisation function.
-*/
-
-int	
-au_g72x_writer_init (SF_PRIVATE *psf, int codec)
-{	G72x_DATA	*pg72x ;
-	
-	psf->sf.seekable = SF_FALSE ;
-	
-	if (psf->mode != SF_MODE_WRITE)
-		return SFE_BAD_MODE_RW ;
-
-	if (! (pg72x = malloc (sizeof (G72x_DATA))))
-		return SFE_MALLOC_FAILED ;
-
-	psf->fdata = (void*) pg72x ;
-
-	pg72x->blockcount  = 0 ;
-	pg72x->samplecount = 0 ;
-
-	switch (codec)
-	{	case AU_H_G721_32 :
-				g72x_writer_init (pg72x, G721_32_BITS_PER_SAMPLE) ;
-				pg72x->bytesperblock = G721_32_BYTES_PER_BLOCK ;
-				break ;
-				
-		case AU_H_G723_24:
-				g72x_writer_init (pg72x, G723_24_BITS_PER_SAMPLE) ;
-				pg72x->bytesperblock = G723_24_BYTES_PER_BLOCK ;
-				break ;
-		default : return 0 ;
-		} ;
-
-	psf->write_short  = (func_short)  au_g72x_write_s ;
-	psf->write_int    = (func_int)    au_g72x_write_i ;
-	psf->write_float  = (func_float)  au_g72x_write_f ;
-	psf->write_double = (func_double) au_g72x_write_d ;
- 
- 	psf->seek_func   = (func_seek)    au_g72x_seek ;
- 	psf->close       = (func_close)   au_g72x_close ;
- 
-	psf->blockwidth = psf->bytewidth = 1 ;
-
-	return 0 ;
-} /* au_g72x_writer_init */
-
-
-
-/*============================================================================================
-** G721 Read Functions.
-*/
-
-static int
-au_g72x_read_block (SF_PRIVATE *psf, G72x_DATA *pg72x)
-{	int	k ;
-	
-	pg72x->blockcount ++ ;
-	pg72x->samplecount = 0 ;
-	
-	if (pg72x->samplecount > pg72x->blocksize)
-	{	memset (pg72x->samples, 0, G72x_BLOCK_SIZE * sizeof (short)) ;
-		return 1 ;
-		} ;
-
-	if ((k = fread (pg72x->block, 1, pg72x->bytesperblock, psf->file)) != pg72x->bytesperblock)
-		psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, pg72x->bytesperblock) ;
-
-	pg72x->blocksize = k ;
-	g72x_decode_block (pg72x) ;
-
-	return 1 ;
-} /* au_g72x_read_block */
-
-static int 
-au_g72x_read (SF_PRIVATE *psf, G72x_DATA *pg72x, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-
-	while (index < len)
-	{	if (pg72x->blockcount >= pg72x->blocks && pg72x->samplecount >= pg72x->samplesperblock)
-		{	memset (&(ptr[index]), 0, (len - index) * sizeof (short)) ;
-			return total ;
-			} ;
-		
-		if (pg72x->samplecount >= pg72x->samplesperblock)
-			au_g72x_read_block (psf, pg72x) ;
-		
-		count = pg72x->samplesperblock - pg72x->samplecount ;
-		count = (len - index > count) ? count : len - index ;
-		
-		memcpy (&(ptr[index]), &(pg72x->samples [pg72x->samplecount]), count * sizeof (short)) ;
-		index += count ;
-		pg72x->samplecount += count ;
-		total = index ;
-		} ;
-
-	return total ;		
-} /* au_g72x_read */
-
-static int		
-au_g72x_read_s (SF_PRIVATE *psf, short *ptr, int len)
-{	G72x_DATA 	*pg72x ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	total = au_g72x_read (psf, pg72x, ptr, len) ;
-
-	return total ;
-} /* au_g72x_read_s */
-
-static int		
-au_g72x_read_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	G72x_DATA *pg72x ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = SF_BUFFER_LEN / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = au_g72x_read (psf, pg72x, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (int) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* au_g72x_read_i */
-
-static int
-au_g72x_read_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	G72x_DATA *pg72x ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	float 		normfact ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	sptr = (short*) psf->buffer ;
-	bufferlen = SF_BUFFER_LEN / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = au_g72x_read (psf, pg72x, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * sptr [k] ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-
-	return total ;
-} /* au_g72x_read_f */
-
-static int		
-au_g72x_read_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	G72x_DATA *pg72x ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	double		normfact ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	normfact = (normalize) ? 1.0 / ((double) 0x8000) : 1.0 ;
-
-	sptr = (short*) psf->buffer ;
-	bufferlen = SF_BUFFER_LEN / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = au_g72x_read (psf, pg72x, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (double) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-
-	return total ;
-} /* au_g72x_read_d */
-
-static long    
-au_g72x_seek   (SF_PRIVATE *psf, long offset, int whence)
-{
-
-	/*	No simple solution. To do properly, would need to seek
-	**	to start of file and decode everything up to seek position.
-	**	Maybe implement SEEK_SET to 0 only?
-	*/
-	return 0 ;
-	
-/*
-**		G72x_DATA	*pg72x ; 
-**		int			newblock, newsample, samplecount ;
-**	
-**		if (! psf->fdata)
-**			return 0 ;
-**		pg72x = (G72x_DATA*) psf->fdata ;
-**	
-**		if (! (psf->datalength && psf->dataoffset))
-**		{	psf->error = SFE_BAD_SEEK ;
-**			return	((long) -1) ;
-**			} ;
-**			
-**		samplecount = (8 * psf->datalength) / G721_32_BITS_PER_SAMPLE ;
-**			
-**		switch (whence)
-**		{	case SEEK_SET :
-**					if (offset < 0 || offset > samplecount)
-**					{	psf->error = SFE_BAD_SEEK ;
-**						return	((long) -1) ;
-**						} ;
-**					newblock  = offset / pg72x->samplesperblock ;
-**					newsample = offset % pg72x->samplesperblock ;
-**					break ;
-**					
-**			case SEEK_CUR :
-**					if (psf->current + offset < 0 || psf->current + offset > samplecount)
-**					{	psf->error = SFE_BAD_SEEK ;
-**						return	((long) -1) ;
-**						} ;
-**					newblock  = (8 * (psf->current + offset)) / pg72x->samplesperblock ;
-**					newsample = (8 * (psf->current + offset)) % pg72x->samplesperblock ;
-**					break ;
-**					
-**			case SEEK_END :
-**					if (offset > 0 || samplecount + offset < 0)
-**					{	psf->error = SFE_BAD_SEEK ;
-**						return	((long) -1) ;
-**						} ;
-**					newblock  = (samplecount + offset) / pg72x->samplesperblock ;
-**					newsample = (samplecount + offset) % pg72x->samplesperblock ;
-**					break ;
-**					
-**			default : 
-**					psf->error = SFE_BAD_SEEK ;
-**					return	((long) -1) ;
-**			} ;
-**			
-**		if (psf->mode == SF_MODE_READ)
-**		{	fseek (psf->file, (int) (psf->dataoffset + newblock * pg72x->blocksize), SEEK_SET) ;
-**			pg72x->blockcount  = newblock ;
-**			au_g72x_read_block (psf, pg72x) ;
-**			pg72x->samplecount = newsample ;
-**			}
-**		else
-**		{	/+* What to do about write??? *+/ 
-**			psf->error = SFE_BAD_SEEK ;
-**			return	((long) -1) ;
-**			} ;
-**	
-**		psf->current = newblock * pg72x->samplesperblock + newsample ;
-**		return psf->current ;
-**	
-*/
-} /* au_g72x_seek */
-
-/*==========================================================================================
-** G72x Write Functions.
-*/
-
-static int		
-au_g72x_write_block (SF_PRIVATE *psf, G72x_DATA *pg72x)
-{	int k ;
-
-	/* Encode the samples. */
-	g72x_encode_block (pg72x) ;
-
-	/* Write the block to disk. */
-	if ((k = fwrite (pg72x->block, 1, pg72x->blocksize, psf->file)) != pg72x->blocksize)
-		psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, pg72x->blocksize) ;
-
-	pg72x->samplecount = 0 ;
-	pg72x->blockcount ++ ;
-
-	/* Set samples to zero for next block. */
-	memset (pg72x->samples, 0, G72x_BLOCK_SIZE * sizeof (short)) ;
-			
-	return 1 ;
-} /* au_g72x_write_block */
-
-static int 
-au_g72x_write (SF_PRIVATE *psf, G72x_DATA *pg72x, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	count = pg72x->samplesperblock - pg72x->samplecount ;
-
-		if (count > len - index)
-			count = len - index ;
-
-		memcpy (&(pg72x->samples [pg72x->samplecount]), &(ptr [index]), count * sizeof (short)) ;
-		index += count ;
-		pg72x->samplecount += count ;
-		total = index ;
-
-		if (pg72x->samplecount >= pg72x->samplesperblock)
-			au_g72x_write_block (psf, pg72x) ;	
-		} ;
-
-	return total ;		
-} /* au_g72x_write */
-
-static int		
-au_g72x_write_s (SF_PRIVATE *psf, short *ptr, int len)
-{	G72x_DATA 	*pg72x ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	total = au_g72x_write (psf, pg72x, ptr, len) ;
-
-	return total ;
-} /* au_g72x_write_s */
-
-static int		
-au_g72x_write_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	G72x_DATA *pg72x ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = ptr [index+k] ;
-		count = au_g72x_write (psf, pg72x, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* au_g72x_write_i */
-
-static int		
-au_g72x_write_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	G72x_DATA *pg72x ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = FLOAT_TO_SHORT (normfact * ptr [index+k])  ;
-		count = au_g72x_write (psf, pg72x, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* au_g72x_write_f */
-
-static int		
-au_g72x_write_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	G72x_DATA *pg72x ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	double		normfact ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pg72x = (G72x_DATA*) psf->fdata ;
-	
-	normfact = (normalize) ? ((float) 0x8000) : 1.0 ;
-
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = DOUBLE_TO_SHORT (normfact * ptr [index+k])  ;
-		count = au_g72x_write (psf, pg72x, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* au_g72x_write_d */
-
-static int	
-au_g72x_close	(SF_PRIVATE  *psf)
-{	G72x_DATA *pg72x ; 
-
-	if (! psf->fdata)
-		return 0 ;
-
-	pg72x = (G72x_DATA*) psf->fdata ;
-
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*	If a block has been partially assembled, write it out
-		**	as the final block.
-		*/
-	
-		if (pg72x->samplecount && pg72x->samplecount < G72x_BLOCK_SIZE)
-			au_g72x_write_block (psf, pg72x) ;	
-
-		/*  Now we know for certain the length of the file we can
-		**  re-write correct values for the RIFF and data chunks.
-		*/
-		
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-
-		psf->sf.samples = pg72x->samplesperblock * pg72x->blockcount ;
-		psf->datalength = psf->filelength - psf->dataoffset ;
-
-		if (psf->write_header)
-			psf->write_header (psf) ; 
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-
-	return 0 ;
-} /* au_g72x_close */
-
--- a/common/libsndfile/src/common.c
+++ /dev/null
@@ -1,683 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#include	<stdarg.h>
-#include	<string.h>
-#include	<math.h>
-
-#include	"sndfile.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-/*-----------------------------------------------------------------------------------------------
-** Generic functions for performing endian swapping on short and int arrays.
-*/
-
-void
-endswap_short_array (short *ptr, int len)
-{	int k ;
-	for (k = 0 ; k < len ; k++)
-		ptr[k] = ((((ptr[k])>>8)&0xFF)|(((ptr[k])&0xFF)<<8)) ;
-} /* endswap_short_array */
-
-void
-endswap_int_array (int *ptr, int len)
-{	int k ;
-	for (k = 0 ; k < len ; k++)
-		ptr[k] = ((((ptr[k])>>24)&0xFF)|(((ptr[k])>>8)&0xFF00)|
-					(((ptr[k])&0xFF00)<<8)|(((ptr[k])&0xFF)<<24)) ;		
-} /* endswap_int_array */
-
-/*-----------------------------------------------------------------------------------------------
-** psf_log_printf allows libsndfile internal functions to print to an internal logbuffer which
-** can later be displayed. 
-** The format specifiers are as for printf but without the field width and other modifiers.
-** Printing is performed to the logbuffer char array of the SF_PRIVATE struct. 
-** Printing is done in such a way as to guarantee that the log never overflows the end of the
-** logbuffer array.  
-*/
-
-#define psf_putchar(a,b)									\
-			if ((a)->logindex < SF_BUFFER_LEN - 1)			\
-			{	(a)->logbuffer [(a)->logindex++] = (b) ;	\
-				(a)->logbuffer [(a)->logindex] = 0 ;		\
-				} ;
-
-void
-psf_log_printf (SF_PRIVATE *psf, char *format, ...)
-{	va_list	ap ;
-	int     d, tens, shift ;
-	char    c, *strptr, istr [5] ;
-
-	va_start(ap, format);
-	
-	/* printf ("psf_log_printf : %s\n", format) ; */
-	
-	while ((c = *format++))
-	{	if (c != '%')
-		{	psf_putchar (psf, c) ;
-			continue ;
-			} ;
-		
-		switch((c = *format++)) 
-		{	case 's': /* string */
-					strptr = va_arg (ap, char *) ;
-					while (*strptr)
-						psf_putchar (psf, *strptr++) ;
-					break;
-		    
-			case 'd': /* int */
-					d = va_arg (ap, int) ;
-
-					if (d == 0)
-					{	psf_putchar (psf, '0') ;
-						break ;
-						} 
-					if (d < 0)
-					{	psf_putchar (psf, '-') ;
-						d = -d ;
-						} ;
-					tens = 1 ;
-					while (d / tens >= 10) 
-						tens *= 10 ;
-					while (tens > 0)
-					{	psf_putchar (psf, '0' + d / tens) ;
-						d %= tens ;
-						tens /= 10 ;
-						} ;
-					break;
-					
-			case 'X': /* hex */
-					d = va_arg (ap, int) ;
-					
-					if (d == 0)
-					{	psf_putchar (psf, '0') ;
-						break ;
-						} ;
-					shift = 28 ;
-					while (! ((0xF << shift) & d))
-						shift -= 4 ;
-					while (shift >= 0)
-					{	c = (d >> shift) & 0xF ;
-						psf_putchar (psf, (c > 9) ? c + 'A' - 10 : c + '0') ;
-						shift -= 4 ;
-						} ;
-					break;
-					
-			case 'c': /* char */
-					c = va_arg (ap, int) & 0xFF ;
-					psf_putchar (psf, c);
-					break;
-					
-			case 'D': /* int2str */
-					d = va_arg (ap, int);
-					if (CPU_IS_LITTLE_ENDIAN)
-					{	istr [0] = d & 0xFF ;
-						istr [1] = (d >> 8) & 0xFF ;
-						istr [2] = (d >> 16) & 0xFF ;
-						istr [3] = (d >> 24) & 0xFF ;
-						}
-					else
-					{	istr [3] = d & 0xFF ;
-						istr [2] = (d >> 8) & 0xFF ;
-						istr [1] = (d >> 16) & 0xFF ;
-						istr [0] = (d >> 24) & 0xFF ;
-						} ;
-					istr [4] = 0 ;
-					strptr = istr ;
-					while (*strptr)
-					{	c = *strptr++ ;
-						psf_putchar (psf, c) ;
-						} ;
-					break;
-					
-			default :
-					psf_putchar (psf, '*') ;
-					psf_putchar (psf, c) ;
-					psf_putchar (psf, '*') ;
-					break ;
-			} /* switch */
-		} /* while */
-
-	va_end(ap);
-	return ;
-} /* psf_log_printf */
-
-/*-----------------------------------------------------------------------------------------------
-**  ASCII header printf functions.
-**  Some formats (ie NIST) use ascii text in their headers.
-**  Format specifiers are the same as the standard printf specifiers (uses vsnprintf).
-**  If this generates a compile error on any system, the author should be notified
-**  so an alternative vsnprintf can be provided.
-*/
-
-void
-psf_asciiheader_printf (SF_PRIVATE *psf, char *format, ...)
-{	va_list	argptr ;
-	int  maxlen ;
-	char *start ;
-	
-	start  = (char*) psf->header + strlen ((char*) psf->header) ;
-	maxlen = sizeof (psf->header) - strlen ((char*) psf->header) ;
-	
-	va_start (argptr, format) ;
-	vsnprintf (start, maxlen, format, argptr) ;
-	va_end (argptr) ;
-
-	/* Make sure the string is properly terminated. */
-	start [maxlen - 1] = 0 ;	
-
-	return ;
-} /* psf_asciiheader_printf */
-
-/*-----------------------------------------------------------------------------------------------
-**  Binary header writing functions. Returns number of bytes written.
-**
-**  Format specifiers for psf_binheader_writef are as follows
-**		m	- marker - four bytes - no endian manipulation
-**
-**		b   - byte
-**
-**		w	- two byte value - little endian
-**		W	- two byte value - big endian
-**		l	- four byte value - little endian
-**		L	- four byte value - big endian
-**
-**		s   - string preceded by a little endian four byte length
-**		S   - string preceded by a big endian four byte length
-**
-**		f	- little endian 32 bit float
-**		F   - big endian 32 bit float
-**
-**		B	- binary data (see below)
-**		z   - zero bytes (se below)
-**
-**	To write a word followed by a long (both little endian) use:
-**		psf_binheader_writef ("wl", wordval, longval) ;
-**
-**	To write binary data use:
-**		psf_binheader_writef ("B", &bindata, sizeof (bindata)) ;
-**
-**	To write N zero bytes use:
-**		psf_binheader_writef ("z", N) ;
-*/
-
-/* These macros may seem a bit messy but do prevent problems with processors which 
-** seg. fault when asked to write an int or short to a non-int/short aligned address.
-*/
-
-#if (CPU_IS_BIG_ENDIAN == 1)
-#define	PUT_INT(psf,x)		if ((psf)->headindex < sizeof ((psf)->header) - 4)					\
-							{	(psf)->header [(psf)->headindex++] = ((x) >> 24) & 0xFF ;		\
-								(psf)->header [(psf)->headindex++] = ((x) >> 16) & 0xFF ;		\
-								(psf)->header [(psf)->headindex++] = ((x) >>  8) & 0xFF ;		\
-								(psf)->header [(psf)->headindex++] = (x) & 0xFF ;   }
-								                                                                   
-#define	PUT_SHORT(psf,x)	if ((psf)->headindex < sizeof ((psf)->header) - 2)					\
-							{	(psf)->header [(psf)->headindex++] = ((x) >> 8) & 0xFF ;		\
-								(psf)->header [(psf)->headindex++] = (x) & 0xFF ;   }
-
-#elif (CPU_IS_LITTLE_ENDIAN == 1)
-#define	PUT_INT(psf,x)		if ((psf)->headindex < sizeof ((psf)->header) - 4)					\
-							{	(psf)->header [(psf)->headindex++] = (x) & 0xFF ;				\
-								(psf)->header [(psf)->headindex++] = ((x) >>  8) & 0xFF ;		\
-								(psf)->header [(psf)->headindex++] = ((x) >> 16) & 0xFF ;		\
-								(psf)->header [(psf)->headindex++] = ((x) >> 24) & 0xFF ;   }
-                                                                        
-#define	PUT_SHORT(psf,x)	if ((psf)->headindex < sizeof ((psf)->header) - 2)					\
-							{	(psf)->header [(psf)->headindex++] = (x) & 0xFF ;				\
-								(psf)->header [(psf)->headindex++] = ((x) >> 8) & 0xFF ;   }
-
-#else
-#       error "Cannot determine endian-ness of processor."
-#endif
-
-#define	PUT_BYTE(psf,x)		if ((psf)->headindex < sizeof ((psf)->header) - 1)					\
-							{	(psf)->header [(psf)->headindex++] = (x) & 0xFF ;   }
-
-int
-psf_binheader_writef (SF_PRIVATE *psf, char *format, ...)
-{	va_list	argptr ;
-	unsigned int 	data ;
-	float			floatdata ;
-	void			*bindata ;
-	size_t			size ;
-	char    		c, *strptr ;
-	int				count = 0 ;
-	
-	va_start(argptr, format);
-	
-	while ((c = *format++))
-	{	switch (c)
-		{	case 'm' : 
-					data = va_arg (argptr, unsigned int) ;
-					PUT_INT (psf, data) ;
-					count += 4 ;
-					break ;
-					
-			case 'b' :
-					data = va_arg (argptr, unsigned int) ;
-					PUT_BYTE (psf, data) ;
-					count += 1 ;
-					break ;
-					
-			case 'w' :
-					data = va_arg (argptr, unsigned int) ;
-					data = H2LE_SHORT (data) ;
-					PUT_SHORT (psf, data) ;
-					count += 2 ;
-					break ;
-
-			case 'W' :
-					data = va_arg (argptr, unsigned int) ;
-					data = H2BE_SHORT (data) ;
-					PUT_SHORT (psf, data) ;
-					count += 2 ;
-					break ;
-					
-			case 'l' :
-					data = va_arg (argptr, unsigned int) ;
-					data = H2LE_INT (data) ;
-					PUT_INT (psf, data) ;
-					count += 4 ;
-					break ;
-
-			case 'L' :
-					data = va_arg (argptr, unsigned int) ;
-					data = H2BE_INT (data) ;
-					PUT_INT (psf, data) ;
-					count += 4 ;
-					break ;
-
-			case 'f' :
-					floatdata = (float) va_arg (argptr, double) ;
-					float32_write (floatdata, (unsigned char *) &data) ;
-					data = H2LE_INT (data) ;
-					PUT_INT (psf, data) ;
-					count += 4 ;
-					break ;
-
-			case 'F' :
-					floatdata = (float) va_arg (argptr, double) ;
-					float32_write (floatdata, (unsigned char *) &data) ;
-					data = H2BE_INT (data) ;
-					PUT_INT (psf, data) ;
-					count += 4 ;
-					break ;
-
-			case 's' :
-					strptr = va_arg (argptr, char *) ;
-					size   = strlen (strptr) + 1 ;
-					size  += (size & 1) ;
-					data = H2LE_INT (size) ;
-					PUT_INT (psf, data) ;
-					memcpy (&(psf->header [psf->headindex]), strptr, size) ;
-					psf->headindex += size ;
-					count += 4 + size ;
-					break ;
-					
-			case 'S' :
-					strptr = va_arg (argptr, char *) ;
-					size   = strlen (strptr) + 1 ;
-					size  += (size & 1) ;
-					data = H2BE_INT (size) ;
-					PUT_INT (psf, data) ;
-					memcpy (&(psf->header [psf->headindex]), strptr, size) ;
-					psf->headindex += size ;
-					count += 4 + size ;
-					break ;
-					
-			case 'B' :
-					bindata = va_arg (argptr, void *) ;
-					size    = va_arg (argptr, size_t) ;
-					memcpy (&(psf->header [psf->headindex]), bindata, size) ;
-					psf->headindex += size ;
-					count += size ;
-					break ;
-					
-			case 'z' :
-					size    = va_arg (argptr, size_t) ;
-					count += size ;
-					while (size)
-					{	psf->header [psf->headindex] = 0 ;
-						psf->headindex ++ ;
-						size -- ;
-						} ;
-					break ;
-					
-			default : 
-				psf_log_printf (psf, "*** Invalid format specifier `%c'\n", c) ;
-				psf->error = SFE_INTERNAL ; 
-				break ;
-			} ;
-		} ;
-	
-	va_end(argptr);
-	return count ;
-} /* psf_binheader_writef */
-
-/*-----------------------------------------------------------------------------------------------
-**  Binary header reading functions. Returns number of bytes read.
-**
-**	Format specifiers are the same as for header write function above with the following
-**	additions:
-**
-**		p   - jump a given number of position from start of file.
-**
-**	If format is NULL, psf_binheader_readf returns the current offset.
-*/
-
-#if (CPU_IS_BIG_ENDIAN == 1)
-#define	GET_INT(psf)	( ((psf)->header [0] << 24) + ((psf)->header [1] << 16) +	\
-						  ((psf)->header [2] <<  8) + ((psf)->header [3]) )
-
-#define	GET_3BYTE(psf)	( ((psf)->header [0] << 16) + ((psf)->header [1] << 8) +	\
-						  ((psf)->header [2]) )
-
-#define	GET_SHORT(psf)	( ((psf)->header [0] <<  8) + ((psf)->header [1]) )
-
-#elif (CPU_IS_LITTLE_ENDIAN == 1)
-#define	GET_INT(psf)	( ((psf)->header [0]      ) + ((psf)->header [1] <<  8) +	\
-						  ((psf)->header [2] << 16) + ((psf)->header [3] << 24) )
-
-#define	GET_3BYTE(psf)	( ((psf)->header [0]      ) + ((psf)->header [1] <<  8) +	\
-						  ((psf)->header [2] << 16) )
-
-#define	GET_SHORT(psf)	( ((psf)->header [0]) + ((psf)->header [1] <<  8) )
-
-#else
-#       error "Cannot determine endian-ness of processor."
-#endif
-
-#define	GET_BYTE(psf)	( (psf)->header [0] )
-
-int
-psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...)
-{	va_list	argptr ;
-	unsigned int 	*longptr, longdata ;
-	unsigned short	*wordptr, worddata ;
-	char    		*charptr ;
-	int				position ;
-	float			*floatptr ;
-	size_t			size ;
-	char			c ;
-	int				count = 0 ;
-	
-	if (! format)
-		return ftell (psf->file) ;
-			
-	va_start(argptr, format);
-	
-	while ((c = *format++))
-	{	switch (c)
-		{	case 'm' : 
-					longptr = va_arg (argptr, unsigned int*) ;
-					fread (psf->header, 1, sizeof (int), psf->file) ;
-					*longptr = GET_INT (psf) ;
-					count += 4 ;
-					break ;
-					
-			case 'b' :
-					charptr = va_arg (argptr, char*) ;
-					fread (psf->header, 1, sizeof (char), psf->file) ;
-					*charptr = GET_BYTE (psf) ;
-					count += 1 ;
-					break ;
-					
-			case 'w' :
-					wordptr = va_arg (argptr, unsigned short*) ;
-					fread (psf->header, 1, sizeof (short), psf->file) ;
-					worddata = GET_SHORT (psf) ;
-					*wordptr = H2LE_SHORT (worddata) ;
-					count += 2 ;
-					break ;
-
-			case 'W' :
-					wordptr = va_arg (argptr, unsigned short*) ;
-					fread (psf->header, 1, sizeof (short), psf->file) ;
-					worddata = GET_SHORT (psf) ;
-					*wordptr = H2BE_SHORT (worddata) ;
-					count += 2 ;
-					break ;
-					
-			case 'l' :
-					longptr = va_arg (argptr, unsigned int*) ;
-					fread (psf->header, 1, sizeof (int), psf->file) ;
-					longdata = GET_INT (psf) ;
-					*longptr = H2LE_INT (longdata) ;
-					count += 4 ;
-					break ;
-
-			case 'L' :
-					longptr = va_arg (argptr, unsigned int*) ;
-					fread (psf->header, 1, sizeof (int), psf->file) ;
-					longdata = GET_INT (psf) ;
-					*longptr = H2BE_INT (longdata) ;
-					count += 4 ;
-					break ;
-
-			case 't' :
-					longptr = va_arg (argptr, unsigned int*) ;
-					fread (psf->header, 1, 3, psf->file) ;
-					longdata = GET_3BYTE (psf) ;
-					*longptr = H2LE_INT (longdata) ;
-					count += 3 ;
-					break ;
-
-			case 'T' :
-					longptr = va_arg (argptr, unsigned int*) ;
-					fread (psf->header, 1, 3, psf->file) ;
-					longdata = GET_3BYTE (psf) ;
-					*longptr = H2BE_INT (longdata) ;
-					count += 3 ;
-					break ;
-
-			case 'f' :
-					floatptr = va_arg (argptr, float *) ;
-					fread (psf->header, 1, sizeof (float), psf->file) ;
-					longdata = GET_INT (psf) ;
-					longdata = H2LE_INT (longdata) ;
-					*floatptr = float32_read ((unsigned char*) &longdata) ;
-					count += 4 ;
-					break ;
-
-			case 'F' :
-					floatptr = va_arg (argptr, float *) ;
-					fread (psf->header, 1, sizeof (float), psf->file) ;
-					longdata = GET_INT (psf) ;
-					longdata = H2BE_INT (longdata) ;
-					*floatptr = float32_read ((unsigned char*) &longdata) ;
-					count += 4 ;
-					break ;
-
-			case 's' :
-					printf ("Format conversion not implemented yet.\n") ;
-					/*
-					strptr = va_arg (argptr, char *) ;
-					size   = strlen (strptr) + 1 ;
-					size  += (size & 1) ;
-					longdata = H2LE_INT (size) ;
-					get_int (psf, longdata) ;
-					memcpy (&(psf->header [psf->headindex]), strptr, size) ;
-					psf->headindex += size ;
-					*/
-					break ;
-					
-			case 'S' :
-					printf ("Format conversion not implemented yet.\n") ;
-					/*
-					strptr = va_arg (argptr, char *) ;
-					size   = strlen (strptr) + 1 ;
-					size  += (size & 1) ;
-					longdata = H2BE_INT (size) ;
-					get_int (psf, longdata) ;
-					memcpy (&(psf->header [psf->headindex]), strptr, size) ;
-					psf->headindex += size ;
-					*/
-					break ;
-					
-			case 'B' :
-					charptr = va_arg (argptr, char*) ;
-					size = va_arg (argptr, size_t) ;
-					if (size > 0)
-					{	memset (charptr, 0, size) ;
-						fread (charptr, 1, size, psf->file) ;
-						count += size ;
-						} ;
-					break ;
-					
-			case 'z' :
-					printf ("Format conversion not implemented yet.\n") ;
-					/*
-					size    = va_arg (argptr, size_t) ;
-					while (size)
-					{	psf->header [psf->headindex] = 0 ;
-						psf->headindex ++ ;
-						size -- ;
-						} ;
-					*/
-					break ;
-					
-			case 'p' :
-					/* Get the seek position first. */ 
-					position = va_arg (argptr, int) ;
-					fseek (psf->file, position, SEEK_SET) ;
-					count = 0 ;
-					break ;
-
-			case 'j' :
-					/* Get the seek position first. */ 
-					position = va_arg (argptr, int) ;
-					fseek (psf->file, position, SEEK_CUR) ;
-					count = 0 ;
-					break ;
-
-			default :
-				psf_log_printf (psf, "*** Invalid format specifier `%c'\n", c) ;
-				psf->error = SFE_INTERNAL ; 
-				break ;
-			} ;
-		} ;
-	
-	va_end (argptr);
-	
-	return count ;
-} /* psf_binheader_readf */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-void
-psf_log_SF_INFO (SF_PRIVATE *psf)
-{	psf_log_printf (psf, "---------------------------------\n") ;
-
-	psf_log_printf (psf, " Sample rate :   %d\n", psf->sf.samplerate) ;
-	psf_log_printf (psf, " Samples     :   %d\n", psf->sf.samples) ;
-	psf_log_printf (psf, " Channels    :   %d\n", psf->sf.channels) ;
-
-	psf_log_printf (psf, " Bit width   :   %d\n", psf->sf.pcmbitwidth) ;
-	psf_log_printf (psf, " Format      :   %X\n", psf->sf.format) ;
-	psf_log_printf (psf, " Sections    :   %d\n", psf->sf.sections) ;
-	psf_log_printf (psf, " Seekable    :   %s\n", psf->sf.seekable ? "TRUE" : "FALSE") ;
-	
-	psf_log_printf (psf, "---------------------------------\n") ;
-} /* psf_dump_SFINFO */ 
-
-/*========================================================================================
-**	Functions used in the write function for updating the peak chunk. 
-*/
-
-/*-void	
-peak_update_short	(SF_PRIVATE *psf, short *ptr, size_t items)
-{	int		chan, k, position ;
-	short	maxval ;
-	float	fmaxval ;
-	
-	for (chan = 0 ; chan < psf->sf.channels ; chan++)
-	{	maxval = abs (ptr [chan]) ;
-		position = 0 ;
-		for (k = chan ; k < items ; k += psf->sf.channels)
-			if (maxval < abs (ptr [k]))
-			{	maxval = abs (ptr [k]) ;
-				position = k ;
-				} ;
-				
-		fmaxval   = maxval / 32767.0 ;
-		position /= psf->sf.channels ;
-		
-		if (fmaxval > psf->peak.peak[chan].value)
-		{	psf->peak.peak[chan].value = fmaxval ;
-			psf->peak.peak[chan].position = psf->current - position ;
-			} ;
-		} ;
-	
-	return ;		
-} /+* peak_update_short *+/
-
-void	
-peak_update_int		(SF_PRIVATE *psf, int *ptr, size_t items)
-{	int		chan, k, position ;
-	int		maxval ;
-	float	fmaxval ;
-	
-	for (chan = 0 ; chan < psf->sf.channels ; chan++)
-	{	maxval = abs (ptr [chan]) ;
-		position = 0 ;
-		for (k = chan ; k < items ; k += psf->sf.channels)
-			if (maxval < abs (ptr [k]))
-			{	maxval = abs (ptr [k]) ;
-				position = k ;
-				} ;
-				
-		fmaxval   = maxval / 0x7FFFFFFF ;
-		position /= psf->sf.channels ;
-		
-		if (fmaxval > psf->peak.peak[chan].value)
-		{	psf->peak.peak[chan].value = fmaxval ;
-			psf->peak.peak[chan].position = psf->current - position ;
-			} ;
-		} ;
-	
-	return ;		
-} /+* peak_update_int *+/
-
-void	
-peak_update_double	(SF_PRIVATE *psf, double *ptr, size_t items)
-{	int		chan, k, position ;
-	double	fmaxval ;
-	
-	for (chan = 0 ; chan < psf->sf.channels ; chan++)
-	{	fmaxval = fabs (ptr [chan]) ;
-		position = 0 ;
-		for (k = chan ; k < items ; k += psf->sf.channels)
-			if (fmaxval < fabs (ptr [k]))
-			{	fmaxval = fabs (ptr [k]) ;
-				position = k ;
-				} ;
-
-		position /= psf->sf.channels ;
-		
-		if (fmaxval > psf->peak.peak[chan].value)
-		{	psf->peak.peak[chan].value = fmaxval ;
-			psf->peak.peak[chan].position = psf->current - position ;
-			} ;
-		} ;
-	
-	return ;		
-} /+* peak_update_double *+/
--*/
--- a/common/libsndfile/src/common.h
+++ /dev/null
@@ -1,373 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#ifndef COMMON_H_INCLUDED
-#define COMMON_H_INCLUDED
-
-#ifdef _WIN32
-	#pragma pack(push,1)
-#endif
-
-
-#define	SF_BUFFER_LEN			(4096)
-#define	SF_FILENAME_LEN			(256)
-#define	SF_HEADER_LEN			(2048)
-#define	SF_TEXT_LEN				(1024)
-
-#define		BITWIDTH2BYTES(x)	(((x) + 7) / 8)
-
-#define		PEAK_CHANNEL_COUNT	16
-
-enum
-{	SF_MODE_READ		= 11, 
-	SF_MODE_WRITE		= 12,
-	SF_MODE_RW			= 13,	/* Unlikely that RW will ever be implemented. */ 
-	
-	/* PEAK chunk location. */
-	SF_PEAK_START		= 42,
-	SF_PEAK_END			= 43,
-
-	/* Two endian enums. */
-	SF_ENDIAN_LITTLE	= 100, 
-	SF_ENDIAN_BIG		= 101,
-	
-	/* Char type for 8 bit files. */
-	SF_CHARS_SIGNED		= 200,
-	SF_CHARS_UNSIGNED	= 201
-} ; 
-
-/*	Processor floating point capabilities. float32_get_capabilities () in
-**	src/float32.c returns one of the latter three values.
-*/
-enum
-{	FLOAT_UNKNOWN		= 0x00,
-	FLOAT_CAN_RW_LE		= 0x23,
-	FLOAT_CAN_RW_BE		= 0x34,
-	FLOAT_BROKEN_LE		= 0x35,
-	FLOAT_BROKEN_BE		= 0x36
-} ;
-
-enum
-{	SF_FALSE = 0, 
-	SF_TRUE = 1
-} ; 
-
-/* Command values for sf_command (). These are obtained using the Python
-** script sf_command.py in the top level directory of the libsndfile sources.
-*/
-enum
-{	SFC_LIB_VERSION	= 0x1048C,
-	SFC_READ_TEXT	= 0x054F0,
-	SFC_WRITE_TEXT	= 0x0B990,
-	SFC_NORM_FLOAT	= 0x0914A,
-	SFC_NORM_DOUBLE	= 0x1226D,
-	SFC_SCALE_MODE	= 0x0A259,
-	SFC_ADD_PEAK	= 0x96F53
-} ;
-
-/*	Function pointer typedefs. */
-
-typedef	int	(*func_seek) 	(void*, long, int) ;
-
-typedef	int	(*func_short)	(void*, short *ptr, unsigned int len) ;
-typedef	int	(*func_int)		(void*, int *ptr, unsigned int len) ;
-typedef	int	(*func_float)	(void*, float *ptr, unsigned int len) ;
-typedef	int	(*func_double)	(void*, double *ptr, unsigned int len, int normalize) ;
-
-typedef	int	(*func_wr_hdr)	(void*) ;
-typedef	int	(*func_command)	(void*, int command, void *data, int datasize) ;
-
-typedef	int	(*func_close)	(void*) ;
-
-/*---------------------------------------------------------------------------------------
-**	PEAK_CHUNK - This chunk type is common to both AIFF and WAVE files although their 
-**	endian encodings are different. 
-*/
-
-typedef struct 
-{	float        value ;    	/* signed value of peak */ 
-	unsigned int position ; 	/* the sample frame for the peak */ 
-} PEAK_POS ; 
-
-typedef struct 
-{	unsigned int  version ;						/* version of the PEAK chunk */ 
-	unsigned int  timestamp ;					/* secs since 1/1/1970  */ 
-	PEAK_POS      peak [PEAK_CHANNEL_COUNT] ;	/* the peak info */ 
-} PEAK_CHUNK ; 
-
-/*=======================================================================================
-**	SF_PRIVATE stuct - a pointer to this struct is passed back to the caller of the
-**	sf_open_XXXX functions. The caller however has no knowledge of the struct's
-**	contents. 
-*/
-
-typedef struct
-{	/* Force the compiler to double align the start of buffer. */
-	double			buffer		[SF_BUFFER_LEN/sizeof(double)] ;
-	char			filename	[SF_FILENAME_LEN] ;
-
-	/* logbuffer and logindex should only be changed within the logging functions 
-	** of common.c
-	*/
-	char			logbuffer	[SF_BUFFER_LEN] ;
-	unsigned char	header		[SF_HEADER_LEN] ;
-
-	/* For storing text from header. */
-	char			headertext	[SF_TEXT_LEN] ;
-	
-	/* Guard value. If this changes the buffers above have overflowed. */ 
-	int				Magick ;
-	
-	/* Index variables for maintaining logbuffer and header above. */
-	unsigned int	logindex ;
-	unsigned int	headindex, headcurrent ;
-	int				has_text ;
-	
-	FILE 			*file ;
-	int				error ;
-	
-	int				mode ;			/* Open mode : SF_MODE_READ or SF_MODE_WRITE. */
-	int				endian ;		/* File endianness : SF_ENDIAN_LITTLE or SF_ENDIAN_BIG. */
-	int				chars ;			/* Chars are SF_CHARS_SIGNED or SF_CHARS_UNSIGNED. */
-	int				fl32_endswap ;	/* Need to endswap float32s? */
-	
-	SF_INFO			sf ; 	
-
-	int				has_peak ;		/* Has a PEAK chunk (AIFF and WAVE) been read? */
-	int				peak_loc ;		/* Write a PEAK chunk at the start or end of the file? */
-	PEAK_CHUNK		peak ;			
-	
-	long			dataoffset ;	/* Offset in number of bytes from beginning of file. */
-	long			datalength ;	/* Length in bytes of the audio data. */
-	long			tailstart ;		/* Offset to file tailer. */
-	unsigned int	blockwidth ;	/* Size in bytes of one set of interleaved samples. */
-	unsigned int	bytewidth ;		/* Size in bytes of one sample (one channel). */
-
-	long			filelength ;
-	long			current ;
-
-	void			*fdata ;
-	
-	int				scale_mode ;
-	int				norm_double ;
-	int				norm_float ;
-
-	func_seek		seek_func ;
-
-	func_short		read_short ;
-	func_int		read_int ;
-	func_float		read_float ;
-	func_double		read_double ;
-
-	func_short		write_short ;
-	func_int		write_int ;
-	func_float		write_float ;
-	func_double		write_double ;
-
-	func_wr_hdr		write_header ;
-	func_command	command ;
-	func_close		close ;
-
-} SF_PRIVATE ;
-
-enum
-{	SFE_NO_ERROR	= 0,
-
-	SFE_BAD_FILE,
-	SFE_OPEN_FAILED,
-	SFE_BAD_OPEN_FORMAT,
-	SFE_BAD_SNDFILE_PTR,
-	SFE_BAD_SF_INFO_PTR,
-	SFE_BAD_INT_FD,
-	SFE_BAD_INT_PTR,
-	SFE_MALLOC_FAILED, 
-	SFE_BAD_SEEK, 
-	SFE_NOT_SEEKABLE,
-	SFE_UNIMPLEMENTED,
-	SFE_BAD_READ_ALIGN,
-	SFE_BAD_WRITE_ALIGN,
-	SFE_UNKNOWN_FORMAT,
-	SFE_NOT_READMODE,
-	SFE_NOT_WRITEMODE,
-	SFE_BAD_MODE_RW,
-	SFE_BAD_SF_INFO,
-	SFE_SHORT_READ,
-	SFE_SHORT_WRITE,
-	SFE_INTERNAL,
-	SFE_BAD_CONTROL_CMD,
-	
-	SFE_WAV_NO_RIFF,
-	SFE_WAV_NO_WAVE,
-	SFE_WAV_NO_FMT,
-	SFE_WAV_FMT_SHORT,
-	SFE_WAV_FMT_TOO_BIG,
-	SFE_WAV_BAD_FACT,
-	SFE_WAV_BAD_PEAK,
-	SFE_WAV_PEAK_B4_FMT,
-	SFE_WAV_BAD_FORMAT,
-	SFE_WAV_BAD_BLOCKALIGN,
-	SFE_WAV_NO_DATA,
-	SFE_WAV_ADPCM_NOT4BIT,
-	SFE_WAV_ADPCM_CHANNELS,
-	SFE_WAV_GSM610_FORMAT,
-	SFE_WAV_UNKNOWN_CHUNK,
-
-	SFE_AIFF_NO_FORM,
-	SFE_AIFF_AIFF_NO_FORM,
-	SFE_AIFF_COMM_NO_FORM,
-	SFE_AIFF_SSND_NO_COMM,
-	SFE_AIFF_UNKNOWN_CHUNK,
-	SFE_AIFF_COMM_CHUNK_SIZE,
-	SFE_AIFF_BAD_COMM_CHUNK,
-	SFE_AIFF_PEAK_B4_COMM,
-	SFE_AIFF_BAD_PEAK,
-	SFE_AIFF_NO_SSND,
-	SFE_AIFF_NO_DATA,
-
-	SFE_AU_UNKNOWN_FORMAT,
-	SFE_AU_NO_DOTSND,
-	
-	SFE_RAW_READ_BAD_SPEC,
-	SFE_RAW_BAD_BITWIDTH,
-	
-	SFE_PAF_NO_MARKER,
-	SFE_PAF_VERSION,
-	SFE_PAF_UNKNOWN_FORMAT,
-	SFE_PAF_SHORT_HEADER,
-	
-	SFE_SVX_NO_FORM, 
-	SFE_SVX_NO_BODY,
-	SFE_SVX_NO_DATA,
-	SFE_SVX_BAD_COMP, 	
-
-	SFE_NIST_BAD_HEADER,
-	SFE_NIST_BAD_ENCODING,
-
-	SFE_SMTD_NO_SEKD, 
-	SFE_SMTD_NO_SAMR, 
-
-	SFE_VOC_NO_CREATIVE, 
-	SFE_VOC_BAD_VERSION, 
-	SFE_VOC_BAD_MARKER, 
-
-	SFE_IRCAM_NO_MARKER,
-	SFE_IRCAM_BAD_CHANNELS,
-	SFE_IRCAM_UNKNOWN_FORMAT,
-
-	SFE_MAX_ERROR			/* This must be last in list. */
-} ;
-
-/* Get the float32 capability of the processor at run time.
-**	Implemented in src/float32.c.
-*/
-int		float32_get_capability (int endianness) ;
-float	float32_read  (unsigned char *cptr) ;
-void	float32_write (float in, unsigned char *out) ;
-
-
-/* Endian swapping routines implemented in src/common.h. */
-
-void	endswap_short_array	(short *ptr, int len) ;
-void	endswap_int_array 	(int *ptr, int len) ;
-
-/* Functions for writing to the internal logging buffer. */
-
-void	psf_log_printf		(SF_PRIVATE *psf, char *format, ...) ;
-void	psf_log_SF_INFO 		(SF_PRIVATE *psf) ;
-
-/* Functions used when writing file headers. */
-
-int		psf_binheader_writef	(SF_PRIVATE *psf, char *format, ...) ;
-void	psf_asciiheader_printf	(SF_PRIVATE *psf, char *format, ...) ;
-
-/* Functions used when reading file headers. */
-
-int		psf_binheader_readf	(SF_PRIVATE *psf, char const *format, ...) ;
-
-/* Functions used in the write function for updating the peak chunk. */
-
-void	peak_update_short	(SF_PRIVATE *psf, short *ptr, size_t items) ;
-void	peak_update_int		(SF_PRIVATE *psf, int *ptr, size_t items) ;
-void	peak_update_double	(SF_PRIVATE *psf, double *ptr, size_t items) ;
-
-/* Init functions for a number of common data encodings. */
-
-int 	pcm_read_init  (SF_PRIVATE *psf) ;
-int 	pcm_write_init (SF_PRIVATE *psf) ;
-
-int 	ulaw_read_init  (SF_PRIVATE *psf) ;
-int 	ulaw_write_init (SF_PRIVATE *psf) ;
-
-int 	alaw_read_init  (SF_PRIVATE *psf) ;
-int 	alaw_write_init (SF_PRIVATE *psf) ;
-
-int 	float32_read_init  (SF_PRIVATE *psf) ;
-int 	float32_write_init (SF_PRIVATE *psf) ;
-
-/* Functions for reading and writing different file formats.*/
-
-int		aiff_open_read	(SF_PRIVATE *psf) ;
-int		aiff_open_write	(SF_PRIVATE *psf) ;
-
-int		au_open_read	(SF_PRIVATE *psf) ;
-int		au_nh_open_read	(SF_PRIVATE *psf) ;	/* Headerless version of AU. */
-int		au_open_write	(SF_PRIVATE *psf) ;
-
-int		wav_open_read	(SF_PRIVATE *psf) ;
-int		wav_open_write	(SF_PRIVATE *psf) ;
-
-int		raw_open_read	(SF_PRIVATE *psf) ;
-int		raw_open_write	(SF_PRIVATE *psf) ;
-
-int		paf_open_read	(SF_PRIVATE *psf) ;
-int		paf_open_write	(SF_PRIVATE *psf) ;
-
-int		svx_open_read	(SF_PRIVATE *psf) ;
-int		svx_open_write	(SF_PRIVATE *psf) ;
-
-int		nist_open_read	(SF_PRIVATE *psf) ;
-int		nist_open_write	(SF_PRIVATE *psf) ;
-
-int		smpltd_open_read	(SF_PRIVATE *psf) ;
-int		smpltd_open_write	(SF_PRIVATE *psf) ;
-
-int		voc_open_read	(SF_PRIVATE *psf) ;
-int		voc_open_write	(SF_PRIVATE *psf) ;
-
-int		rx2_open_read	(SF_PRIVATE *psf) ;
-int		rx2_open_write	(SF_PRIVATE *psf) ;
-
-int		ircam_open_read		(SF_PRIVATE *psf) ;
-int		ircam_open_write	(SF_PRIVATE *psf) ;
-
-
-/*	Win32 does seem to have snprintf and vsnprintf but prepends
-**	the names with an underscore. Why?
-*/
-
-#ifdef	WIN32
-#define	snprintf	_snprintf
-#define	vsnprintf	_vsnprintf
-#endif
-
-#ifdef _WIN32
-	#pragma pack(pop,1)
-#endif
-
-#endif /* COMMON_H_INCLUDED */
-
--- a/common/libsndfile/src/config.h.in
+++ /dev/null
@@ -1,87 +1,0 @@
-/* src/config.h.in.  Generated automatically from configure.in by autoheader 2.13.  */
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-#undef off_t
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-#undef size_t
-
-/* Define if you have the ANSI C header files.  */
-#undef STDC_HEADERS
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-#undef off_t
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-#undef size_t
-
-/* Define if you have the ANSI C header files.  */
-#undef STDC_HEADERS
-
-/* Set to 1 if the processor is big endian, otherwise set to 0.  */
-#undef GUESS_BIG_ENDIAN
-
-/* Set to 1 if the processor is little endian, otherwise set to 0.  */
-#undef GUESS_LITTLE_ENDIAN
-
-/* Set to 1 to force the use of code for processors with broken floats */
-/* Otherwise set it to 0.  */
-#undef FORCE_BROKEN_FLOAT
-
-/* The number of bytes in a double.  */
-#undef SIZEOF_DOUBLE
-
-/* The number of bytes in a float.  */
-#undef SIZEOF_FLOAT
-
-/* The number of bytes in a int.  */
-#undef SIZEOF_INT
-
-/* The number of bytes in a long.  */
-#undef SIZEOF_LONG
-
-/* The number of bytes in a short.  */
-#undef SIZEOF_SHORT
-
-/* The number of bytes in a void*.  */
-#undef SIZEOF_VOIDP
-
-/* Define if you have the fclose function.  */
-#undef HAVE_FCLOSE
-
-/* Define if you have the fopen function.  */
-#undef HAVE_FOPEN
-
-/* Define if you have the fread function.  */
-#undef HAVE_FREAD
-
-/* Define if you have the free function.  */
-#undef HAVE_FREE
-
-/* Define if you have the fseek function.  */
-#undef HAVE_FSEEK
-
-/* Define if you have the ftell function.  */
-#undef HAVE_FTELL
-
-/* Define if you have the fwrite function.  */
-#undef HAVE_FWRITE
-
-/* Define if you have the malloc function.  */
-#undef HAVE_MALLOC
-
-/* Define if you have the snprintf function.  */
-#undef HAVE_SNPRINTF
-
-/* Define if you have the vsnprintf function.  */
-#undef HAVE_VSNPRINTF
-
-/* Define if you have the <endian.h> header file.  */
-#undef HAVE_ENDIAN_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
--- a/common/libsndfile/src/float32.c
+++ /dev/null
@@ -1,968 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<math.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-/*--------------------------------------------------------------------------------------------
-*/
-
-/*--------------------------------------------------------------------------------------------
-**	Prototypes for private functions.
-*/
-
-static int		host_read_f2s   (SF_PRIVATE *psf, short *ptr, int len) ;
-static int		host_read_f2i   (SF_PRIVATE *psf, int *ptr, int len) ;
-static int		host_read_f     (SF_PRIVATE *psf, float *ptr, int len) ;
-static int		host_read_f2d   (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int		host_write_s2f   (SF_PRIVATE *psf, short *ptr, int len) ;
-static int		host_write_i2f   (SF_PRIVATE *psf, int *ptr, int len) ;
-static int		host_write_f     (SF_PRIVATE *psf, float *ptr, int len) ;
-static int		host_write_d2f   (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static	void	f2s_array 	(float *buffer, unsigned int count, short *ptr, int index) ;
-static	void	f2i_array 	(float *buffer, unsigned int count, int *ptr, int index) ;
-static	void	f2d_array 	(float *buffer, unsigned int count, double *ptr, int index) ;
-
-static 	void	s2f_array 	(short *ptr, int index, float *buffer, unsigned int count) ;
-static 	void	i2f_array 	(int *ptr, int index, float *buffer, unsigned int count) ;
-static 	void	d2f_array 	(double *ptr, int index, float *buffer, unsigned int count) ;
-
-static void		float32_peak_update (SF_PRIVATE *psf, float *buffer, int count, int index) ;
-
-static int		broken_read_f2s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int		broken_read_f2i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int		broken_read_f   (SF_PRIVATE *psf, float *ptr, int len) ;
-static int		broken_read_f2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int		broken_write_s2f (SF_PRIVATE *psf, short *ptr, int len) ;
-static int		broken_write_i2f (SF_PRIVATE *psf, int *ptr, int len) ;
-static int		broken_write_f   (SF_PRIVATE *psf, float *ptr, int len) ;
-static int		broken_write_d2f (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static	void	bf2f_array (float *buffer, unsigned int count) ;
-static	void	f2bf_array (float *buffer, unsigned int count) ;
-
-/*--------------------------------------------------------------------------------------------
-**	Exported functions.
-*/
-
-int
-float32_read_init (SF_PRIVATE *psf)
-{	static int float_caps = FLOAT_UNKNOWN ;
-
-	if (float_caps == FLOAT_UNKNOWN)
-		float_caps = float32_get_capability (psf->endian) ;
-	
-	switch (psf->endian + 0x1000 * float_caps)
-	{	case (SF_ENDIAN_BIG + 0x1000 * FLOAT_CAN_RW_BE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->read_short  = (func_short)  host_read_f2s ;
-				psf->read_int    = (func_int)    host_read_f2i ;
-				psf->read_float  = (func_float)  host_read_f ;
-				psf->read_double = (func_double) host_read_f2d ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_CAN_RW_LE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->read_short  = (func_short)  host_read_f2s ;
-				psf->read_int    = (func_int)    host_read_f2i ;
-				psf->read_float  = (func_float)  host_read_f ;
-				psf->read_double = (func_double) host_read_f2d ;
-				break ;
-
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_CAN_RW_LE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->read_short  = (func_short)  host_read_f2s ;
-				psf->read_int    = (func_int)    host_read_f2i ;
-				psf->read_float  = (func_float)  host_read_f ;
-				psf->read_double = (func_double) host_read_f2d ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_CAN_RW_BE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->read_short  = (func_short)  host_read_f2s ;
-				psf->read_int    = (func_int)    host_read_f2i ;
-				psf->read_float  = (func_float)  host_read_f ;
-				psf->read_double = (func_double) host_read_f2d ;
-				break ;
-				
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_BROKEN_LE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->read_short  = (func_short)  broken_read_f2s ;
-				psf->read_int    = (func_int)    broken_read_f2i ;
-				psf->read_float  = (func_float)  broken_read_f ;
-				psf->read_double = (func_double) broken_read_f2d ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_BROKEN_LE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->read_short  = (func_short)  broken_read_f2s ;
-				psf->read_int    = (func_int)    broken_read_f2i ;
-				psf->read_float  = (func_float)  broken_read_f ;
-				psf->read_double = (func_double) broken_read_f2d ;
-				break ;
-				
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_BROKEN_BE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->read_short  = (func_short)  broken_read_f2s ;
-				psf->read_int    = (func_int)    broken_read_f2i ;
-				psf->read_float  = (func_float)  broken_read_f ;
-				psf->read_double = (func_double) broken_read_f2d ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_BROKEN_BE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->read_short  = (func_short)  broken_read_f2s ;
-				psf->read_int    = (func_int)    broken_read_f2i ;
-				psf->read_float  = (func_float)  broken_read_f ;
-				psf->read_double = (func_double) broken_read_f2d ;
-				break ;
-				
-		default : break ;
-		} ;
-
-	return 0 ;
-} /* float32_read_init */
-
-int
-float32_write_init (SF_PRIVATE *psf)
-{	static int float_caps = FLOAT_UNKNOWN ;
-
-	if (float_caps == FLOAT_UNKNOWN)
-		float_caps = float32_get_capability (psf->endian) ;
-	
-	switch (psf->endian + 0x1000 * float_caps)
-	{	case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_CAN_RW_LE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->write_short  = (func_short)  host_write_s2f ;
-				psf->write_int    = (func_int)    host_write_i2f ;
-				psf->write_float  = (func_float)  host_write_f ;
-				psf->write_double = (func_double) host_write_d2f ;
-				break ;
-
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_CAN_RW_BE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->write_short  = (func_short)  host_write_s2f ;
-				psf->write_int    = (func_int)    host_write_i2f ;
-				psf->write_float  = (func_float)  host_write_f ;
-				psf->write_double = (func_double) host_write_d2f ;
-				break ;
-				
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_CAN_RW_LE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->write_short  = (func_short)  host_write_s2f ;
-				psf->write_int    = (func_int)    host_write_i2f ;
-				psf->write_float  = (func_float)  host_write_f ;
-				psf->write_double = (func_double) host_write_d2f ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_CAN_RW_BE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->write_short  = (func_short)  host_write_s2f ;
-				psf->write_int    = (func_int)    host_write_i2f ;
-				psf->write_float  = (func_float)  host_write_f ;
-				psf->write_double = (func_double) host_write_d2f ;
-				break ;
-				
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_BROKEN_LE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->write_short  = (func_short)  broken_write_s2f ;
-				psf->write_int    = (func_int)    broken_write_i2f ;
-				psf->write_float  = (func_float)  broken_write_f ;
-				psf->write_double = (func_double) broken_write_d2f ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_BROKEN_LE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->write_short  = (func_short)  broken_write_s2f ;
-				psf->write_int    = (func_int)    broken_write_i2f ;
-				psf->write_float  = (func_float)  broken_write_f ;
-				psf->write_double = (func_double) broken_write_d2f ;
-				break ;
-				
-		case (SF_ENDIAN_BIG + 0x1000 * FLOAT_BROKEN_BE) :
-				psf->fl32_endswap = SF_FALSE ;
-				psf->write_short  = (func_short)  broken_write_s2f ;
-				psf->write_int    = (func_int)    broken_write_i2f ;
-				psf->write_float  = (func_float)  broken_write_f ;
-				psf->write_double = (func_double) broken_write_d2f ;
-				break ;
-				
-		case (SF_ENDIAN_LITTLE + 0x1000 * FLOAT_BROKEN_BE) :
-				psf->fl32_endswap = SF_TRUE ;
-				psf->write_short  = (func_short)  broken_write_s2f ;
-				psf->write_int    = (func_int)    broken_write_i2f ;
-				psf->write_float  = (func_float)  broken_write_f ;
-				psf->write_double = (func_double) broken_write_d2f ;
-				break ;
-				
-		default : break ;
-		} ;
-
-	return 0 ;
-} /* float32_write_init */	
-
-float	
-float32_read (unsigned char *cptr)
-{	int		exponent, mantissa, negative ;
-	float	fvalue ;
-
-	if (CPU_IS_LITTLE_ENDIAN)
-	{	negative = cptr [3] & 0x80 ;
-		exponent = ((cptr [3] & 0x7F) << 1) | ((cptr [2] & 0x80) ? 1 : 0);
-		mantissa = ((cptr [2] & 0x7F) << 16) | (cptr [1] << 8) | (cptr [0]) ;
-		}
-	else
-	{	negative = cptr [0] & 0x80 ;
-		exponent = ((cptr [0] & 0x7F) << 1) | ((cptr [1] & 0x80) ? 1 : 0);
-		mantissa = ((cptr [1] & 0x7F) << 16) | (cptr [2] << 8) | (cptr [3]) ;
-		} ;
-
-	if (! (exponent || mantissa))
-		return 0.0 ;
-
-	mantissa |= 0x800000 ;
-	exponent = exponent ? exponent - 127 : 0 ;
-                
-	fvalue = mantissa ? ((float) mantissa) / ((float) 0x800000) : 0.0 ;
-                
-	if (negative)
-		fvalue *= -1 ;
-                
-	if (exponent > 0)
-		fvalue *= (1 << exponent) ;
-	else if (exponent < 0)
-		fvalue /= (1 << abs (exponent)) ;
-
-	return fvalue ;
-} /* float32_read */
-
-void	
-float32_write (float in, unsigned char *out)
-{	int		exponent, mantissa, negative = 0 ;
-
-	*((int*) out) = 0 ;
-	
-	if (in == 0.0)
-		return ;
-	
-	if (in < 0.0)
-	{	in *= -1.0 ;
-		negative = 1 ;
-		} ;
-		
-	in = frexp (in, &exponent) ;
-	
-	exponent += 126 ;
-	
-	in *= (float) 0x1000000 ;
-	mantissa = (((int) in) & 0x7FFFFF) ;
-
-	if (CPU_IS_LITTLE_ENDIAN)	
-	{	if (negative)
-			out [3] |= 0x80 ;
-			
-		if (exponent & 0x01)
-			out [2] |= 0x80 ;
-	
-		out [0]  = mantissa & 0xFF ;
-		out [1]  = (mantissa >> 8) & 0xFF ;
-		out [2] |= (mantissa >> 16) & 0x7F ;
-		out [3] |= (exponent >> 1) & 0x7F ;
-		}
-	else
-	{	if (negative)
-			out [0] |= 0x80 ;
-			
-		if (exponent & 0x01)
-			out [1] |= 0x80 ;
-	
-		out [3]  = mantissa & 0xFF ;
-		out [2]  = (mantissa >> 8) & 0xFF ;
-		out [1] |= (mantissa >> 16) & 0x7F ;
-		out [0] |= (exponent >> 1) & 0x7F ;
-		}
-	
-	return ;
-} /* float32_write */
-
-/*==============================================================================================
-**	Private functions.
-*/
-
-static void
-float32_peak_update (SF_PRIVATE *psf, float *buffer, int count, int index)
-{	int		k, chan, position ;
-	float	fmaxval;
-	
-	for (chan = 0 ; chan < psf->sf.channels ; chan++)
-	{	fmaxval = fabs (buffer [chan]) ;
-		position = 0 ;
-		for (k = chan ; k < count ; k += psf->sf.channels)
-			if (fmaxval < fabs (buffer [k]))
-			{	fmaxval = fabs (buffer [k]) ;
-				position = k ;
-				} ;
-				
-		if (fmaxval > psf->peak.peak[chan].value)
-		{	psf->peak.peak[chan].value = fmaxval ;
-			psf->peak.peak[chan].position = psf->current + index + (position /psf->sf.channels) ;
-			} ;
-		} ;
-
-	return ;	
-} /* float32_peak_update */
-
-int
-float32_get_capability (int endianness)
-{	union 
-	{	float			f ;
-		int				i ;
-		unsigned char	c [4] ;
-	} data ;
-
-	data.f = 1.23456789 ; /* Some abitrary value. */
-	
-	if (FORCE_BROKEN_FLOAT || data.i != 0x3f9e0652)
-		return (CPU_IS_LITTLE_ENDIAN) ? FLOAT_BROKEN_LE : FLOAT_BROKEN_BE ;
-
-	/* If this test is true ints and floats are compatible and little endian. */
-	if (data.c [0] == 0x52 && data.c [1] == 0x06 && data.c [2] == 0x9e && data.c [3] == 0x3f)
-		return FLOAT_CAN_RW_LE ;
-
-	/* If this test is true ints and floats are compatible and big endian. */
-	if (data.c [3] == 0x52 && data.c [2] == 0x06 && data.c [1] == 0x9e && data.c [0] == 0x3f)
-		return FLOAT_CAN_RW_BE ;
-		
-	/* Floats are broken. Don't expect reading or writing to be fast. */
-	return 0 ;
-} /* float32_get_capability */
-
-/*----------------------------------------------------------------------------------------------
-*/
-
-
-static int
-host_read_f2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		f2s_array ((float*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* host_read_f2s */
-
-static int
-host_read_f2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		f2i_array ((float*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* host_read_f2i */
-
-static int
-host_read_f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int	index = 0, total = 0 ;
-	
-	if (psf->fl32_endswap != SF_TRUE)
-		return fread (ptr, sizeof (float), len, psf->file) ; 
-	
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		
-		endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		memcpy (ptr + index, psf->buffer, thisread) ;
-
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* host_read_f */
-
-static int
-host_read_f2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int	index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		f2d_array ((float*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* host_read_f2d */
-
-static int
-host_write_s2f	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2f_array (ptr, index, (float*) (psf->buffer), writecount / psf->bytewidth) ;
-		
-		float32_peak_update (psf, (float *) (psf->buffer), writecount / psf->bytewidth, index / psf->sf.channels) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-			
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* host_write_s2f */
-
-static int
-host_write_i2f	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2f_array (ptr, index, (float*) (psf->buffer), writecount / psf->bytewidth) ;
-		
-		float32_peak_update (psf, (float *) (psf->buffer), writecount / psf->bytewidth, index / psf->sf.channels) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-			
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* host_write_i2f */
-
-static int
-host_write_f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	float32_peak_update (psf, ptr, len, 0) ;
-			
-	if (psf->fl32_endswap != SF_TRUE)
-		return fwrite (ptr, sizeof (float), len, psf->file) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-
-		memcpy (psf->buffer, ptr + index, writecount) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-			
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* host_write_f */
-
-static int
-host_write_d2f	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2f_array (ptr, index, (float*) (psf->buffer), writecount / psf->bytewidth) ;
-		
-		float32_peak_update (psf, (float *) (psf->buffer), writecount / psf->bytewidth, index / psf->sf.channels) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-			
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* host_write_d2f */
-
-/*=======================================================================================
-*/
-
-static void	
-f2s_array (float *buffer, unsigned int count, short *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((double) buffer [k]) ;
-		index ++ ;
-		} ;
-} /* f2s_array */
-
-static void	
-f2i_array (float *buffer, unsigned int count, int *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = (int) ((double) buffer [k]) ;
-		index ++ ;
-		} ;
-} /* f2i_array */
-
-static void	
-f2d_array (float *buffer, unsigned int count, double *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((double) buffer [k]) ;
-		index ++ ;
-		} ;
-} /* f2d_array */
-
-static  void	
-s2f_array (short *ptr, int index, float *buffer, unsigned int count)
-{	int		k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (float) (ptr [index]) ;
-		index ++ ;
-		} ;
-		
-} /* s2f_array */
-
-static void	
-i2f_array (int *ptr, int index, float *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (float) (ptr [index]) ;
-		index ++ ;
-		} ;
-} /* i2f_array */
-
-static void	
-d2f_array (double *ptr, int index, float *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (float) (ptr [index]) ;
-		index ++ ;
-		} ;
-} /* d2f_array */
-
-/*=======================================================================================
-*/
-
-static int		
-broken_read_f2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	bytecount, readcount, bufferlen, thisread ;
-	int				index = 0, total = 0 ;
-		
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		bf2f_array ((float *) (psf->buffer), readcount / psf->bytewidth) ;
-
-		f2s_array ((float*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* broken_read_f2s */
-
-static int		
-broken_read_f2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	bytecount, readcount, bufferlen, thisread ;
-	int				index = 0, total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		bf2f_array ((float *) (psf->buffer), readcount / psf->bytewidth) ;
-
-		f2i_array ((float*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* broken_read_f2i */
-
-static int		
-broken_read_f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	bytecount, readcount, bufferlen, thisread ;
-	int				index = 0, total = 0 ;
-	
-	/* FIX THIS */
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		bf2f_array ((float *) (psf->buffer), readcount / psf->bytewidth) ;
-
-		memcpy (ptr + index, psf->buffer, readcount) ;
-		
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* broken_read_f */
-
-static int		
-broken_read_f2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	bytecount, readcount, bufferlen, thisread ;
-	int				index = 0, total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, readcount / sizeof (int)) ;
-
-		bf2f_array ((float *) (psf->buffer), readcount / psf->bytewidth) ;
-
-		f2d_array ((float*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* broken_read_f2d */
-
-static int	
-broken_write_s2f (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	bytecount, writecount, bufferlen, thiswrite ;
-	int				index = 0, total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2f_array (ptr, index, (float*) (psf->buffer), writecount / psf->bytewidth) ;
-
-		float32_peak_update (psf, (float *) (psf->buffer), writecount / psf->bytewidth, index / psf->sf.channels) ;
-
-		f2bf_array ((float *) (psf->buffer), writecount / psf->bytewidth) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* broken_write_s2f */
-
-static int	
-broken_write_i2f (SF_PRIVATE *psf, int *ptr, int len) 
-{	unsigned int	bytecount, writecount, bufferlen, thiswrite ;
-	int				index = 0, total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2f_array (ptr, index, (float*) (psf->buffer), writecount / psf->bytewidth) ;
-
-		float32_peak_update (psf, (float *) (psf->buffer), writecount / psf->bytewidth, index / psf->sf.channels) ;
-
-		f2bf_array ((float *) (psf->buffer), writecount / psf->bytewidth) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* broken_write_i2f */
-
-static int	
-broken_write_f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	bytecount, writecount, bufferlen, thiswrite ;
-	int				index = 0, total = 0 ;
-	
-	/* FIX THIS */
-	float32_peak_update (psf, ptr, len, 0) ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-
-		memcpy (psf->buffer, ptr + index, writecount) ;
-
-		f2bf_array ((float *) (psf->buffer), writecount / psf->bytewidth) ;
-		
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* broken_write_f */
-
-static int	
-broken_write_d2f (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	bytecount, writecount, bufferlen, thiswrite ;
-	int				index = 0, total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2f_array (ptr, index, (float*) (psf->buffer), writecount / psf->bytewidth) ;
-
-		float32_peak_update (psf, (float *) (psf->buffer), writecount / psf->bytewidth, index / psf->sf.channels) ;
-
-		f2bf_array ((float *) (psf->buffer), writecount / psf->bytewidth) ;
-
-		if (psf->fl32_endswap == SF_TRUE)
-			endswap_int_array ((int*) psf->buffer, writecount / sizeof (int)) ;
-
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* broken_write_d2f */
-
-/*==============================================================================
-*/
-
-/*----------------------------------------------------------------------------------------------
-*/
-
-static void	
-bf2f_array (float *buffer, unsigned int count)
-{	int	k ;
-	
-	for (k = 0 ; k < count ; k++)
-		buffer [k] = float32_read ((unsigned char *) (buffer + k)) ;
-} /* bf2f_array */
-
-static void	
-f2bf_array (float *buffer, unsigned int count)
-{	int	k ;
-	
-	for (k = 0 ; k < count ; k++)
-		float32_write (buffer [k], (unsigned char*) (buffer + k)) ;
-} /* f2bf_array */
-
--- a/common/libsndfile/src/floatcast.h
+++ /dev/null
@@ -1,37 +1,0 @@
-/*
-** Copyright (C) 2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/* On Intel Pentium processors (especially PIII and probably P4), converting
-** from float to int is very slow. To meet the C specs, the code produced by 
-** most C compilers targeting Pentium needs to change the FPU rounding mode 
-** before the float to int conversion is performed. 
-**
-** Changing the FPU rounding mode causes the FPU pipeline to be flushed. It 
-** is this flushing of the pipeline which is so slow.
-*/
-
-
-/* These macros are place holders for inline functions which will replace 
-** them in the near future.
-*/
-
-#define	FLOAT_TO_INT(x)		((int)(x))
-#define	FLOAT_TO_SHORT(x)	((short)(x))
-
-#define	DOUBLE_TO_INT(x)	((int)(x))
-#define	DOUBLE_TO_SHORT(x)	((short)(x))
--- a/common/libsndfile/src/ircam.c
+++ /dev/null
@@ -1,332 +1,0 @@
-/*
-** Copyright (C) 2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<fcntl.h>
-#include	<string.h>
-#include	<ctype.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-/*------------------------------------------------------------------------------
-** Macros to handle big/little endian issues.
-*/
-
-/* The IRCAM magic number is weird in that one byte in the number can have
-** values of 0x1, 0x2, 0x03 or 0x04. Hence the need for a marker and a mask.
-*/
-
-#define IRCAM_02_MARKER	(MAKE_MARKER (0x00, 0x02, 0xA3, 0x64)) 
-#define IRCAM_03_MARKER	(MAKE_MARKER (0x64, 0xA3, 0x03, 0x00)) 
-#define IRCAM_04_MARKER	(MAKE_MARKER (0x64, 0xA3, 0x04, 0x00)) 
-
-#define IRCAM_DATA_OFFSET	(1024)
-
-/*------------------------------------------------------------------------------
-** Typedefs.
-*/
-
-enum
-{	IRCAM_PCM_16	= 0x00002,
-	IRCAM_FLOAT		= 0x00004,
-	IRCAM_ALAW		= 0x10001,
-	IRCAM_ULAW		= 0x20001,
-	IRCAM_PCM_32	= 0x40004
-} ;
-
-
-/*------------------------------------------------------------------------------
-** Private static functions.
-*/
-
-static	int		ircam_close		(SF_PRIVATE *psf) ;
-static	int		ircam_write_header (SF_PRIVATE *psf) ;
-
-static	int		get_encoding (SF_PRIVATE *psf) ;
-
-static	char*	get_encoding_str (int encoding) ;
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int
-ircam_open_read	(SF_PRIVATE *psf)
-{	unsigned int	marker, encoding ;
-	float			samplerate ;
-	int				error = SFE_NO_ERROR ;
-	
-	psf_binheader_readf (psf, "pm", 0, &marker) ;
-	
-	if (marker == IRCAM_03_MARKER)
-	{	psf->endian = SF_ENDIAN_LITTLE ;
-		
-		if (CPU_IS_LITTLE_ENDIAN)
-			marker = ENDSWAP_INT (marker) ;
-		psf_log_printf (psf, "marker: 0x%X => little endian\n", marker) ;
-
-		psf_binheader_readf (psf, "fll", &samplerate, &(psf->sf.channels), &encoding) ;
-		
-		psf->sf.samplerate = (int) samplerate ;
-		psf_log_printf (psf, "  Sample Rate : %d\n", psf->sf.samplerate) ;
-		psf_log_printf (psf, "  Channels    : %d\n", psf->sf.channels) ;
-		psf_log_printf (psf, "  Encoding    : %X => %s\n", encoding, get_encoding_str (encoding)) ;
-		}
-	else if (marker == IRCAM_02_MARKER || marker == IRCAM_04_MARKER)
-	{	psf->endian = SF_ENDIAN_BIG ;
-		
-		if (CPU_IS_BIG_ENDIAN)
-			marker = ENDSWAP_INT (marker) ;
-		psf_log_printf (psf, "marker: 0x%X => big endian\n", marker) ;
-
-		psf_binheader_readf (psf, "FLL", &samplerate, &(psf->sf.channels), &encoding) ;
-
-		psf->sf.samplerate = (int) samplerate ;
-		psf_log_printf (psf, "  Sample Rate : %d\n", psf->sf.samplerate) ;
-		psf_log_printf (psf, "  Channels    : %d\n", psf->sf.channels) ;
-		psf_log_printf (psf, "  Encoding    : %X => %s\n", encoding, get_encoding_str (encoding)) ;
-		}
-	else	
-		return SFE_IRCAM_NO_MARKER ;
-		
-	/* Sanit checking for endian-ness detection. */
-	if (psf->sf.channels > 256)
-		return SFE_IRCAM_BAD_CHANNELS ;
-
-	psf->sf.sections = 1 ;
-	psf->sf.seekable = SF_TRUE ;
-
-	switch (encoding)
-	{	case  IRCAM_PCM_16 :	
-				psf->sf.pcmbitwidth = 16 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-
-				if (psf->endian == SF_ENDIAN_BIG)
-					psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_BE ;
-				else
-					psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_LE ;
-					
-				error = pcm_read_init (psf) ;
-				break ;
-
-		case IRCAM_PCM_32 :
-				psf->sf.pcmbitwidth = 32 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-
-				if (psf->endian == SF_ENDIAN_BIG)
-					psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_BE ;
-				else
-					psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_LE ;
-					
-				error = pcm_read_init (psf) ;
-				break ;
-	
-		case  IRCAM_FLOAT :
-				psf->sf.pcmbitwidth = 32 ;
-				psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-				psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-					
-				if (psf->endian == SF_ENDIAN_BIG)
-					psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_FLOAT_BE ;
-				else
-					psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_FLOAT_LE ;
-					
-				error = float32_read_init (psf) ;
-				break ;
-
-		default : 
-				error = SFE_IRCAM_UNKNOWN_FORMAT ;
-				break ;
-		} ;
-
-	if (error)
-		return error ;
-		
-	psf->dataoffset = IRCAM_DATA_OFFSET ;
-	psf->datalength = psf->filelength - psf->dataoffset ;
-
-	if (! psf->sf.samples && psf->blockwidth)
-		psf->sf.samples = psf->datalength / psf->blockwidth ;
-
-	psf_log_printf (psf, "  Samples     : %d\n", psf->sf.samples) ;
-
-	psf_binheader_readf (psf, "p", IRCAM_DATA_OFFSET) ;
-
-	return 0 ;
-} /* ircam_open_read */
-
-/*------------------------------------------------------------------------------
-*/
-
-int
-ircam_open_write	(SF_PRIVATE *psf)
-{	unsigned int	encoding, subformat ;
-	int				error = SFE_NO_ERROR ;
-
-	if ((psf->sf.format & SF_FORMAT_TYPEMASK) != SF_FORMAT_IRCAM)
-		return	SFE_BAD_OPEN_FORMAT ;
-		
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-
-	if (subformat == SF_FORMAT_ULAW || subformat == SF_FORMAT_ALAW)
-		psf->bytewidth = 1 ;
-	else
-		psf->bytewidth = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-		
-	psf->sf.seekable = SF_TRUE ;
-	psf->error       = 0 ;
-
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
- 	psf->dataoffset  = IRCAM_DATA_OFFSET ;
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = psf->datalength + psf->dataoffset ;
-
-	if (! (encoding = ircam_write_header (psf)))
-		return psf->error ;
-
-	psf->close        = (func_close)  ircam_close ;
-	psf->write_header = (func_wr_hdr) ircam_write_header ;
-	
-	switch (encoding)
-	{	case  IRCAM_PCM_16 :	/* 16-bit linear PCM. */
-		case  IRCAM_PCM_32 :	/* 32-bit linear PCM. */
-				error = pcm_write_init (psf) ;
-				break ;
-				
-		case  IRCAM_FLOAT :	/* 32-bit linear PCM. */
-				error = float32_write_init (psf) ;
-				break ;
-				
-		default :   break ;
-		} ;
-		
-	return error ;
-} /* ircam_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static int
-ircam_close	(SF_PRIVATE  *psf)
-{
-	return 0 ;
-} /* ircam_close */
-
-static int
-ircam_write_header (SF_PRIVATE *psf)
-{	int		encoding ;
-	float	samplerate ;
-
-	/* This also sets psf->endian. */
-	encoding = get_encoding (psf) ;
-	
-	if (! encoding)
-	{	psf->error = SFE_BAD_OPEN_FORMAT ;
-		return	encoding ;
-		} ;
-
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-	
-	samplerate = psf->sf.samplerate ;
-
-	if (psf->endian == SF_ENDIAN_BIG)
-	{	psf_binheader_writef (psf, "mF", IRCAM_02_MARKER, samplerate) ;
-		psf_binheader_writef (psf, "LL", psf->sf.channels, encoding) ;
-		}
-	else if  (psf->endian == SF_ENDIAN_LITTLE)
-	{	psf_binheader_writef (psf, "mf", IRCAM_03_MARKER, samplerate) ;
-		psf_binheader_writef (psf, "ll", psf->sf.channels, encoding) ;
-		}
-	else
-	{	psf->error = SFE_BAD_OPEN_FORMAT ;
-		return	encoding ;
-		} ;
-
-	psf_binheader_writef (psf, "z", IRCAM_DATA_OFFSET - psf->headindex) ;
-	
-	/* Header construction complete so write it out. */
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	return encoding ;
-} /* ircam_write_header */ 
-
-static int
-get_encoding (SF_PRIVATE *psf)
-{	unsigned int format, bitwidth ;
-
-	format = psf->sf.format & SF_FORMAT_SUBMASK ;
-	bitwidth = psf->bytewidth * 8 ;
-
-	/* Default endian-ness is the same as host processor unless overridden. */
-	if (format == SF_FORMAT_PCM_BE || format == SF_FORMAT_FLOAT_BE)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (format == SF_FORMAT_PCM_LE || format == SF_FORMAT_FLOAT_LE)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else if (CPU_IS_BIG_ENDIAN)
-		psf->endian = SF_ENDIAN_BIG ;
-	else	
-		psf->endian = SF_ENDIAN_LITTLE ;
-
-	switch (format)
-	{	case SF_FORMAT_ULAW :	return IRCAM_ULAW ;
-		case SF_FORMAT_ALAW :	return IRCAM_ALAW ;
-
-		case SF_FORMAT_PCM :
-		case SF_FORMAT_PCM_BE :
-		case SF_FORMAT_PCM_LE :
-				/* For PCM encoding, the header encoding field depends on the bitwidth. */
-				switch (bitwidth)
-				{	case	16 : return IRCAM_PCM_16 ;
-					case	32 : return	IRCAM_PCM_32 ;
-					default : break ;
-					} ;
-				break ;
-
-		case SF_FORMAT_FLOAT :
-		case SF_FORMAT_FLOAT_BE :	
-		case SF_FORMAT_FLOAT_LE :	
-				return IRCAM_FLOAT ;
-					
-		default : break ;
-		} ;
-
-	return 0 ;
-} /* get_encoding */
-
-static	char*	
-get_encoding_str (int encoding)
-{	switch (encoding)
-	{	case IRCAM_PCM_16	: return "16 bit PCM" ;
-		case IRCAM_FLOAT	: return "32 bit float" ;
-		case IRCAM_ALAW		: return "A law" ;
-		case IRCAM_ULAW		: return "u law" ;
-		case IRCAM_PCM_32	: return "32 bit PCM" ;
-		} ;
-	return "Unknown encoding" ;
-} /* get_encoding_str */
-
--- a/common/libsndfile/src/nist.c
+++ /dev/null
@@ -1,274 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/*
-**	Some of the information used to read NIST files was gleaned from 
-**	reading the code of Bill Schottstaedt's sndlib library 
-**		ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
-**	However, no code from that package was used.
-*/
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<fcntl.h>
-#include	<string.h>
-#include	<ctype.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-/*------------------------------------------------------------------------------
-*/
-
-#define  NIST_HEADER_LENGTH    1024
-
-/*------------------------------------------------------------------------------
-** Private static functions.
-*/
-
-static	int	nist_close	(SF_PRIVATE *psf) ;
-static	void nist_write_header (SF_PRIVATE  *psf) ;
-
-/*------------------------------------------------------------------------------
-*/
-
-int 	
-nist_open_read	(SF_PRIVATE *psf)
-{	char	*psf_header ;
-	int		error ;
-
-	fseek (psf->file, 0, SEEK_SET) ;
-	
-	psf_header = (char*) psf->header ;
-
-	fgets (psf_header, SF_HEADER_LEN, psf->file) ;
-	psf_log_printf (psf, psf_header) ;
-	if (strlen (psf_header) != 8 || strcmp (psf_header, "NIST_1A\n"))
-		return SFE_NIST_BAD_HEADER ;
-	
-	fgets (psf_header, SF_HEADER_LEN, psf->file) ;
-	psf_log_printf (psf, psf_header) ;
-	if (strlen (psf_header) != 8 || atoi (psf_header) != 1024)
-		return SFE_NIST_BAD_HEADER ;
-
-	while (ftell (psf->file) < 1024 && !ferror (psf->file))
-	{	fgets (psf_header, SF_HEADER_LEN, psf->file) ;
-		psf_log_printf (psf, psf_header) ;
-		
-		if (strstr (psf_header, "channel_count -i ") == psf_header)
-			sscanf (psf_header, "channel_count -i %u", &(psf->sf.channels)) ;
-		
-		if (strstr (psf_header, "sample_count -i ") == psf_header)
-			sscanf (psf_header, "sample_count -i %u", &(psf->sf.samples)) ;
-
-		if (strstr (psf_header, "sample_rate -i ") == psf_header)
-			sscanf (psf_header, "sample_rate -i %u", &(psf->sf.samplerate)) ;
-
-		if (strstr (psf_header, "sample_n_bytes -i ") == psf_header)
-			sscanf (psf_header, "sample_n_bytes -i %u", &(psf->bytewidth)) ;
-
-		if (strstr (psf_header, "sample_sig_bits -i ") == psf_header)
-			sscanf (psf_header, "sample_sig_bits -i %u", &(psf->sf.pcmbitwidth)) ;
-
-		if (strstr (psf_header, "sample_byte_format -s") == psf_header)
-		{	int bytes ;
-			char str [8] = { 0, 0, 0, 0, 0, 0, 0, 0 } ;
-			
-			sscanf (psf_header, "sample_byte_format -s%d %5s", &bytes, str) ;
-			if (bytes < 2 || bytes > 4)
-				return SFE_NIST_BAD_ENCODING ;
-				
-			psf->bytewidth = bytes ;
-				
-			if (strstr (str, "01") == str)
-			{	psf->endian    = SF_ENDIAN_LITTLE ;
-				psf->sf.format = SF_FORMAT_NIST | SF_FORMAT_PCM_LE ;
-				}
-			else if (strstr (str, "10"))
-			{	psf->endian    = SF_ENDIAN_BIG ;
-				psf->sf.format = SF_FORMAT_NIST | SF_FORMAT_PCM_BE ;
-				} ;
-			} ;
-
-		if (strstr (psf_header, "sample_coding -s") == psf_header)
-			return SFE_NIST_BAD_ENCODING ;
-
-		if (strstr (psf_header, "end_head") == psf_header)
-			break ;
-		} ;
-		
- 	psf->dataoffset = NIST_HEADER_LENGTH ;
- 	psf->current  = 0 ;
-	psf->sf.seekable = SF_TRUE ;
-	psf->sf.sections = 1 ;
-
-	psf->close = (func_close) nist_close ;
-
-	psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-	psf->datalength = psf->filelength - psf->dataoffset ;
-
-	if ((error = pcm_read_init (psf)))
-		return error ;
-
-	fseek (psf->file, psf->dataoffset, SEEK_SET) ;
-
-	return 0 ;
-} /* nist_open_read */
-
-/*------------------------------------------------------------------------------
-*/
-
-int 	
-nist_open_write	(SF_PRIVATE *psf)
-{	int subformat, error ;
-	
-	if ((psf->sf.format & SF_FORMAT_TYPEMASK) != SF_FORMAT_NIST)
-		return	SFE_BAD_OPEN_FORMAT ;
-
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-
-	if (subformat == SF_FORMAT_PCM_BE)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (subformat == SF_FORMAT_PCM_LE)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else if (CPU_IS_BIG_ENDIAN && subformat == SF_FORMAT_PCM)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (CPU_IS_LITTLE_ENDIAN && subformat == SF_FORMAT_PCM)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else
-		return	SFE_BAD_OPEN_FORMAT ;
-		
-	psf->bytewidth = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-		
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
- 	psf->dataoffset  = NIST_HEADER_LENGTH ;
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = psf->datalength + psf->dataoffset ;
-	psf->error       = 0 ;
-
-	if ((error = pcm_write_init (psf)))
-		return error ;
-
-	psf->close        = (func_close)  nist_close ;
-	psf->write_header = (func_wr_hdr) nist_write_header ;
-		
-	nist_write_header (psf) ;
-	
-	return 0 ;
-} /* nist_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static int	
-nist_close	(SF_PRIVATE  *psf)
-{
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can
-		**  re-write correct values for the datasize header element.
-		*/
-
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-
-		psf->dataoffset = NIST_HEADER_LENGTH ;
-		psf->datalength = psf->filelength - psf->dataoffset ;
-
-		psf->sf.samples = psf->datalength / psf->blockwidth ;
-
-		nist_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-	
-	return 0 ;
-} /* nist_close */
-
-/*=========================================================================
-*/
-
-static void 
-nist_write_header (SF_PRIVATE  *psf)
-{	char	*end_str ;
-
-	if (psf->endian == SF_ENDIAN_BIG)
-		end_str = "10" ;
-	else if (psf->endian == SF_ENDIAN_LITTLE)
-		end_str = "01" ;
-	else
-		end_str = "error" ;
-
-	/* Clear the whole header. */
-	memset (psf->header, 0, sizeof (psf->header)) ;
-		
-	psf_asciiheader_printf (psf, "NIST_1A\n   1024\n") ;
-	psf_asciiheader_printf (psf, "channel_count -i %d\n", psf->sf.channels) ;
-	psf_asciiheader_printf (psf, "sample_rate -i %d\n", psf->sf.samplerate) ;
-	psf_asciiheader_printf (psf, "sample_n_bytes -i %d\n", psf->bytewidth) ;
-	psf_asciiheader_printf (psf, "sample_byte_format -s%d %s\n", psf->bytewidth, end_str) ;
-	psf_asciiheader_printf (psf, "sample_sig_bits -i %d\n", psf->sf.pcmbitwidth) ;
-	psf_asciiheader_printf (psf, "sample_count -i %d\n", psf->sf.samples) ;
-	psf_asciiheader_printf (psf, "end_head\n") ;
-
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	/* Zero fill to dataoffset. */
-	psf_binheader_writef (psf, "z", NIST_HEADER_LENGTH - psf->headindex) ;
-
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	return ;		
-} /* nist_write_header */
-
-/*-
-
-These were used to parse the sample_byte_format field but were discarded in favour
-os a simpler method using strstr ().
-
-static  
-int strictly_ascending (char *str)
-{	int  k ;
-
-	if (strlen (str) < 2)
-		return 0 ;
-
-	for (k = 1 ; str [k] ; k++) 
-		if (str [k] != str [k-1] + 1)
-			return 0 ;
-	
-	return 1 ;
-} /+* strictly_ascending *+/
-
-static  int strictly_descending (char *str)
-{	int  k ;
-
-	if (strlen (str) < 2)
-		return 0 ;
-
-	for (k = 1 ; str [k] ; k++) 
-		if (str [k] + 1 != str [k-1])
-			return 0 ;
-	
-	return 1 ;
-} /+* strictly_descending *+/
-
--*/
--- a/common/libsndfile/src/paf.c
+++ /dev/null
@@ -1,798 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<fcntl.h>
-#include	<string.h>
-#include	<ctype.h>
-
-#include	"config.h"
-#include	"sndfile.h"
-#include	"sfendian.h"
-#include	"floatcast.h"
-#include	"common.h"
-
-/*------------------------------------------------------------------------------
-** Macros to handle big/little endian issues.
-*/
-
-#define FAP_MARKER	(MAKE_MARKER ('f', 'a', 'p', ' ')) 
-#define PAF_MARKER	(MAKE_MARKER (' ', 'p', 'a', 'f')) 
-
-/*------------------------------------------------------------------------------
-** Other defines.
-*/
-
-#define	PAF_HEADER_LENGTH 	2048
-
-/*------------------------------------------------------------------------------
-** Typedefs.
-*/
-
-typedef	struct
-{	unsigned int	version ;
-	unsigned int	endianness ;
-    unsigned int	samplerate ;
-    unsigned int	format ;
-	unsigned int	channels ;
-	unsigned int	source ;
-} PAF_FMT ;
-
-typedef struct
-{	unsigned int	index, blocks, channels, samplesperblock, blockcount, blocksize, samplecount ;
-	unsigned char	*block ;
-	int				*samples ;
-	unsigned char	data [1] ; /* Data size fixed during malloc (). */
-} PAF24_PRIVATE ;
-
-/*------------------------------------------------------------------------------
-** Private static functions.
-*/
-
-static int paf24_reader_init (SF_PRIVATE  *psf) ;
-static int paf24_writer_init (SF_PRIVATE  *psf) ;
-
-static int paf24_read_block (SF_PRIVATE  *psf, PAF24_PRIVATE *ppaf24) ;
-	
-static int paf24_close (SF_PRIVATE  *psf) ;
-
-static int paf24_read_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int paf24_read_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int paf24_read_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int paf24_read_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int paf24_write_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int paf24_write_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int paf24_write_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int paf24_write_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static long paf24_seek (SF_PRIVATE *psf, long offset, int whence) ;
-
-/*
-static void	endswap_paf_fmt (PAF_FMT *ppaf_fmt) ;
-*/
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int
-paf_open_read	(SF_PRIVATE *psf)
-{	PAF_FMT			paf_fmt ;
-	unsigned int	marker ;
-	int				error ;
-	
-	psf_binheader_readf (psf, "pm", 0, &marker) ;
-	
-	psf_log_printf (psf, "Signature   : %D\n", marker) ;
-
-	if (marker == PAF_MARKER)
-	{	psf_binheader_readf (psf, "LLLLLL", &(paf_fmt.version), &(paf_fmt.endianness), 
-			&(paf_fmt.samplerate), &(paf_fmt.format), &(paf_fmt.channels), &(paf_fmt.source)) ;
-		}
-	else if (marker == FAP_MARKER)
-	{	psf_binheader_readf (psf, "llllll", &(paf_fmt.version), &(paf_fmt.endianness), 
-			&(paf_fmt.samplerate), &(paf_fmt.format), &(paf_fmt.channels), &(paf_fmt.source)) ;
-		}
-	else
-		return SFE_PAF_NO_MARKER ;
-		
-	psf_log_printf (psf, "Version     : %d\n", paf_fmt.version) ;
-	if (paf_fmt.version != 0)
-	{	psf_log_printf (psf, "*** Bad version number. should be zero.\n") ;
-		return SFE_PAF_VERSION ;
-		} ;
-		
-	psf_log_printf (psf, "Endianness  : %d => ", paf_fmt.endianness) ;
-	if (paf_fmt.endianness)
-		psf_log_printf (psf, "Little\n", paf_fmt.endianness) ;
-	else
-		psf_log_printf (psf, "Big\n", paf_fmt.endianness) ;
-	psf_log_printf (psf, "Sample Rate : %d\n", paf_fmt.samplerate) ;
-
-	if (psf->filelength < PAF_HEADER_LENGTH)
-		return SFE_PAF_SHORT_HEADER ;
-		
- 	psf->dataoffset = PAF_HEADER_LENGTH ;
-	psf->datalength = psf->filelength - psf->dataoffset ;
-
- 	psf->current  = 0 ;
-	psf->endian   = paf_fmt.endianness ? SF_ENDIAN_LITTLE : SF_ENDIAN_BIG ;
-
-	psf_binheader_readf (psf, "p", psf->dataoffset) ;
-	
-	psf->sf.samplerate	= paf_fmt.samplerate ;
-	psf->sf.channels 	= paf_fmt.channels ;
-					
-	/* Only fill in type major. */
-	psf->sf.format = SF_FORMAT_PAF ;
-
-	psf->sf.sections 	= 1 ;
-
-	psf_log_printf (psf, "Format      : %d => ", paf_fmt.format) ;
-
-	switch (paf_fmt.format)
-	{	case  0 :	psf_log_printf (psf, "16 bit linear PCM\n") ;
-					psf->sf.pcmbitwidth = 16 ;
-					psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-
-					psf->sf.format |= paf_fmt.endianness ? SF_FORMAT_PCM_LE : SF_FORMAT_PCM_BE ; ;
-					
-					if ((error = pcm_read_init (psf)))
-						return error ;
-
-					psf->blockwidth = psf->bytewidth * psf->sf.channels ;
-
-	psf_log_printf (psf, "X blockwidth : %d\n", psf->blockwidth) ;
-
-					if (psf->blockwidth)
-						psf->sf.samples = psf->datalength / psf->blockwidth ;
-					else
-						psf_log_printf (psf, "*** Warning : blockwidth == 0.\n") ;
-					
-	psf_log_printf (psf, "X samples : %d\n", psf->sf.samples) ;
-					break ;
-
-		case  1 :	psf_log_printf (psf, "24 bit linear PCM\n") ;
-					psf->sf.pcmbitwidth = 24 ;
-					psf->bytewidth      = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-
-					psf->sf.format |= paf_fmt.endianness ? SF_FORMAT_PCM_LE : SF_FORMAT_PCM_BE ; ;
-					
-					psf->read_short  = (func_short)  paf24_read_s ;
-					psf->read_int    = (func_int)    paf24_read_i ;
-					psf->read_float  = (func_float) paf24_read_f ;
-					psf->read_double = (func_double) paf24_read_d ;
-
-					if ((error = paf24_reader_init (psf)))
-						return error ;
-
-					psf->seek_func = (func_seek) paf24_seek ;
-					psf->close = (func_close) paf24_close ;
-
-					psf->blockwidth = psf->bytewidth * psf->sf.channels ;
-	psf_log_printf (psf, "X blockwidth : %d\n", psf->blockwidth) ;
-					psf->sf.samples = 10 * psf->datalength / (32 * psf->sf.channels) ;
-	psf_log_printf (psf, "X samples : %d\n", psf->sf.samples) ;
-					break ;
-		
-		default :   psf_log_printf (psf, "Unknown\n") ;
-					return SFE_PAF_UNKNOWN_FORMAT ;
-					break ;
-		} ;
-
-	psf_log_printf (psf, "Channels    : %d\n", paf_fmt.channels) ;
-	psf_log_printf (psf, "Source      : %d => ", paf_fmt.source) ;
-	
-	switch (paf_fmt.source)
-	{	case  1 : psf_log_printf (psf, "Analog Recording\n") ;
-					break ;
-		case  2 : psf_log_printf (psf, "Digital Transfer\n") ;
-					break ;
-		case  3 : psf_log_printf (psf, "Multi-track Mixdown\n") ;
-					break ;
-		case  5 : psf_log_printf (psf, "Audio Resulting From DSP Processing\n") ;
-					break ;
-		default : psf_log_printf (psf, "Unknown\n") ;
-					break ;
-		} ;
-
-	return 0 ;
-} /* paf_open_read */
-
-/*------------------------------------------------------------------------------
-*/
-
-int
-paf_open_write	(SF_PRIVATE *psf)
-{	PAF_FMT			paf_fmt ;
-	int				subformat, error, paf_format ;
-	
-	if ((psf->sf.format & SF_FORMAT_TYPEMASK) != SF_FORMAT_PAF)
-		return	SFE_BAD_OPEN_FORMAT ;
-
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-
-	if (subformat == SF_FORMAT_PCM_BE)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (subformat == SF_FORMAT_PCM_LE)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else if (CPU_IS_BIG_ENDIAN && subformat == SF_FORMAT_PCM)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (CPU_IS_LITTLE_ENDIAN && subformat == SF_FORMAT_PCM)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else
-		return	SFE_BAD_OPEN_FORMAT ;
-		
-	psf->bytewidth = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
- 	psf->dataoffset  = PAF_HEADER_LENGTH ;
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = psf->datalength + psf->dataoffset ;
-	psf->error       = 0 ;
-
-	switch (psf->sf.pcmbitwidth)
-	{	case  16 : 	paf_format = 0 ;
-					psf->bytewidth = 2 ;
-					break ;
-
-		case  24 :	paf_format = 1 ;
-					psf->bytewidth = 3 ;
-					break ;
-	
-		default : return SFE_PAF_UNKNOWN_FORMAT ;
-		} ;
-		
-	switch (paf_format)
-	{	case  0 :	/* 16-bit linear PCM. */
-					if ((error = pcm_write_init (psf)))
-						return error ;
-					break ;
-
-		case  1 :	/* 24-bit linear PCM */
-					psf->write_short  = (func_short)  paf24_write_s ;
-					psf->write_int    = (func_int)    paf24_write_i ;
-					psf->write_float  = (func_float)  paf24_write_f ;
-					psf->write_double = (func_double) paf24_write_d ;
-					
-					if ((error = paf24_writer_init (psf)))
-						return error ;
-					
-					psf->seek_func = (func_seek) paf24_seek ;
-					psf->close = (func_close) paf24_close ;
-					break ;
-
-		default :   break ;
-		} ;
-	
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	
-	if (psf->endian == SF_ENDIAN_BIG)
-	{	/* Marker, version, endianness, samplerate */
-		psf_binheader_writef (psf, "mLLL", PAF_MARKER, 0, 0, psf->sf.samplerate) ;
-		/* format, channels, source */
-		psf_binheader_writef (psf, "LLL", paf_format, psf->sf.channels, paf_fmt.source) ;	
-		}
-	else if (psf->endian == SF_ENDIAN_LITTLE)
-	{	/* Marker, version, endianness, samplerate */
-		psf_binheader_writef (psf, "mlll", FAP_MARKER, 0, 1, psf->sf.samplerate) ;
-		/* format, channels, source */
-		psf_binheader_writef (psf, "lll", paf_format, psf->sf.channels, 0) ;
-		} ;
-
-	/* Zero fill to dataoffset. */
-	psf_binheader_writef (psf, "z", psf->dataoffset - psf->headindex) ;
-
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	return 0 ;
-} /* paf_open_write */
-
-/*===============================================================================
-**	24 bit PAF files have a really weird encoding. 
-**  For a mono file, 10 samples (each being 3 bytes) are packed into a 32 byte 
-**	block. The 8 ints in this 32 byte block are then endian swapped (as ints) 
-**	if necessary before being written to disk.
-**  For a stereo file, blocks of 10 samples from the same channel are encoded 
-**  into 32 bytes as fro the mono case. The 32 block bytes are then interleaved 
-**	on disk.
-**	Reading has to reverse the above process :-).
-**	Weird!!!
-**
-**	The code below attempts to gain efficiency while maintaining readability.
-*/
-
-static int 
-paf24_reader_init (SF_PRIVATE  *psf)
-{	PAF24_PRIVATE	*ppaf24 ; 
-	unsigned int	paf24size ;	
-	
-	paf24size = sizeof (PAF24_PRIVATE) + psf->sf.channels * (32 + 10 * sizeof (int)) ;
-	if (! (psf->fdata = malloc (paf24size)))
-		return SFE_MALLOC_FAILED ;
-		
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	memset (ppaf24, 0, paf24size) ;
-	
-	ppaf24->channels = psf->sf.channels ;
-	ppaf24->block    = (unsigned char*) ppaf24->data ;
-	ppaf24->samples  = (int*) (ppaf24->data + 32 * ppaf24->channels) ;
-	
-	ppaf24->blocksize = 32 * ppaf24->channels ;
-	ppaf24->samplesperblock = 10 ;
-	
-	if (psf->datalength % ppaf24->blocksize)
-	{	psf_log_printf (psf, "*** Warning : file seems to be truncated.\n") ;
-		ppaf24->blocks = psf->datalength / ppaf24->blocksize  + 1 ;
-		}
-	else
-		ppaf24->blocks = psf->datalength / ppaf24->blocksize ;
-		
-	psf->sf.samples = ppaf24->samplesperblock * ppaf24->blocks ;
-
-	paf24_read_block (psf, ppaf24) ;	/* Read first block. */
-	
-	return 0 ;
-} /* paf24_reader_init */
-
-
-static int	
-paf24_read_block (SF_PRIVATE  *psf, PAF24_PRIVATE *ppaf24)
-{	int				k, *iptr, newsample, channel ;
-	unsigned char	*cptr ;
-	
-	ppaf24->blockcount ++ ;
-	ppaf24->samplecount = 0 ;
-	
-	if (ppaf24->blockcount > ppaf24->blocks)
-	{	memset (ppaf24->samples, 0, ppaf24->samplesperblock * ppaf24->channels) ;
-		return 1 ;
-		} ;
-		
-	/* Read the block. */
-
-	if ((k = fread (ppaf24->block, 1, ppaf24->blocksize, psf->file)) != ppaf24->blocksize)
-		psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, ppaf24->blocksize) ;
-
-	/* Do endian swapping if necessary. */
-
-	iptr = (int*) (ppaf24->data) ;
-	if ((CPU_IS_BIG_ENDIAN && psf->endian == SF_ENDIAN_LITTLE) ||
-			(CPU_IS_LITTLE_ENDIAN && psf->endian == SF_ENDIAN_BIG))
-	{	for (k = 0 ; k < 8 * ppaf24->channels ; k++)
-			iptr [k] = ENDSWAP_INT (iptr [k]) ;
-		} ;
-		
-	/* Unpack block. */	
-
-	for (k = 0 ; k < 10 * ppaf24->channels ; k++)
-	{	channel = k % ppaf24->channels ;
-		cptr = ppaf24->block + 32 * channel + 3 * (k / ppaf24->channels) ;
-		newsample = (cptr [0] << 8) | (cptr [1] << 16) | (cptr [2] << 24) ;
-		ppaf24->samples [k] = newsample / 256 ;
-		} ;
-
-	return 1 ;
-} /* paf24_read_block */
-
-static int 
-paf24_read (SF_PRIVATE *psf, PAF24_PRIVATE *ppaf24, int *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	if (ppaf24->blockcount >= ppaf24->blocks && ppaf24->samplecount >= ppaf24->samplesperblock)
-		{	memset (&(ptr[index]), 0, (len - index) * sizeof (int)) ;
-			return total ;
-			} ;
-		
-		if (ppaf24->samplecount >= ppaf24->samplesperblock)
-			paf24_read_block (psf, ppaf24) ;
-		
-		count = (ppaf24->samplesperblock - ppaf24->samplecount) * ppaf24->channels ;
-		count = (len - index > count) ? count : len - index ;
-		
-		memcpy (&(ptr[index]), &(ppaf24->samples [ppaf24->samplecount * ppaf24->channels]), count * sizeof (int)) ;
-		index += count ;
-		ppaf24->samplecount += count / ppaf24->channels ;
-		total = index ;
-		} ;
-
-	return total ;		
-} /* paf24_read */
-
-static int 
-paf24_read_s (SF_PRIVATE *psf, short *ptr, int len)
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				*iptr ;
-	int				k, bufferlen, readcount = 0, count ;
-	int				index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	iptr = (int*) psf->buffer ;
-	bufferlen = psf->sf.channels * ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (int) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = paf24_read (psf, ppaf24, iptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (short) (iptr [k] / 256) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* paf24_read_s */
-
-static int 
-paf24_read_i (SF_PRIVATE *psf, int *ptr, int len) 
-{	PAF24_PRIVATE *ppaf24 ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	total = paf24_read (psf, ppaf24, ptr, len) ;
-
-	return total ;
-} /* paf24_read_i */
-
-static int 
-paf24_read_f (SF_PRIVATE *psf, float *ptr, int len)
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				*iptr ;
-	int				k, bufferlen, readcount = 0, count ;
-	int				index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	iptr = (int*) psf->buffer ;
-	bufferlen = psf->sf.channels * ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (int) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = paf24_read (psf, ppaf24, iptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (float) (iptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* paf24_read_f */
-
-static int 
-paf24_read_d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				*iptr ;
-	int				k, bufferlen, readcount = 0, count ;
-	int				index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	iptr = (int*) psf->buffer ;
-	bufferlen = psf->sf.channels * ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (int) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = paf24_read (psf, ppaf24, iptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (double) (iptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* paf24_read_d */
-
-/*---------------------------------------------------------------------------
-*/
-
-static int 
-paf24_writer_init (SF_PRIVATE  *psf)
-{	PAF24_PRIVATE	*ppaf24 ; 
-	unsigned int	paf24size ;	
-	
-	paf24size = sizeof (PAF24_PRIVATE) + psf->sf.channels * (32 + 10 * sizeof (int)) ;
-	if (! (psf->fdata = malloc (paf24size)))
-		return SFE_MALLOC_FAILED ;
-		
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	memset (ppaf24, 0, paf24size) ;
-	
-	ppaf24->channels = psf->sf.channels ;
-	ppaf24->block    = (unsigned char*) ppaf24->data ;
-	ppaf24->samples  = (int*) (ppaf24->data + 32 * ppaf24->channels) ;
-	
-	ppaf24->blocksize = 32 * ppaf24->channels ;
-	ppaf24->samplesperblock = 10 ;
-	
-	if (psf->datalength % ppaf24->blocksize)
-	{	psf_log_printf (psf, "*** Warning : file seems to be truncated.\n") ;
-		ppaf24->blocks = psf->datalength / ppaf24->blocksize  + 1 ;
-		}
-	else
-		ppaf24->blocks = psf->datalength / ppaf24->blocksize ;
-		
-	psf->sf.samples = ppaf24->samplesperblock * ppaf24->blocks ;
-
-	return 0 ;
-} /* paf24_writer_init */
-
-
-static int	
-paf24_write_block (SF_PRIVATE  *psf, PAF24_PRIVATE *ppaf24)
-{	int				k, *iptr, nextsample, channel ;
-	unsigned char	*cptr ;
-	
-	/* First pack block. */	
-
-	for (k = 0 ; k < 10 * ppaf24->channels ; k++)
-	{	channel = k % ppaf24->channels ;
-		cptr = ppaf24->block + 32 * channel + 3 * (k / ppaf24->channels) ;
-		nextsample = ppaf24->samples [k] ;
-		cptr [0] = nextsample & 0xFF ;
-		cptr [1] = (nextsample >> 8) & 0xFF ;
-		cptr [2] = (nextsample >> 16) & 0xFF ;
-		} ;
-	
-	/* Do endian swapping if necessary. */
-
-	iptr = (int*) (ppaf24->data) ;
-	if ((CPU_IS_BIG_ENDIAN && psf->endian == SF_ENDIAN_LITTLE) ||
-			(CPU_IS_LITTLE_ENDIAN && psf->endian == SF_ENDIAN_BIG))
-	{	for (k = 0 ; k < 8 * ppaf24->channels ; k++)
-			iptr [k] = ENDSWAP_INT (iptr [k]) ;
-		} ;
-		
-	/* Write block to disk. */
-	
-	if ((k = fwrite (ppaf24->block, 1, ppaf24->blocksize, psf->file)) != ppaf24->blocksize)
-		psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, ppaf24->blocksize) ;
-
-	ppaf24->blockcount ++ ;
-	ppaf24->samplecount = 0 ;
-	
-	return 1 ;
-} /* paf24_write_block */
-
-static int 
-paf24_write (SF_PRIVATE *psf, PAF24_PRIVATE *ppaf24, int *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	count = (ppaf24->samplesperblock - ppaf24->samplecount) * ppaf24->channels ;
-
-		if (count > len - index)
-			count = len - index ;
-
-		memcpy (&(ppaf24->samples [ppaf24->samplecount * ppaf24->channels]), &(ptr [index]), count * sizeof (int)) ;
-		index += count ;
-		ppaf24->samplecount += count / ppaf24->channels ;
-		total = index ;
-
-		if (ppaf24->samplecount >= ppaf24->samplesperblock)
-			paf24_write_block (psf, ppaf24) ;	
-		} ;
-
-	return total ;		
-} /* paf24_write */
-
-static int 
-paf24_write_s (SF_PRIVATE *psf, short *ptr, int len)
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				*iptr ;
-	int				k, bufferlen, writecount = 0, count ;
-	int				index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	iptr = (int*) psf->buffer ;
-	bufferlen = psf->sf.channels * ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (int) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			iptr [k] = ((int) ptr [index+k]) * 256 ;
-		count = paf24_write (psf, ppaf24, iptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* paf24_write_s */
-
-static int 
-paf24_write_i (SF_PRIVATE *psf, int *ptr, int len)
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	total = paf24_write (psf, ppaf24, ptr, len) ;
-
-	return total ;
-} /* paf24_write_i */
-
-static int 
-paf24_write_f (SF_PRIVATE *psf, float *ptr, int len) 
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				*iptr ;
-	int				k, bufferlen, writecount = 0, count ;
-	int				index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	iptr = (int*) psf->buffer ;
-	bufferlen = psf->sf.channels * ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (int) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			iptr [k] = FLOAT_TO_INT (ptr [index+k]) ;
-		count = paf24_write (psf, ppaf24, iptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* paf24_write_f */
-
-static int 
-paf24_write_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) 
-{	PAF24_PRIVATE 	*ppaf24 ; 
-	int				*iptr ;
-	int				k, bufferlen, writecount = 0, count ;
-	int				index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	iptr = (int*) psf->buffer ;
-	bufferlen = psf->sf.channels * ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (int) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			iptr [k] = DOUBLE_TO_INT (ptr [index+k]) ;
-		count = paf24_write (psf, ppaf24, iptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* paf24_write_d */
-
-/*---------------------------------------------------------------------------
-*/
-
-static long 
-paf24_seek (SF_PRIVATE *psf, long offset, int whence)
-{	PAF24_PRIVATE	*ppaf24 ; 
-	int				newblock, newsample ;
-	
-	if (! psf->fdata)
-		return 0 ;
-
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-
-	if (! (psf->blockwidth && psf->datalength && psf->dataoffset))
-	{	psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-		
-	switch (whence)
-	{	case SEEK_SET :
-				if (offset < 0 || offset > ppaf24->blocks * ppaf24->samplesperblock)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = offset / ppaf24->samplesperblock ;
-				newsample = offset % ppaf24->samplesperblock ;
-				break ;
-				
-		case SEEK_CUR :
-				if (psf->current + offset < 0 || psf->current + offset > ppaf24->blocks * ppaf24->samplesperblock)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (psf->current + offset) / ppaf24->samplesperblock ;
-				newsample = (psf->current + offset) % ppaf24->samplesperblock ;
-				break ;
-				
-		case SEEK_END :
-				if (offset > 0 || ppaf24->samplesperblock * ppaf24->blocks + offset < 0)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (ppaf24->samplesperblock * ppaf24->blocks + offset) / ppaf24->samplesperblock ;
-				newsample = (ppaf24->samplesperblock * ppaf24->blocks + offset) % ppaf24->samplesperblock ;
-				break ;
-				
-		default : 
-				psf->error = SFE_BAD_SEEK ;
-				return	((long) -1) ;
-		} ;
-		
-	if (psf->mode == SF_MODE_READ)
-	{	fseek (psf->file, (int) (psf->dataoffset + newblock * ppaf24->blocksize), SEEK_SET) ;
-		ppaf24->blockcount  = newblock ;
-		paf24_read_block (psf, ppaf24) ;
-		ppaf24->samplecount = newsample ;
-		}
-	else
-	{	/* What to do about write??? */ 
-		psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	psf->current = newblock * ppaf24->samplesperblock + newsample ;
-
-	return psf->current ;
-} /* paf24_seek */
-
-/*---------------------------------------------------------------------------
-*/
-
-static int 
-paf24_close (SF_PRIVATE  *psf)
-{	PAF24_PRIVATE *ppaf24 ; 
-	
-	if (! psf->fdata)
-		return 0 ;
-		
-	ppaf24 = (PAF24_PRIVATE*) psf->fdata ;
-	
-	if (psf->mode == SF_MODE_WRITE)
-	{	if (ppaf24->samplecount && ppaf24->samplecount < ppaf24->samplesperblock)
-			paf24_write_block (psf, ppaf24) ;	
-		} ;
-		
-	free (psf->fdata) ;
-	psf->fdata = NULL ;
-
-	return 0 ;
-} /* paf24_close */
-
-/*---------------------------------------------------------------------------
-*/
-
-/*-
-static void
-endswap_paf_fmt (PAF_FMT *ppaf_fmt)
-{	ppaf_fmt->version    = ENDSWAP_INT (ppaf_fmt->version) ;
-	ppaf_fmt->endianness = ENDSWAP_INT (ppaf_fmt->endianness) ;
-	ppaf_fmt->samplerate = ENDSWAP_INT (ppaf_fmt->samplerate) ;
-	ppaf_fmt->format     = ENDSWAP_INT (ppaf_fmt->format) ;
-	ppaf_fmt->channels   = ENDSWAP_INT (ppaf_fmt->channels) ;
-	ppaf_fmt->source     = ENDSWAP_INT (ppaf_fmt->source) ;
-} /+* endswap_paf_fmt *+/
--*/
--- a/common/libsndfile/src/pcm.c
+++ /dev/null
@@ -1,2659 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<unistd.h>
-
-#include	"config.h"
-#include	"sndfile.h"
-#include	"sfendian.h"
-#include	"floatcast.h"
-#include	"common.h"
-
-/* Important!!! Do not assume that sizeof (tribyte) == 3. Some compilers 
-** (Metrowerks CodeWarrior for Mac is one) pad the struct with an extra byte.
-*/
-
-typedef	struct
-{	char	bytes [3] ;
-} tribyte ;
-
-static int	pcm_read_sc2s  (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_uc2s  (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_bes2s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_les2s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_bet2s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_let2s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_bei2s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_read_lei2s (SF_PRIVATE *psf, short *ptr, int len) ;
-
-static int	pcm_read_sc2i  (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_uc2i  (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_bes2i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_les2i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_bet2i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_let2i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_bei2i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_read_lei2i (SF_PRIVATE *psf, int *ptr, int len) ;
-
-static int	pcm_read_sc2f  (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_uc2f  (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_bes2f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_les2f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_bet2f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_let2f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_bei2f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_read_lei2f (SF_PRIVATE *psf, float *ptr, int len) ;
-
-static int	pcm_read_sc2d  (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_uc2d  (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_bes2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_les2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_bet2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_let2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_bei2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_read_lei2d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-
-static int	pcm_write_s2sc  (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2uc  (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2bes (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2les (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2bet (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2let (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2bei (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	pcm_write_s2lei (SF_PRIVATE *psf, short *ptr, int len) ;
-
-static int	pcm_write_i2sc  (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2uc  (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2bes (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2les (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2bet (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2let (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2bei (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	pcm_write_i2lei (SF_PRIVATE *psf, int *ptr, int len) ;
-
-static int	pcm_write_f2sc  (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2uc  (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2bes (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2les (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2bet (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2let (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2bei (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	pcm_write_f2lei (SF_PRIVATE *psf, float *ptr, int len) ;
-
-static int	pcm_write_d2sc  (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2uc  (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2bes (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2les (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2bet (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2let (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2bei (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-static int	pcm_write_d2lei (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static	void	sc2s_array	(signed char *buffer, unsigned int count, short *ptr, int index) ;
-static	void	uc2s_array	(unsigned char *buffer, unsigned int count, short *ptr, int index) ;
-static	void	bet2s_array (tribyte *buffer, unsigned int count, short *ptr, int index) ;
-static	void	let2s_array (tribyte *buffer, unsigned int count, short *ptr, int index) ;
-static	void	bei2s_array (int *buffer, unsigned int count, short *ptr, int index) ;
-static	void	lei2s_array (int *buffer, unsigned int count, short *ptr, int index) ;
-
-static	void	sc2i_array	(signed char *buffer, unsigned int count, int *ptr, int index) ;
-static	void	uc2i_array	(unsigned char *buffer, unsigned int count, int *ptr, int index) ;
-static	void	bes2i_array (short *buffer, unsigned int count, int *ptr, int index) ;
-static	void	les2i_array (short *buffer, unsigned int count, int *ptr, int index) ;
-static	void	bet2i_array (tribyte *buffer, unsigned int count, int *ptr, int index) ;
-static	void	let2i_array (tribyte *buffer, unsigned int count, int *ptr, int index) ;
-
-static	void	sc2f_array	(signed char *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	uc2f_array	(unsigned char *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	bes2f_array (short *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	les2f_array (short *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	bet2f_array (tribyte *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	let2f_array (tribyte *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	bei2f_array (int *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-static	void	lei2f_array (int *buffer, unsigned int count, float *ptr, int index, float normfact) ;
-
-static	void	sc2d_array	(signed char *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	uc2d_array	(unsigned char *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	bes2d_array (short *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	les2d_array (short *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	bet2d_array (tribyte *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	let2d_array (tribyte *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	bei2d_array (int *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-static	void	lei2d_array (int *buffer, unsigned int count, double *ptr, int index, double normfact) ;
-
-
-static	void	s2sc_array	(short *ptr, int index, signed char *buffer, unsigned int count) ;
-static	void	s2uc_array	(short *ptr, int index, unsigned char *buffer, unsigned int count) ;
-static	void	s2bet_array (short *ptr, int index, tribyte *buffer, unsigned int count) ;
-static	void	s2let_array (short *ptr, int index, tribyte *buffer, unsigned int count) ;
-static	void	s2bei_array (short *ptr, int index, int *buffer, unsigned int count) ;
-static	void	s2lei_array (short *ptr, int index, int *buffer, unsigned int count) ;
-
-static	void	i2sc_array	(int *ptr, int index, signed char *buffer, unsigned int count) ;
-static	void	i2uc_array	(int *ptr, int index, unsigned char *buffer, unsigned int count) ;
-static	void	i2bes_array (int *ptr, int index, short *buffer, unsigned int count) ;
-static	void	i2les_array (int *ptr, int index, short *buffer, unsigned int count) ;
-static	void	i2bet_array (int *ptr, int index, tribyte *buffer, unsigned int count) ;
-static	void	i2let_array (int *ptr, int index, tribyte *buffer, unsigned int count) ;
-
-static	void	f2sc_array	(float *ptr, int index, signed char *buffer, unsigned int count, float normfact) ;
-static	void	f2uc_array	(float *ptr, int index, unsigned char *buffer, unsigned int count, float normfact) ;
-static	void	f2bes_array (float *ptr, int index, short *buffer, unsigned int count, float normfact) ;
-static	void	f2les_array (float *ptr, int index, short *buffer, unsigned int count, float normfact) ;
-static	void	f2bet_array (float *ptr, int index, tribyte *buffer, unsigned int count, float normfact) ;
-static	void	f2let_array (float *ptr, int index, tribyte *buffer, unsigned int count, float normfact) ;
-static 	void	f2bei_array (float *ptr, int index, int *buffer, unsigned int count, float normfact) ;
-static 	void	f2lei_array (float *ptr, int index, int *buffer, unsigned int count, float normfact) ;
-
-static	void	d2sc_array	(double *ptr, int index, signed char *buffer, unsigned int count, double normfact) ;
-static	void	d2uc_array	(double *ptr, int index, unsigned char *buffer, unsigned int count, double normfact) ;
-static	void	d2bes_array (double *ptr, int index, short *buffer, unsigned int count, double normfact) ;
-static	void	d2les_array (double *ptr, int index, short *buffer, unsigned int count, double normfact) ;
-static	void	d2bet_array (double *ptr, int index, tribyte *buffer, unsigned int count, double normfact) ;
-static	void	d2let_array (double *ptr, int index, tribyte *buffer, unsigned int count, double normfact) ;
-static 	void	d2bei_array (double *ptr, int index, int *buffer, unsigned int count, double normfact) ;
-static 	void	d2lei_array (double *ptr, int index, int *buffer, unsigned int count, double normfact) ;
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-int
-pcm_read_init (SF_PRIVATE *psf)
-{
-	if (psf->bytewidth == 1 && psf->chars == SF_CHARS_SIGNED)
-	{	psf->read_short  = (func_short)  pcm_read_sc2s ;
-		psf->read_int    = (func_int)    pcm_read_sc2i ;
-		psf->read_float  = (func_float)  pcm_read_sc2f ;
-		psf->read_double = (func_double) pcm_read_sc2d ;
-		return 0 ;
-		} 
-	else if (psf->bytewidth == 1 && psf->chars == SF_CHARS_UNSIGNED)
-	{	psf->read_short  = (func_short)  pcm_read_uc2s ;
-		psf->read_int    = (func_int)    pcm_read_uc2i ;
-		psf->read_float  = (func_float)  pcm_read_uc2f ;
-		psf->read_double = (func_double) pcm_read_uc2d ;
-		return 0 ;
-		} ;
-		
-	switch (psf->bytewidth * 0x10000 + psf->endian)
-	{	case  (2 * 0x10000 + SF_ENDIAN_BIG) :
-				psf->read_short  = (func_short)  pcm_read_bes2s ;
-				psf->read_int    = (func_int)    pcm_read_bes2i ;
-				psf->read_float  = (func_float)  pcm_read_bes2f ;
-				psf->read_double = (func_double) pcm_read_bes2d ;
-				break ;
-		case  (3 * 0x10000 + SF_ENDIAN_BIG) :
-				psf->read_short  = (func_short)  pcm_read_bet2s ;
-				psf->read_int    = (func_int)    pcm_read_bet2i ;
-				psf->read_float  = (func_float)  pcm_read_bet2f ;
-				psf->read_double = (func_double) pcm_read_bet2d ;
-				break ;
-		case  (4 * 0x10000 + SF_ENDIAN_BIG) :
-				psf->read_short  = (func_short)  pcm_read_bei2s ;
-				psf->read_int    = (func_int)    pcm_read_bei2i ;
-				psf->read_float  = (func_float)  pcm_read_bei2f ;
-				psf->read_double = (func_double) pcm_read_bei2d ;
-				break ;
-				
-		case  (2 * 0x10000 + SF_ENDIAN_LITTLE) :
-				psf->read_short  = (func_short)  pcm_read_les2s ;
-				psf->read_int    = (func_int)    pcm_read_les2i ;
-				psf->read_float  = (func_float)  pcm_read_les2f ;
-				psf->read_double = (func_double) pcm_read_les2d ;
-				break ;
-		case  (3 * 0x10000 + SF_ENDIAN_LITTLE) :
-				psf->read_short  = (func_short)  pcm_read_let2s ;
-				psf->read_int    = (func_int)    pcm_read_let2i ;
-				psf->read_float  = (func_float)  pcm_read_let2f ;
-				psf->read_double = (func_double) pcm_read_let2d ;
-				break ;
-		case  (4 * 0x10000 + SF_ENDIAN_LITTLE) :
-				psf->read_short  = (func_short)  pcm_read_lei2s ;
-				psf->read_int    = (func_int)    pcm_read_lei2i ;
-				psf->read_float  = (func_float)  pcm_read_lei2f ;
-				psf->read_double = (func_double) pcm_read_lei2d ;
-				break ;
-		default : return SFE_UNIMPLEMENTED ;
-		} ;
-
-	return 0 ;
-} /* pcm_read_init */
-
-int
-pcm_write_init (SF_PRIVATE *psf)
-{
-	if (psf->bytewidth == 1 && psf->chars == SF_CHARS_SIGNED)
-	{	psf->write_short  = (func_short)  pcm_write_s2sc ;
-		psf->write_int    = (func_int)    pcm_write_i2sc ;
-		psf->write_float  = (func_float)  pcm_write_f2sc ;
-		psf->write_double = (func_double) pcm_write_d2sc ;
-		return 0 ;
-		} 
-	else if (psf->bytewidth == 1 && psf->chars == SF_CHARS_UNSIGNED)
-	{	psf->write_short  = (func_short)  pcm_write_s2uc ;
-		psf->write_int    = (func_int)    pcm_write_i2uc ;
-		psf->write_float  = (func_float)  pcm_write_f2uc ;
-		psf->write_double = (func_double) pcm_write_d2uc ;
-		return 0 ;
-		} ;
-		
-	switch (psf->bytewidth * 0x10000 + psf->endian)
-	{	case  (2 * 0x10000 + SF_ENDIAN_BIG) :
-				psf->write_short  = (func_short)  pcm_write_s2bes ;
-				psf->write_int    = (func_int)    pcm_write_i2bes ;
-				psf->write_float  = (func_float)  pcm_write_f2bes ;
-				psf->write_double = (func_double) pcm_write_d2bes ;
-				break ;
-				
-		case  (3 * 0x10000 + SF_ENDIAN_BIG) :
-				psf->write_short  = (func_short)  pcm_write_s2bet ;
-				psf->write_int    = (func_int)    pcm_write_i2bet ;
-				psf->write_float  = (func_float)  pcm_write_f2bet ;
-				psf->write_double = (func_double) pcm_write_d2bet ;
-				break ;
-				
-		case  (4 * 0x10000 + SF_ENDIAN_BIG) :
-				psf->write_short  = (func_short)  pcm_write_s2bei ;
-				psf->write_int    = (func_int)    pcm_write_i2bei ;
-				psf->write_float  = (func_float)  pcm_write_f2bei ;
-				psf->write_double = (func_double) pcm_write_d2bei ;
-				break ;
-				
-		case  (2 * 0x10000 + SF_ENDIAN_LITTLE) :
-				psf->write_short  = (func_short)  pcm_write_s2les ;
-				psf->write_int    = (func_int)    pcm_write_i2les ;
-				psf->write_float  = (func_float)  pcm_write_f2les ;
-				psf->write_double = (func_double) pcm_write_d2les ;
-				break ;
-				
-		case  (3 * 0x10000 + SF_ENDIAN_LITTLE) :
-				psf->write_short  = (func_short)  pcm_write_s2let ;
-				psf->write_int    = (func_int)    pcm_write_i2let ;
-				psf->write_float  = (func_float)  pcm_write_f2let ;
-				psf->write_double = (func_double) pcm_write_d2let ;
-				break ;
-				
-		case  (4 * 0x10000 + SF_ENDIAN_LITTLE) :
-				psf->write_short  = (func_short)  pcm_write_s2lei ;
-				psf->write_int    = (func_int)    pcm_write_i2lei ;
-				psf->write_float  = (func_float)  pcm_write_f2lei ;
-				psf->write_double = (func_double) pcm_write_d2lei ;
-				break ;
-				
-		default : return SFE_UNIMPLEMENTED ;
-		} ;
-
-	return 0 ;
-} /* pcm_read_init */
-
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int		
-pcm_read_sc2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		sc2s_array ((signed char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_sc2s */
-
-static int
-pcm_read_uc2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		uc2s_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_uc2s */
-
-static int
-pcm_read_bes2s (SF_PRIVATE *psf, short *ptr, int len)
-{	int		total ;
-
-	total = fread (ptr, 1, len * sizeof (short), psf->file) ;
-	if (CPU_IS_LITTLE_ENDIAN)
-		endswap_short_array	(ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bes2s */
-
-static int
-pcm_read_les2s (SF_PRIVATE *psf, short *ptr, int len)
-{	int		total ;
-
-	total = fread (ptr, 1, len * sizeof (short), psf->file) ;
-	if (CPU_IS_BIG_ENDIAN)
-		endswap_short_array	(ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_les2s */
-
-static int
-pcm_read_bet2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bet2s_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bet2s */
-
-static int
-pcm_read_let2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		let2s_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_let2s */
-
-static int
-pcm_read_bei2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bei2s_array ((int*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bei2s */
-
-static int
-pcm_read_lei2s (SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		lei2s_array ((int*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_lei2s */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int
-pcm_read_sc2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		sc2i_array ((signed char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-	
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_sc2i */
-
-static int
-pcm_read_uc2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		uc2i_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-	
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_uc2i */
-
-static int
-pcm_read_bes2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bes2i_array ((short*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bes2i */
-
-static int
-pcm_read_les2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		les2i_array ((short*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_les2i */
-
-static int
-pcm_read_bet2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bet2i_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bet2i */
-
-static int
-pcm_read_let2i (SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		let2i_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_let2i */
-
-static int
-pcm_read_bei2i (SF_PRIVATE *psf, int *ptr, int len)
-{	int		total ;
-
-	total = fread (ptr, 1, len * sizeof (int), psf->file) ;
-	if (CPU_IS_LITTLE_ENDIAN)
-		endswap_int_array	(ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bei2i */
-
-static int
-pcm_read_lei2i (SF_PRIVATE *psf, int *ptr, int len)
-{	int		total ;
-
-	total = fread (ptr, 1, len * sizeof (int), psf->file) ;
-	if (CPU_IS_BIG_ENDIAN)
-		endswap_int_array	(ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_lei2i */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int
-pcm_read_sc2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x80) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		sc2f_array ((signed char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_sc2f */
-
-static int
-pcm_read_uc2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x80) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		uc2f_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_uc2f */
-
-static int
-pcm_read_bes2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bes2f_array ((short*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bes2f */
-
-static int
-pcm_read_les2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		les2f_array ((short*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_les2f */
-
-static int
-pcm_read_bet2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x800000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bet2f_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bet2f */
-
-static int
-pcm_read_let2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x800000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		let2f_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_let2f */
-
-static int
-pcm_read_bei2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x80000000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bei2f_array ((int*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bei2f */
-
-static int
-pcm_read_lei2f (SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x80000000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		lei2f_array ((int*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_lei2f */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int
-pcm_read_sc2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x80) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		sc2d_array ((signed char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_sc2d */
-
-static int
-pcm_read_uc2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x80) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		uc2d_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_uc2d */
-
-static int
-pcm_read_bes2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bes2d_array ((short*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bes2d */
-
-static int
-pcm_read_les2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		les2d_array ((short*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_les2d */
-
-static int
-pcm_read_bet2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x800000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bet2d_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bet2d */
-
-static int
-pcm_read_let2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x800000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		let2d_array ((tribyte*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_let2d */
-
-static int
-pcm_read_bei2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x80000000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		bei2d_array ((int*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_bei2d */
-
-static int
-pcm_read_lei2d (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int readcount, thisread ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double		normfact ;
-
-	normfact = (normalize ? 1.0 / ((double) 0x80000000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		lei2d_array ((int*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* pcm_read_lei2d */
-
-/*===============================================================================================
-**-----------------------------------------------------------------------------------------------
-**===============================================================================================
-*/
-
-static int
-pcm_write_s2sc	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2sc_array (ptr, index, (signed char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2sc */
-
-static int
-pcm_write_s2uc	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2uc_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2uc */
-
-static int
-pcm_write_s2bes	(SF_PRIVATE *psf, short *ptr, int len)
-{	int		total ;
-
-	if (CPU_IS_LITTLE_ENDIAN)
-		endswap_short_array (ptr, len) ;
-	total = fwrite (ptr, 1, len * sizeof (short), psf->file) ;
-	if (CPU_IS_LITTLE_ENDIAN)
-		endswap_short_array (ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2bes */
-
-static int
-pcm_write_s2les	(SF_PRIVATE *psf, short *ptr, int len)
-{	int		total ;
-
-	if (CPU_IS_BIG_ENDIAN)
-		endswap_short_array (ptr, len) ;
-	total = fwrite (ptr, 1, len * sizeof (short), psf->file) ;
-	if (CPU_IS_BIG_ENDIAN)
-		endswap_short_array (ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2les */
-
-static int
-pcm_write_s2bet	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2bet_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2bet */
-
-static int
-pcm_write_s2let	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2let_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2let */
-
-static int
-pcm_write_s2bei	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2bei_array (ptr, index, (int*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2bei */
-
-static int
-pcm_write_s2lei	(SF_PRIVATE *psf, short *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2lei_array (ptr, index, (int*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_s2lei */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int
-pcm_write_i2sc	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2sc_array (ptr, index, (signed char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2sc */
-
-static int
-pcm_write_i2uc	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2uc_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2uc */
-
-static int
-pcm_write_i2bes	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2bes_array (ptr, index, (short*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2bes */
-
-static int
-pcm_write_i2les	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2les_array (ptr, index, (short*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2les */
-
-static int
-pcm_write_i2bet	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2bet_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2bet */
-
-static int
-pcm_write_i2let	(SF_PRIVATE *psf, int *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2let_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2les */
-
-static int
-pcm_write_i2bei	(SF_PRIVATE *psf, int *ptr, int len)
-{	int		total ;
-
-	if (CPU_IS_LITTLE_ENDIAN)
-		endswap_int_array (ptr, len) ;
-	total = fwrite (ptr, 1, len * sizeof (int), psf->file) ;
-	if (CPU_IS_LITTLE_ENDIAN)
-		endswap_int_array (ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2bei */
-
-static int
-pcm_write_i2lei	(SF_PRIVATE *psf, int *ptr, int len)
-{	int		total ;
-
-	if (CPU_IS_BIG_ENDIAN)
-		endswap_int_array (ptr, len) ;
-	total = fwrite (ptr, 1, len * sizeof (int), psf->file) ;
-	if (CPU_IS_BIG_ENDIAN)
-		endswap_int_array (ptr, len) ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_i2lei */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int
-pcm_write_f2sc	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x80) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2sc_array (ptr, index, (signed char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2sc */
-
-static int
-pcm_write_f2uc	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x80) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2uc_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2uc */
-
-static int
-pcm_write_f2bes	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2bes_array (ptr, index, (short*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2bes */
-
-static int
-pcm_write_f2les	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2les_array (ptr, index, (short*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2les */
-
-static int
-pcm_write_f2let	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x800000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2let_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2les */
-
-static int
-pcm_write_f2bet	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int	bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x800000) : 1.0 ;
-
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2bet_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2bes */
-
-static int
-pcm_write_f2bei	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x80000000) : 1.0 ;
-
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2bei_array (ptr, index, (int*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2bei */
-
-static int
-pcm_write_f2lei	(SF_PRIVATE *psf, float *ptr, int len)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	float	normfact ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x80000000) : 1.0 ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2lei_array (ptr, index, (int*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_f2lei */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static int
-pcm_write_d2sc	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x80) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2sc_array (ptr, index, (signed char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2sc */
-
-static int
-pcm_write_d2uc	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x80) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2uc_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2uc */
-
-static int
-pcm_write_d2bes	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x8000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2bes_array (ptr, index, (short*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2bes */
-
-static int
-pcm_write_d2les	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x8000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2les_array (ptr, index, (short*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2les */
-
-static int
-pcm_write_d2let	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x800000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2let_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2les */
-
-static int
-pcm_write_d2bet	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x800000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2bet_array (ptr, index, (tribyte*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2bes */
-
-static int
-pcm_write_d2bei	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x80000000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2bei_array (ptr, index, (int*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2bei */
-
-static int
-pcm_write_d2lei	(SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	unsigned int	writecount, thiswrite ;
-	int		bytecount, bufferlen ;
-	int		index = 0, total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x80000000) : 1.0) ;
-
-	bufferlen = SF_BUFFER_LEN - (SF_BUFFER_LEN % psf->blockwidth) ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2lei_array (ptr, index, (int*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_WRITE ;
-	
-	return total ;
-} /* pcm_write_d2lei */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-sc2s_array	(signed char *buffer, unsigned int count, short *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((short) buffer [k]) ;
-		index ++ ;
-		} ;
-} /* sc2s_array */
-
-static	void	
-uc2s_array	(unsigned char *buffer, unsigned int count, short *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((((short) buffer [k]) - 128) % 256) ;
-		index ++ ;
-		} ;
-} /* uc2s_array */
-
-static void	
-bet2s_array (tribyte *buffer, unsigned int count, short *ptr, int index)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 24) + (cptr [1] << 16) + (cptr [2] << 8) ;
-		value = BE2H_INT (value) ;
-		ptr [index] = (short) (value >> 16) ;
-		index ++ ;
-		cptr += 3 ;	
-		} ;
-} /* bet2s_array */
-
-static void	
-let2s_array (tribyte *buffer, unsigned int count, short *ptr, int index)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 8) + (cptr [1] << 16) + (cptr [2] << 24) ;
-		value = LE2H_INT (value) ;
-		ptr [index] = (short) (value >> 16) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* let2s_array */
-
-static void	
-bei2s_array (int *buffer, unsigned int count, short *ptr, int index)
-{	int	k ;
-	int		value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = BE2H_INT (buffer [k]) ;
-		ptr [index] = (short) (value >> 16) ;
-		index ++ ;
-		} ;
-} /* bei2s_array */
-
-static void	
-lei2s_array (int *buffer, unsigned int count, short *ptr, int index)
-{	int	k ;
-	int		value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = LE2H_INT (buffer [k]) ;
-		ptr [index] = (short) (value >> 16) ;
-		index ++ ;
-		} ;
-} /* lei2s_array */
-
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-sc2i_array	(signed char *buffer, unsigned int count, int *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((int) buffer [k]) ;
-		index ++ ;
-		} ;
-} /* sc2i_array */
-
-static	void	
-uc2i_array	(unsigned char *buffer, unsigned int count, int *ptr, int index)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((((int) buffer [k]) - 128) % 256) ;
-		index ++ ;
-		} ;
-} /* uc2i_array */
-
-static void	
-bes2i_array (short *buffer, unsigned int count, int *ptr, int index)
-{	int	k ;
-	short	value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = BE2H_SHORT (buffer [k]) ;
-		ptr [index] = ((int) value) ;
-		index ++ ;
-		} ;
-} /* bes2i_array */
-
-static void	
-les2i_array (short *buffer, unsigned int count, int *ptr, int index)
-{	int	k ;
-	short	value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = LE2H_SHORT (buffer [k]) ;
-		ptr [index] = ((int) value) ;
-		index ++ ;
-		} ;
-} /* les2i_array */
-
-static void	
-bet2i_array (tribyte *buffer, unsigned int count, int *ptr, int index)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 24) + (cptr [1] << 16) + (cptr [2] << 8) ;
-		ptr [index] = value / 256 ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* bet2i_array */
-
-static void	
-let2i_array (tribyte *buffer, unsigned int count, int *ptr, int index)
-{	unsigned char	*cptr ;
-	int	k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 8) + (cptr [1] << 16) + (cptr [2] << 24) ;
-		ptr [index] = value / 256 ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* let2i_array */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-
-static	void	
-sc2f_array	(signed char *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((float) buffer [k]) * normfact ;
-		index ++ ;
-		} ;
-} /* sc2f_array */
-
-static	void	
-uc2f_array	(unsigned char *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((((int) buffer [k]) - 128) % 256) * normfact ;
-		index ++ ;
-		} ;
-} /* uc2f_array */
-
-static void	
-bes2f_array (short *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	int	k ;
-	short	value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = BE2H_SHORT (buffer [k]) ;
-		ptr [index] = ((float) value) * normfact ;
-		index ++ ;
-		} ;
-} /* bes2f_array */
-
-static void	
-les2f_array (short *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	int	k ;
-	short	value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = LE2H_SHORT (buffer [k]) ;
-		ptr [index] = ((float) value) * normfact ;
-		index ++ ;
-		} ;
-} /* les2f_array */
-
-static void	
-bet2f_array (tribyte *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 24) + (cptr [1] << 16) + (cptr [2] << 8) ;
-		ptr [index] = ((float) (value / 256)) * normfact ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* bet2f_array */
-
-static void	
-let2f_array (tribyte *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 8) + (cptr [1] << 16) + (cptr [2] << 24) ;
-		ptr [index] = ((float) (value / 256)) * normfact ;
-		index ++ ;
-		cptr += 3 ; 
-		} ;
-} /* let2f_array */
-
-static void	
-lei2f_array (int *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	int	k ;
-	int		value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = LE2H_INT (buffer [k]) ;
-		ptr [index] = ((float) value) * normfact ;
-		index ++ ;
-		} ;
-} /* lei2f_array */
-
-static void	
-bei2f_array (int *buffer, unsigned int count, float *ptr, int index, float normfact)
-{	int	k ;
-	int		value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = BE2H_INT (buffer [k]) ;
-		ptr [index] = ((float) value) * normfact ;
-		index ++ ;
-		} ;
-} /* bei2f_array */
-
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-sc2d_array	(signed char *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((double) buffer [k]) * normfact ;
-		index ++ ;
-		} ;
-} /* sc2d_array */
-
-static	void	
-uc2d_array	(unsigned char *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	ptr [index] = ((((int) buffer [k]) - 128) % 256) * normfact ;
-		index ++ ;
-		} ;
-} /* uc2d_array */
-
-static void	
-bes2d_array (short *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	int	k ;
-	short	value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = BE2H_SHORT (buffer [k]) ;
-		ptr [index] = ((double) value) * normfact ;
-		index ++ ;
-		} ;
-} /* bes2d_array */
-
-static void	
-les2d_array (short *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	int	k ;
-	short	value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = LE2H_SHORT (buffer [k]) ;
-		ptr [index] = ((double) value) * normfact ;
-		index ++ ;
-		} ;
-} /* les2d_array */
-
-static void	
-bet2d_array (tribyte *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 24) + (cptr [1] << 16) + (cptr [2] << 8) ;
-		ptr [index] = ((double) (value / 256)) * normfact ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* bet2d_array */
-
-static void	
-let2d_array (tribyte *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	unsigned char	*cptr ;
-	int		k ;
-	int 	value;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = (cptr [0] << 8) + (cptr [1] << 16) + (cptr [2] << 24) ;
-		ptr [index] = ((double) (value / 256)) * normfact ;
-		index ++ ;
-		cptr += 3 ; 
-		} ;
-} /* let2d_array */
-
-static void	
-bei2d_array (int *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	int	k ;
-	int		value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = BE2H_INT (buffer [k]) ;
-		ptr [index] = ((double) value) * normfact ;
-		index ++ ;
-		} ;
-} /* bei2d_array */
-
-static void	
-lei2d_array (int *buffer, unsigned int count, double *ptr, int index, double normfact)
-{	int	k ;
-	int		value ;
-	for (k = 0 ; k < count ; k++)
-	{	value = LE2H_INT (buffer [k]) ;
-		ptr [index] = ((double) value) * normfact ;
-		index ++ ;
-		} ;
-} /* lei2d_array */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-s2sc_array	(short *ptr, int index, signed char *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (signed char) (ptr [index]) ;
-		index ++ ;
-		} ;
-} /* s2sc_array */
-
-static	void	
-s2uc_array	(short *ptr, int index, unsigned char *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (unsigned char) (ptr [index] + 128) ;
-		index ++ ;
-		} ;
-} /* s2uc_array */
-
-static void	
-s2bet_array (short *ptr, int index, tribyte *buffer, unsigned int count)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = ptr [index] << 8 ;
-		cptr [2] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [0] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* s2bet_array */
-
-static void	
-s2let_array (short *ptr, int index, tribyte *buffer, unsigned int count)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = ptr [index] << 8 ;
-		cptr [0] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [2] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* s2let_array */
-
-static void	
-s2bei_array (short *ptr, int index, int *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2BE_INT (ptr [index] << 16) ;
-		index ++ ;
-		} ;
-} /* s2lei_array */
-
-static void	
-s2lei_array (short *ptr, int index, int *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2LE_INT (ptr [index] << 16) ;
-		index ++ ;
-		} ;
-} /* s2lei_array */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-i2sc_array	(int *ptr, int index, signed char *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (signed char) (ptr [index]) ;
-		index ++ ;
-		} ;
-} /* i2sc_array */
-
-static	void	
-i2uc_array	(int *ptr, int index, unsigned char *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = (unsigned char) (ptr [index] + 128) ;
-		index ++ ;
-		} ;
-} /* i2uc_array */
-
-static void	
-i2bes_array (int *ptr, int index, short *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2BE_SHORT (ptr [index]) ;
-		index ++ ;
-		} ;
-} /* i2bes_array */
-
-static void	
-i2les_array (int *ptr, int index, short *buffer, unsigned int count)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2LE_SHORT (ptr [index]) ;
-		index ++ ;
-		} ;
-} /* i2les_array */
-
-static void	
-i2bet_array (int *ptr, int index, tribyte *buffer, unsigned int count)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = ptr [index] ;
-		cptr [0] = (unsigned char) ((value & 0xFF0000) >> 16) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [2] = (unsigned char) (value & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* i2bet_array */
-
-static void	
-i2let_array (int *ptr, int index, tribyte *buffer, unsigned int count)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = ptr [index] ;
-		cptr [0] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [2] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* i2let_array */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-f2sc_array	(float *ptr, int index, signed char *buffer, unsigned int count, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = FLOAT_TO_SHORT (ptr [index] * normfact) ;
-		index ++ ;
-		} ;
-} /* f2sc_array */
-
-static	void	
-f2uc_array	(float *ptr, int index, unsigned char *buffer, unsigned int count, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = FLOAT_TO_SHORT (ptr [index] * normfact) + 128 ;
-		index ++ ;
-		} ;
-} /* f2uc_array */
-
-static void	
-f2bes_array (float *ptr, int index, short *buffer, unsigned int count, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2BE_SHORT (FLOAT_TO_SHORT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* f2bes_array */
-
-static void	
-f2les_array (float *ptr, int index, short *buffer, unsigned int count, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2LE_SHORT (FLOAT_TO_SHORT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* f2les_array */
-
-static void	
-f2bet_array (float *ptr, int index, tribyte *buffer, unsigned int count, float normfact)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = FLOAT_TO_INT (ptr [index] * normfact) ;
-		cptr [2] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [0] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* f2bet_array */
-
-static void	
-f2let_array (float *ptr, int index, tribyte *buffer, unsigned int count, float normfact)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;	
-	for (k = 0 ; k < count ; k++)
-	{	value = FLOAT_TO_INT (ptr [index] * normfact) ;
-		cptr [0] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [2] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* f2let_array */
-
-static void	
-f2bei_array (float *ptr, int index, int *buffer, unsigned int count, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2BE_INT (FLOAT_TO_INT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* f2bei_array */
-
-static 
-void	f2lei_array (float *ptr, int index, int *buffer, unsigned int count, float normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2LE_INT (FLOAT_TO_INT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* f2lei_array */
-
-/*-----------------------------------------------------------------------------------------------
-*/
-
-static	void	
-d2sc_array	(double *ptr, int index, signed char *buffer, unsigned int count, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = DOUBLE_TO_SHORT (ptr [index] * normfact) ;
-		index ++ ;
-		} ;
-} /* d2sc_array */
-
-static	void	
-d2uc_array	(double *ptr, int index, unsigned char *buffer, unsigned int count, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = DOUBLE_TO_SHORT (ptr [index] * normfact) + 128 ;
-		index ++ ;
-		} ;
-} /* d2uc_array */
-
-static void	
-d2bes_array (double *ptr, int index, short *buffer, unsigned int count, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2BE_SHORT (DOUBLE_TO_SHORT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* d2bes_array */
-
-static void	
-d2les_array (double *ptr, int index, short *buffer, unsigned int count, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2LE_SHORT (DOUBLE_TO_SHORT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* d2les_array */
-
-static void	
-d2bet_array (double *ptr, int index, tribyte *buffer, unsigned int count, double normfact)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;
-	for (k = 0 ; k < count ; k++)
-	{	value = DOUBLE_TO_INT (ptr [index] * normfact) ;
-		cptr [2] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [0] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* d2bet_array */
-
-static void	
-d2let_array (double *ptr, int index, tribyte *buffer, unsigned int count, double normfact)
-{	unsigned char	*cptr ;
-	int		k, value ;
-	cptr = (unsigned char*) buffer ;	
-	for (k = 0 ; k < count ; k++)
-	{	value = DOUBLE_TO_INT (ptr [index] * normfact) ;
-		cptr [0] = (unsigned char) (value & 0xFF) ;
-		cptr [1] = (unsigned char) ((value >> 8) & 0xFF) ;
-		cptr [2] = (unsigned char) ((value >> 16) & 0xFF) ;
-		index ++ ;
-		cptr += 3 ;
-		} ;
-} /* d2let_array */
-
-static void	
-d2bei_array (double *ptr, int index, int *buffer, unsigned int count, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2BE_INT (DOUBLE_TO_INT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* d2bei_array */
-
-static 
-void	d2lei_array (double *ptr, int index, int *buffer, unsigned int count, double normfact)
-{	int	k ;
-	for (k = 0 ; k < count ; k++)
-	{	buffer [k] = H2LE_INT (DOUBLE_TO_INT (ptr [index] * normfact)) ;
-		index ++ ;
-		} ;
-} /* d2lei_array */
-
--- a/common/libsndfile/src/raw.c
+++ /dev/null
@@ -1,176 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<fcntl.h>
-#include	<string.h>
-#include	<ctype.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-static long	raw_seek   (SF_PRIVATE *psf, long offset, int whence) ;
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int 	raw_open_read	(SF_PRIVATE *psf)
-{	unsigned int subformat ;
-	int			error ;
-	
-	if(! psf->sf.channels || ! psf->sf.pcmbitwidth)
-		return SFE_RAW_READ_BAD_SPEC ;
-		
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-
-	psf->endian = 0 ;
-
-	if (subformat == SF_FORMAT_PCM_BE)
-		psf->endian = SF_ENDIAN_BIG ;
-	else if (subformat == SF_FORMAT_PCM_LE)
-		psf->endian = SF_ENDIAN_LITTLE ;
-	else if (subformat == SF_FORMAT_PCM_S8)
-		psf->chars = SF_CHARS_SIGNED ;
-	else if (subformat == SF_FORMAT_PCM_U8)
-		psf->chars = SF_CHARS_UNSIGNED ;
-	else
-		return SFE_RAW_READ_BAD_SPEC ;
-		
-	psf->seek_func = (func_seek) raw_seek ;
-
-	psf->sf.seekable = SF_TRUE ;
-	psf->sf.sections = 1 ;
-
-	psf->dataoffset = 0 ;
-	psf->bytewidth  = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-	psf->blockwidth = psf->sf.channels * psf->bytewidth ;
-
-	if ((error = pcm_read_init (psf)))
-		return error ;
-		
-	if (psf->blockwidth)
-		psf->sf.samples = psf->filelength / psf->blockwidth ;
-
- 	psf->datalength = psf->filelength - psf->dataoffset ;
-
- 	psf->current  = 0 ;
-	
-	return 0 ;
-} /* raw_open_read */
-
-/*------------------------------------------------------------------------------
-*/
-
-int 	raw_open_write	(SF_PRIVATE *psf)
-{	unsigned int	subformat, big_endian_file ;
-	int error ;
-		
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-
-	if (subformat == SF_FORMAT_PCM_BE)
-		big_endian_file = 1 ;
-	else if (subformat == SF_FORMAT_PCM_LE)
-		big_endian_file = 0 ;
-	else if (subformat == SF_FORMAT_PCM_S8 || subformat == SF_FORMAT_PCM_U8)
-		big_endian_file = 0 ;
-	else
-		return	SFE_BAD_OPEN_FORMAT ;
-		
-	psf->bytewidth = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-		
-	psf->endian      = big_endian_file ? SF_ENDIAN_BIG : SF_ENDIAN_LITTLE ;
-	psf->sf.seekable = SF_TRUE ;
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
- 	psf->dataoffset  = 0 ;
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = psf->datalength ;
-	psf->error       = 0 ;
-
-	if (subformat == SF_FORMAT_PCM_S8)
-		psf->chars = SF_CHARS_SIGNED ;
-	else if (subformat == SF_FORMAT_PCM_U8)
-		psf->chars = SF_CHARS_UNSIGNED ;
-	
-	if ((error = pcm_write_init (psf)))
-		return error ;
-		
-	return 0 ;
-} /* raw_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static long
-raw_seek   (SF_PRIVATE *psf, long offset, int whence)
-{	long position ;
-
-	if (! (psf->blockwidth && psf->datalength))
-	{	psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	position = ftell (psf->file) ;
-	offset = offset * psf->blockwidth ;
-		
-	switch (whence)
-	{	case SEEK_SET :
-				if (offset < 0 || offset > psf->datalength)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				break ;
-				
-		case SEEK_CUR :
-				if (psf->current + offset < 0 || psf->current + offset > psf->datalength)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				offset = position + offset ;
-				break ;
-				
-		case SEEK_END :
-				if (offset > 0 || psf->datalength + offset < 0)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				offset = psf->datalength + offset ;
-				break ;
-				
-		default : 
-				psf->error = SFE_BAD_SEEK ;
-				return	((long) -1) ;
-		} ;
-		
-	if (psf->mode == SF_MODE_READ)
-		fseek (psf->file, offset, SEEK_SET) ;
-	else
-	{	/* What to do about write??? */ 
-		psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	psf->current = offset / psf->blockwidth ;
-
-	return psf->current ;
-} /* raw_seek */
-
--- a/common/libsndfile/src/samplitude.c
+++ /dev/null
@@ -1,125 +1,0 @@
-/*
-** Copyright (C) 2000-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<ctype.h>
-#include	<stdarg.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-
-/*------------------------------------------------------------------------------
- * Macros to handle big/little endian issues.
-*/
-
-#if (CPU_IS_LITTLE_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		((a)|((b)<<8)|((c)<<16)|((d)<<24))
-#elif (CPU_IS_BIG_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		(((a)<<24)|((b)<<16)|((c)<<8)|(d))
-#else
-#	error "Cannot determine endian-ness of processor."
-#endif
-
-#define SEKD_MARKER	(MAKE_MARKER ('S', 'E', 'K', 'D'))
-#define SAMR_MARKER	(MAKE_MARKER ('S', 'A', 'M', 'R'))
-
-/*------------------------------------------------------------------------------
- * Typedefs for file chunks.
-*/
-
-typedef struct
-{	unsigned int	sekd, samr ;
-	int				unknown0 ;
-	int				bitspersample ;
-	int				unknown1, unknown2 ;
-	int				poss_len ;
-	int				samplerate ;
-	int				channels ;
-} RAP_CHUNK ;
-
-
-/*------------------------------------------------------------------------------
- * Private static functions.
-*/
-
-static	int		smpltd_close	(SF_PRIVATE  *psf) ;
-
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int 	smpltd_open_read	(SF_PRIVATE *psf)
-{	RAP_CHUNK rap ;
-	
-	psf_binheader_readf (psf, "mm", &(rap.sekd), &(rap.samr)) ;
-	if (rap.sekd != SEKD_MARKER)
-		return SFE_SMTD_NO_SEKD ;
-	if (rap.samr != SAMR_MARKER)
-		return SFE_SMTD_NO_SAMR ;
-	
-/*-
-	printf ("Here we are!\n") ;	
-
-	printf ("unknown0        : %d\n", rap.unknown0) ;
-	printf ("bits per sample : %d\n", rap.bitspersample) ;
-	printf ("unknown1        : %d\n", rap.unknown1) ;
-	printf ("unknown2        : %d\n", rap.unknown2) ;
-	printf ("poss_len        : %d\n", rap.poss_len) ;
-	printf ("sample rate     : %d\n", rap.samplerate) ;
-	printf ("channels        : %d\n", rap.channels) ;
-		
--*/
-	psf->close = (func_close) smpltd_close ;
-
-	return 0 ;
-} /* smpltd_open_read */
-
-int 	
-smpltd_open_write	(SF_PRIVATE *psf)
-{	
-
-	return 0 ;
-} /* smpltd_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static int	
-smpltd_close	(SF_PRIVATE  *psf)
-{	
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can re-write 
-		**	correct values for the FORM, 8SVX and BODY chunks.
-		*/
-                
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-	
-	return 0 ;
-} /* smpltd_close */
-
--- a/common/libsndfile/src/sfendian.h
+++ /dev/null
@@ -1,86 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#include	"config.h"
-
-#if HAVE_ENDIAN_H
-	/* This is the best way to do it. Unfortunately Sparc Solaris (and
-	** possibly others) don't have <endian.h>
-	*/
-	#include	<endian.h>
-	#if (__BYTE_ORDER == __LITTLE_ENDIAN)
-		#define	CPU_IS_LITTLE_ENDIAN		1
-		#define	CPU_IS_BIG_ENDIAN			0
-	#elif (__BYTE_ORDER == __BIG_ENDIAN)
-		#define	CPU_IS_LITTLE_ENDIAN		0
-		#define	CPU_IS_BIG_ENDIAN			1
-	#else
-		#error "A bit confused about endian-ness! Have <endian.h> but not __BYTEORDER."
-	#endif
-#else
-	/* If we don't have <endian.h> use the guess based on target processor
-	** from the autoconf process.
-	*/
-	#if GUESS_LITTLE_ENDIAN
-		#define	CPU_IS_LITTLE_ENDIAN		1
-		#define	CPU_IS_BIG_ENDIAN			0
-	#elif GUESS_BIG_ENDIAN
-		#define	CPU_IS_LITTLE_ENDIAN		0
-		#define	CPU_IS_BIG_ENDIAN			1
-	#else
-		#error "Endian guess seems incorrect."
-	#endif
-#endif	
-
-#define		ENDSWAP_SHORT(x)			((((x)>>8)&0xFF)|(((x)&0xFF)<<8))
-#define		ENDSWAP_INT(x)				((((x)>>24)&0xFF)|(((x)>>8)&0xFF00)|(((x)&0xFF00)<<8)|(((x)&0xFF)<<24))
-
-#if (CPU_IS_LITTLE_ENDIAN == 1)
-	#define	H2LE_SHORT(x)				(x)
-	#define	H2LE_INT(x)					(x)
-	#define	LE2H_SHORT(x)				(x)
-	#define	LE2H_INT(x)					(x)
-
-	#define	BE2H_INT(x)					ENDSWAP_INT(x)
-	#define	BE2H_SHORT(x)				ENDSWAP_SHORT(x)
-	#define	H2BE_INT(x)					ENDSWAP_INT(x)
-	#define	H2BE_SHORT(x)				ENDSWAP_SHORT(x)
-
-#elif (CPU_IS_BIG_ENDIAN == 1)
-	#define	H2LE_SHORT(x)				ENDSWAP_SHORT(x)
-	#define	H2LE_INT(x)					ENDSWAP_INT(x)
-	#define	LE2H_SHORT(x)				ENDSWAP_SHORT(x)
-	#define	LE2H_INT(x)					ENDSWAP_INT(x)
-
-	#define	BE2H_INT(x)					(x)
-	#define	BE2H_SHORT(x)				(x)
-	#define	H2BE_INT(x)					(x)
-	#define	H2BE_SHORT(x)				(x)
-
-#else
-	#error "Cannot determine endian-ness of processor."
-#endif
-
-#if (CPU_IS_LITTLE_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		((a)|((b)<<8)|((c)<<16)|((d)<<24))
-#elif (CPU_IS_BIG_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		(((a)<<24)|((b)<<16)|((c)<<8)|(d))
-#else
-#	error "Cannot determine endian-ness of processor."
-#endif
-
--- a/common/libsndfile/src/sndfile.c
+++ /dev/null
@@ -1,1635 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<fcntl.h>
-#include	<string.h>
-#include	<ctype.h>
-#include	<math.h>
-
-/* For the Metrowerks CodeWarrior Pro Compiler (mainly MacOS) */
-
-#if	(defined (__MWERKS__))
-#include	<stat.h>
-#else
-#include	<sys/stat.h>
-#endif
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-#define		SNDFILE_MAGICK	0x1234C0DE
-
-typedef struct
-{	int 	error ;
-	char	*str ;
-} ErrorStruct ;
-
-static
-ErrorStruct SndfileErrors [] = 
-{ 
-	{	SFE_NO_ERROR			, "No Error." },
-	{	SFE_BAD_FILE			, "File does not exist or is not a regular file (possibly a pipe?)." },
-	{	SFE_OPEN_FAILED			, "Could not open file." },
-	{	SFE_BAD_OPEN_FORMAT		, "Bad format specified for file open." },
-	{	SFE_BAD_SNDFILE_PTR		, "Not a valid SNDFILE* pointer." },
-	{	SFE_BAD_SF_INFO_PTR		, "NULL SF_INFO pointer passed to libsndfile." },
-	{	SFE_BAD_INT_FD			, "Bad file descriptor." },
-	{	SFE_BAD_INT_PTR			, "Internal error, Bad pointer." },
-	{	SFE_MALLOC_FAILED		, "Internal malloc () failed." },
-	{	SFE_BAD_SEEK			, "Internal fseek() failed." },
-	{	SFE_NOT_SEEKABLE		, "Seek attempted on unseekable file type." },
-	{	SFE_UNIMPLEMENTED		, "File contains data in an unimplemented format." },
-	{	SFE_BAD_READ_ALIGN  	, "Attempt to read a non-integer number of channels." },
-	{	SFE_BAD_WRITE_ALIGN 	, "Attempt to write a non-integer number of channels." },
-	{	SFE_UNKNOWN_FORMAT		, "File contains data in an unknown format." },
-	{	SFE_NOT_READMODE		, "Read attempted on file currently open for write." },
-	{	SFE_NOT_WRITEMODE		, "Write attempted on file currently open for read." },
-	{	SFE_BAD_MODE_RW			, "This file format does not support read/write mode." },
-	{	SFE_BAD_SF_INFO			, "Internal error : SF_INFO struct incomplete." },
-
-	{	SFE_SHORT_READ			, "Short read error." },
-	{	SFE_SHORT_WRITE			, "Short write error." },
-	{	SFE_INTERNAL			, "Unspecified internal error." },
-	{	SFE_BAD_CONTROL_CMD		, "Bad command passed to function sf_command()." },
-	
-	{	SFE_WAV_NO_RIFF			, "Error in WAV file. No 'RIFF' chunk marker." },
-	{	SFE_WAV_NO_WAVE			, "Error in WAV file. No 'WAVE' chunk marker." },
-	{	SFE_WAV_NO_FMT			, "Error in WAV file. No 'fmt ' chunk marker." },
-	{	SFE_WAV_FMT_SHORT		, "Error in WAV file. Short 'fmt ' chunk." },
-
-	{	SFE_WAV_FMT_TOO_BIG		, "Error in WAV file. 'fmt ' chunk too large." },
-	{	SFE_WAV_BAD_FACT		, "Error in WAV file. 'fact' chunk out of place." },
-	{	SFE_WAV_BAD_PEAK		, "Error in WAV file. Bad 'PEAK' chunk." },
-	{	SFE_WAV_PEAK_B4_FMT		, "Error in WAV file. 'PEAK' chunk found before 'fmt ' chunk." },
-
-	{	SFE_WAV_BAD_FORMAT		, "Error in WAV file. Errors in 'fmt ' chunk." },
-	{	SFE_WAV_BAD_BLOCKALIGN	, "Error in WAV file. Block alignment in 'fmt ' chunk is incorrect." },
-	{	SFE_WAV_NO_DATA			, "Error in WAV file. No 'data' chunk marker." },
-	{	SFE_WAV_UNKNOWN_CHUNK	, "Error in WAV file. File contains an unknown chunk marker." },
-	
-	{	SFE_WAV_ADPCM_NOT4BIT	, "Error in ADPCM WAV file. Invalid bit width." },
-	{	SFE_WAV_ADPCM_CHANNELS	, "Error in ADPCM WAV file. Invalid number of channels." },
-	{	SFE_WAV_GSM610_FORMAT	, "Error in GSM610 WAV file. Invalid format chunk." },
-  
-	{	SFE_AIFF_NO_FORM		, "Error in AIFF file, bad 'FORM' marker." },
-	{	SFE_AIFF_AIFF_NO_FORM	, "Error in AIFF file, 'AIFF' marker without 'FORM'." },
-	{	SFE_AIFF_COMM_NO_FORM	, "Error in AIFF file, 'COMM' marker without 'FORM'." },
-	{	SFE_AIFF_SSND_NO_COMM	, "Error in AIFF file, 'SSND' marker without 'COMM'." },
-	{	SFE_AIFF_UNKNOWN_CHUNK	, "Error in AIFF file, unknown chunk." },
-	{	SFE_AIFF_COMM_CHUNK_SIZE, "Error in AIFF file, bad 'COMM' chunk size." },
-	{	SFE_AIFF_BAD_COMM_CHUNK , "Error in AIFF file, bad 'COMM' chunk." },
-	{	SFE_AIFF_PEAK_B4_COMM	, "Error in AIFF file. 'PEAK' chunk found before 'COMM' chunk." },
-	{	SFE_AIFF_BAD_PEAK		, "Error in AIFF file. Bad 'PEAK' chunk." },
-	{	SFE_AIFF_NO_SSND		, "Error in AIFF file, bad 'SSND' chunk." },
-	{	SFE_AIFF_NO_DATA		, "Error in AIFF file, no sound data." },
-	
-	{	SFE_AU_UNKNOWN_FORMAT	, "Error in AU file, unknown format." },
-	{	SFE_AU_NO_DOTSND		, "Error in AU file, missing '.snd' or 'dns.' marker." },
-
-	{	SFE_RAW_READ_BAD_SPEC	, "Error while opening RAW file for read. Must specify format, pcmbitwidth and channels." },
-	{	SFE_RAW_BAD_BITWIDTH	, "Error. RAW file bitwidth must be a multiple of 8." },
-
-	{	SFE_PAF_NO_MARKER		, "Error in PAF file, no marker." },
-	{	SFE_PAF_VERSION			, "Error in PAF file, bad version." }, 
-	{	SFE_PAF_UNKNOWN_FORMAT	, "Error in PAF file, unknown format." }, 
-	{	SFE_PAF_SHORT_HEADER	, "Error in PAF file. File shorter than minimal header." },
-	
-	{	SFE_SVX_NO_FORM			, "Error in 8SVX / 16SV file, no 'FORM' marker." }, 
-	{	SFE_SVX_NO_BODY			, "Error in 8SVX / 16SV file, no 'BODY' marker." }, 
-	{	SFE_SVX_NO_DATA			, "Error in 8SVX / 16SV file, no sound data." },
-	{	SFE_SVX_BAD_COMP		, "Error in 8SVX / 16SV file, unsupported compression format." },
-	
-	{	SFE_NIST_BAD_HEADER		, "Error in NIST file, bad header." },
-	{	SFE_NIST_BAD_ENCODING	, "Error in NIST file, unsupported compression format." },
-
-	{	SFE_SMTD_NO_SEKD		, "Error in Samplitude file, no 'SEKD' marker." },  
-	{	SFE_SMTD_NO_SAMR		, "Error in Samplitude file, no 'SAMR' marker." }, 
-
-	{	SFE_VOC_NO_CREATIVE		, "Error in VOC file, no 'Creative Voice File' marker." }, 
-	{	SFE_VOC_BAD_VERSION		, "Error in VOC file, bad version number." }, 
-	{	SFE_VOC_BAD_MARKER		, "Error in VOC file, bad marker in file." }, 
-
-	{	SFE_IRCAM_NO_MARKER		, "Error in IRCAM file, bad IRCAM marker." }, 
-	{	SFE_IRCAM_BAD_CHANNELS	, "Error in IRCAM file, bad channel count." }, 
-	{	SFE_IRCAM_UNKNOWN_FORMAT, "Error in IRCAM file, unknow encoding format." }, 
-
-	{	SFE_MAX_ERROR			, "Maximum error number." }
-} ;
-
-/*------------------------------------------------------------------------------
-*/
-
-static int 	does_extension_match (const char *ext, const char *test) ;
-static int 	is_au_snd_file (const char *filename) ;
-static int	guess_file_type (SF_PRIVATE *psf, const char *filename) ;
-static int	validate_sfinfo (SF_INFO *sfinfo) ;
-static int	validate_psf (SF_PRIVATE *psf) ;
-static void save_header_info (SF_PRIVATE *psf) ;
-static void	copy_filename (SF_PRIVATE *psf, const char *path) ;
-
-static int	hash_command (const char *cmd) ;
-
-/*------------------------------------------------------------------------------
-** Private (static) variables.
-*/
-
-static	int		sf_errno = 0 ;
-static	char	sf_logbuffer [SF_BUFFER_LEN] = { 0 } ;
-
-/*------------------------------------------------------------------------------
-*/
-
-#define	VALIDATE_SNDFILE_AND_ASSIGN_PSF(a,b)		\
-		{	if (! (a))								\
-				return SFE_BAD_SNDFILE_PTR ;		\
-			(b) = (SF_PRIVATE*) (a) ;				\
-			if (!((b)->file))						\
-				return SFE_BAD_INT_FD ;				\
-			if ((b)->Magick != SNDFILE_MAGICK)		\
-				return	SFE_BAD_SNDFILE_PTR ;		\
-			(b)->error = 0 ;						\
-			} 
-
-/*------------------------------------------------------------------------------
-**	Public functions.
-*/
-
-SNDFILE*
-sf_open_read	(const char *path, SF_INFO *sfinfo)
-{	SF_PRIVATE 	*psf ;
-	int			filetype ;
-	
-	if (! sfinfo)
-	{	sf_errno = SFE_BAD_SF_INFO_PTR ;
-		return	NULL ;
-		} ;
-		
-	sf_errno = 0 ;
-	sf_logbuffer [0] = 0 ;
-	
-	psf = malloc (sizeof (SF_PRIVATE)) ; 
-	if (! psf)
-	{	sf_errno = SFE_MALLOC_FAILED ;
-		return	NULL ;
-		} ;
-
-	memset (psf, 0, sizeof (SF_PRIVATE)) ;
-	psf->Magick = SNDFILE_MAGICK ;
-
-	if (! strcmp (path, "-"))
-	{	psf->file = stdin ;
-		psf->sf.seekable = SF_FALSE ;
-		}
-	else
-	{	/* fopen with 'b' means binary file mode for Win32 systems. */
-		if (! (psf->file = fopen (path, "rb")))
-		{	sf_errno = SFE_OPEN_FAILED ;
-			return NULL ;
-			} ;
-		psf->sf.seekable = SF_TRUE ;
-		} ;
-		 
-	if (! psf->file) 
-	{	sf_errno = SFE_OPEN_FAILED ;
-		sf_close (psf) ;
-		return NULL ;
-		} ;
-	
-	psf->mode = SF_MODE_READ ;
-	
-	psf_log_printf (psf, "%s\n", path) ;
-	if (psf->sf.seekable)
-	{	fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-		fseek (psf->file, 0, SEEK_SET) ;
-		psf_log_printf (psf, "size : %d\n", psf->filelength) ;
-		}
-	else
-		psf->filelength = 0x7FFF0000 ;  /* Stupidly big number. */
-	
-	copy_filename (psf, path) ;
-	
-	if ((sfinfo->format & SF_FORMAT_TYPEMASK) == SF_FORMAT_RAW && sfinfo->channels && sfinfo->pcmbitwidth)
-		filetype = SF_FORMAT_RAW ;
-	else
-	{	memset (sfinfo, 0, sizeof (SF_INFO)) ;
-		filetype = guess_file_type (psf, psf->filename) ;
-		} ;
-		
-	switch (filetype)
-	{	case	SF_FORMAT_WAV :
-				sf_errno = wav_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_AIFF :
-				sf_errno = aiff_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_AU :
-				sf_errno = au_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_RAW :
-				/* For RAW files, need the sfinfo struct data to
-				** figure out the bitwidth, endian-ness etc.
-				*/
-				memcpy (&(psf->sf), sfinfo, sizeof (SF_INFO)) ;
-				sf_errno = raw_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_PAF :
-				sf_errno = paf_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_SVX :
-				sf_errno = svx_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_NIST :
-				sf_errno = nist_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_SMPLTD :
-				sf_errno = smpltd_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_VOC :
-				sf_errno = voc_open_read (psf) ;
-				break ;
-
-		case	SF_FORMAT_IRCAM :
-				sf_errno = ircam_open_read (psf) ;
-				break ;
-
-		default :	
-				sf_errno = SFE_UNKNOWN_FORMAT ;
-		} ;
-	
-	/* Both the file format and the file must be seekable to enable sf_seek(). */
-	/*-psf->sf.seekable = (psf->sf.seekable && seekable) ? SF_TRUE : SF_FALSE ;-*/
-		
-	if (sf_errno)
-	{	save_header_info (psf) ;
-		sf_close (psf) ;
-		return NULL ;
-		} ;
-
-	if (! validate_sfinfo (&(psf->sf)))
-	{	psf_log_SF_INFO (psf) ;
-		save_header_info (psf) ;
-		sf_errno = SFE_BAD_SF_INFO ;
-		sf_close (psf) ;
-		return NULL ;
-		} ;
-		
-	if (! validate_psf (psf))
-	{	printf ("validate_psf\n") ;
-		save_header_info (psf) ;
-		sf_errno = SFE_INTERNAL ;
-		sf_close (psf) ;
-		return NULL ;
-		} ;
-		
-	memcpy (sfinfo, &(psf->sf), sizeof (SF_INFO)) ;
-
-	return (SNDFILE*) psf ;
-} /* sf_open_read */
-
-/*------------------------------------------------------------------------------
-*/
-
-SNDFILE*
-sf_open_write	(const char *path, const SF_INFO *sfinfo)
-{	SF_PRIVATE 	*psf ;
-	
-	if (! sfinfo)
-	{	sf_errno = SFE_BAD_SF_INFO_PTR ;
-		return	NULL ;
-		} ;
-		
-	if (! sf_format_check (sfinfo))
-	{	sf_errno = SFE_BAD_OPEN_FORMAT ;
-		return	NULL ;
-		} ;
-
-	sf_errno = 0 ;
-	sf_logbuffer [0] = 0 ;
-	
-	psf = malloc (sizeof (SF_PRIVATE)) ; 
-	if (! psf)
-	{	sf_errno = SFE_MALLOC_FAILED ;
-		return	NULL ;
-		} ;
-	
-	memset (psf, 0, sizeof (SF_PRIVATE)) ;
-	memcpy (&(psf->sf), sfinfo, sizeof (SF_INFO)) ;
-
-	psf->Magick = SNDFILE_MAGICK ;
-
-	if (! strcmp (path, "-"))
-	{	psf->file = stdout ;
-		psf->sf.seekable = SF_FALSE ;
-		}
-	else
-	{	/* fopen with 'b' means binary file mode for Win32 systems. */
-		if (! (psf->file = fopen (path, "wb")))		
-		{	sf_errno = SFE_OPEN_FAILED ;
-			sf_close (psf) ;
-			return NULL ;
-			} ;
-		} ;
-		
-	psf->mode = SF_MODE_WRITE ;
-	
-	psf->filelength = ftell (psf->file) ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	copy_filename (psf, path) ;
-	
-	switch (sfinfo->format & SF_FORMAT_TYPEMASK)
-	{	case	SF_FORMAT_WAV :
-				if ((sf_errno = wav_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		case	SF_FORMAT_AIFF :
-				if ((sf_errno = aiff_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		case	SF_FORMAT_AU :
-		case	SF_FORMAT_AULE :
-				if ((sf_errno = au_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-				
-		case    SF_FORMAT_RAW :
-				if ((sf_errno = raw_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		case    SF_FORMAT_PAF :
-				if ((sf_errno = paf_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		case    SF_FORMAT_SVX :
-				if ((sf_errno = svx_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		case	SF_FORMAT_NIST :
-				if ((sf_errno = nist_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		case	SF_FORMAT_IRCAM :
-				if ((sf_errno = ircam_open_write (psf)))
-				{	sf_close (psf) ;
-					return NULL ;
-					} ;
-				break ;
-
-		default :	
-				sf_errno = SFE_UNKNOWN_FORMAT ;
-				sf_close (psf) ;
-				return NULL ;
-		} ;				
-
-	return (SNDFILE*) psf ;
-} /* sf_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-int	
-sf_perror	(SNDFILE *sndfile)
-{	SF_PRIVATE 	*psf ;
-	int 		k, errnum ;
-
-	if (! sndfile)
-	{	errnum = sf_errno ;
-		}
-	else
-	{	VALIDATE_SNDFILE_AND_ASSIGN_PSF(sndfile,psf) ;
-		errnum = psf->error ;
-		} ;
-		
-	errnum = abs (errnum) ;
-	errnum = (errnum >= SFE_MAX_ERROR || errnum < 0) ? 0 : errnum ;
-
-	for (k = 0 ; SndfileErrors[k].str ; k++)
-		if (errnum == SndfileErrors[k].error)
-		{	fprintf (stderr, "%s\n", SndfileErrors[k].str) ;
-			return SFE_NO_ERROR ;
-			} ;
-	
-	fprintf (stderr, "No error string for error number %d.\n", errnum) ;
-	return SFE_NO_ERROR ;
-} /* sf_perror */
-
-
-/*------------------------------------------------------------------------------
-*/
-
-int	
-sf_error_str	(SNDFILE *sndfile, char *str, size_t maxlen)
-{	SF_PRIVATE 	*psf ;
-	int 		errnum, k ;
-
-	if (! sndfile)
-	{	errnum = sf_errno ;
-		}
-	else
-	{	VALIDATE_SNDFILE_AND_ASSIGN_PSF(sndfile,psf) ;
-		errnum = psf->error ;
-		} ;
-		
-	errnum = abs (errnum) ;
-	errnum = (errnum >= SFE_MAX_ERROR || errnum < 0) ? 0 : errnum ;
-
-	for (k = 0 ; SndfileErrors[k].str ; k++)
-		if (errnum == SndfileErrors[k].error)
-		{	if (str)
-			{	strncpy (str, SndfileErrors [errnum].str, maxlen) ;
-				str [maxlen-1] = 0 ;
-				} ;
-			return SFE_NO_ERROR ;
-			} ;
-			
-	if (str)
-	{	strncpy (str, "No error defined for this error number. This is a bug in libsndfile.", maxlen) ;		
-		str [maxlen-1] = 0 ;
-		} ;
-			
-	return SFE_NO_ERROR ;
-} /* sf_error_str */
-
-/*------------------------------------------------------------------------------
-*/
-
-int	
-sf_error_number	(int errnum, char *str, size_t maxlen)
-{	int 		k ;
-
-	errnum = abs (errnum) ;
-	errnum = (errnum >= SFE_MAX_ERROR || errnum < 0) ? 0 : errnum ;
-
-	for (k = 0 ; SndfileErrors[k].str ; k++)
-		if (errnum == SndfileErrors[k].error)
-		{	strncpy (str, SndfileErrors [errnum].str, maxlen) ;
-			str [maxlen-1] = 0 ;
-			return SFE_NO_ERROR ;
-			} ;
-			
-	strncpy (str, "No error defined for this error number. This is a bug in libsndfile.", maxlen) ;		
-	str [maxlen-1] = 0 ;
-			
-	return SFE_NO_ERROR ;
-} /* sf_error_number */
-
-/*------------------------------------------------------------------------------
-*/
-
-int
-sf_format_check	(const SF_INFO *info)
-{	int	subformat = info->format & SF_FORMAT_SUBMASK ;
-
-	/* This is the place where each file format can check if the suppiled
-	** SF_INFO struct is valid.
-	** Return 0 on failure, 1 ons success. 
-	*/
-	
-	if (info->channels < 1 || info->channels > 256)
-		return 0 ;
-
-	switch (info->format & SF_FORMAT_TYPEMASK)
-	{	case SF_FORMAT_WAV :
-				if (subformat == SF_FORMAT_PCM && (info->pcmbitwidth >= 8 && info->pcmbitwidth <= 32))
-					return 1 ;
-				if (subformat == SF_FORMAT_IMA_ADPCM && info->pcmbitwidth == 16 && info->channels <= 2)
-					return 1 ;
-				if (subformat == SF_FORMAT_MS_ADPCM && info->pcmbitwidth == 16 && info->channels <= 2)
-					return 1 ;
-				if (subformat == SF_FORMAT_GSM610 && info->pcmbitwidth == 16 && info->channels == 1)
-					return 1 ;
-				if (subformat == SF_FORMAT_ULAW || subformat == SF_FORMAT_ALAW)
-					return 1 ;
-				if (subformat == SF_FORMAT_FLOAT && info->pcmbitwidth == 32)
-					return 1 ;
-				break ;
-				
-		case SF_FORMAT_AIFF :
-				if (subformat == SF_FORMAT_PCM && (info->pcmbitwidth >= 8 && info->pcmbitwidth <= 32))
-					return 1 ;
-				if (subformat == SF_FORMAT_PCM_LE && (info->pcmbitwidth >= 8 && info->pcmbitwidth <= 32))
-					return 1 ;
-				if (subformat == SF_FORMAT_PCM_BE && (info->pcmbitwidth >= 8 && info->pcmbitwidth <= 32))
-					return 1 ;
-				if (subformat == SF_FORMAT_FLOAT && (info->pcmbitwidth == 32))
-					return 1 ;
-				break ;
-				
-		case SF_FORMAT_AU :
-		case SF_FORMAT_AULE :
-				if (subformat == SF_FORMAT_PCM && (info->pcmbitwidth >= 8 && info->pcmbitwidth <= 32))
-					return 1 ;
-				if (subformat == SF_FORMAT_ULAW || subformat == SF_FORMAT_ALAW)
-					return 1 ;
-				if (subformat == SF_FORMAT_G721_32 && info->channels == 1)
-					return 1 ;
-				if (subformat == SF_FORMAT_G723_24 && info->channels == 1)
-					return 1 ;
-				if (subformat == SF_FORMAT_FLOAT && (info->pcmbitwidth == 32))
-					return 1 ;
-				break ;
-				
-		case SF_FORMAT_RAW :
-				if (subformat == SF_FORMAT_PCM_S8 && info->pcmbitwidth == 8)
-					return 1 ;
-				if (subformat == SF_FORMAT_PCM_U8 && info->pcmbitwidth == 8)
-					return 1 ;
-				if (subformat != SF_FORMAT_PCM_BE && subformat != SF_FORMAT_PCM_LE)
-					break ;
-				if (! (info->pcmbitwidth % 8) && info->pcmbitwidth <= 32)
-					return 1 ;
-				break ;
-
-		case SF_FORMAT_PAF :
-				if (subformat == SF_FORMAT_PCM_S8 && info->pcmbitwidth == 8)
-					return 1 ;
-				if (subformat != SF_FORMAT_PCM_BE && subformat != SF_FORMAT_PCM_LE && subformat != SF_FORMAT_PCM)
-					break ;
-				if ((info->pcmbitwidth % 8) == 0 && info->pcmbitwidth <= 24)
-					return 1 ;
-				break ;
-
-		case SF_FORMAT_SVX :
-				if (subformat == SF_FORMAT_PCM && (info->pcmbitwidth == 8 || info->pcmbitwidth == 16))
-					return 1 ;
-				break ;
-
-		case SF_FORMAT_NIST :
-				if ((subformat == SF_FORMAT_PCM_BE || subformat == SF_FORMAT_PCM_LE || subformat == SF_FORMAT_PCM)
-						&& info->pcmbitwidth >= 16 && info->pcmbitwidth <= 32)
-					return 1 ;
-				break ;
-				
-		case SF_FORMAT_IRCAM :
-				if ((subformat == SF_FORMAT_PCM_BE || subformat == SF_FORMAT_PCM_LE || subformat == SF_FORMAT_PCM)
-						&& info->pcmbitwidth >= 16 && info->pcmbitwidth <= 32)
-					return 1 ;
-				if ((subformat == SF_FORMAT_FLOAT_BE || subformat == SF_FORMAT_FLOAT_LE || subformat == SF_FORMAT_FLOAT)
-						&& info->pcmbitwidth == 32)
-					return 1 ;
-				if (subformat == SF_FORMAT_ULAW || subformat == SF_FORMAT_ALAW)
-					return 1 ;
-				break ;
-				
-		default : break ;
-		} ;
-
-	return 0 ;
-} /* sf_format_check */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t
-sf_get_header_info	(SNDFILE *sndfile, char *buffer, size_t bufferlen, size_t offset)
-{	SF_PRIVATE	*psf ;
-	int			len ;
-	
-	if (! sndfile)
-	{	strncpy (buffer, sf_logbuffer, bufferlen - 1) ;
-		buffer [bufferlen - 1] = 0 ;
-		return strlen (sf_logbuffer) ;
-		} ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	len = strlen (psf->logbuffer) ;
-	if (offset < 0 || offset >= len)
-		return 0 ;
-	
-	strncpy (buffer, psf->logbuffer, bufferlen - 1) ;
-	buffer [bufferlen - 1] = 0 ;
-	
-	return strlen (psf->logbuffer) ;
-} /* sf_get_header_info */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_get_lib_version	(char *buffer, size_t bufferlen)
-{	if (! buffer || ! bufferlen)
-		return 0 ;
-
-	strncpy (buffer, PACKAGE "-" VERSION, bufferlen - 1) ;
-	buffer [bufferlen - 1] = 0 ;
-	
-	return strlen (buffer) ;
-} /* sf_get_lib_version */
-
-/*------------------------------------------------------------------------------
-*/
-
-int	
-sf_command	(SNDFILE *sndfile, const char *cmd, void *data, int datasize)
-{	SF_PRIVATE 		*psf ;
-	int command ;
-	
-	command = hash_command (cmd) ;
-	
-	if (command == SFC_LIB_VERSION) 
-	{	strncpy (data, PACKAGE "-" VERSION, datasize - 1) ;
-		((char*) data) [datasize - 1] = 0 ;
-		return strlen ((char*) data) ;
-		} ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	switch (command)
-	{	case 0 :
-			return (psf->error = SFE_BAD_CONTROL_CMD) ;
-			
-		case SFC_NORM_FLOAT :
-			if (! data)
-				return (psf->error = SFE_BAD_CONTROL_CMD) ;
-			if (! strcmp ("on", data))
-				psf->norm_float = SF_TRUE ;
-			else if (! strcmp ("off", data))
-				psf->norm_float = SF_FALSE ;
-			else
-				return (psf->error = SFE_BAD_CONTROL_CMD) ;
-			break ;		
-			
-		case SFC_NORM_DOUBLE :
-			if (! data)
-				return (psf->error = SFE_BAD_CONTROL_CMD) ;
-			if (! strcmp ("on", data))
-				psf->norm_double = SF_TRUE ;
-			else if (! strcmp ("off", data))
-				psf->norm_double = SF_FALSE ;
-			else
-				return (psf->error = SFE_BAD_CONTROL_CMD) ;
-			break ;		
-			
-		default :
-			/* Must be a file specific command. Pass it on. */
-			if (psf->command)
-				return psf->command (psf, command, data, datasize) ;
-
-			psf_log_printf (psf, "*** sf_command : cmd = %08X\n", command) ;
-			break ;
-		} ;
-
-	return 0 ;
-} /* sf_command */
-
-/*------------------------------------------------------------------------------
-*/
-
-double  
-sf_signal_max   (SNDFILE *sndfile)
-{	SF_PRIVATE 		*psf ;
-	long			position ;
-	unsigned int	k, len, readcount ;
-	double 			max = 0.0, *data, temp ;
-	
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	/* If the file has a PEAK chunk use that information. */
-	if (psf->has_peak)
-	{	for (k = 0 ; k < psf->sf.channels ; k++)
-			if (max < fabs (psf->peak.peak [k].value))
-				max = fabs (psf->peak.peak [k].value);
-		return max ;
-		} ;
-	
-	/* If the file is not seekable, there is nothing we can do. */
-	if (! psf->sf.seekable)
-	{	psf->error = SFE_NOT_SEEKABLE ;
-		return	0.0 ;
-		} ;
-		
-	if (! psf->read_double)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0.0 ;
-		} ;
-		
-	/* Brute force. Read the whole file and find the biggest sample. */
-	position = sf_seek (sndfile, 0, SEEK_CUR) ; /* Get current position in file */
-	sf_seek (sndfile, 0, SEEK_SET) ;			/* Go to start of file. */
-	
-	len = psf->sf.channels * 1024 ;
-	
-	data = malloc (len * sizeof (double)) ;
-	readcount = len ;
-	while (readcount == len)
-	{	readcount = sf_read_double (sndfile, data, len, 0) ;
-		for (k = 0 ; k < len ; k++)
-		{	temp = data [k] ;
-			temp = temp < 0.0 ? -temp : temp ;
-			max  = temp > max ? temp : max ;
-			} ;
-		} ;
-	free (data) ;
-	
-	sf_seek (sndfile, position, SEEK_SET) ;		/* Return to original position. */
-	
-	return	max ;
-} /* sf_signal_max */
-
-/*------------------------------------------------------------------------------
-*/
-
-long	
-sf_seek	(SNDFILE *sndfile, long offset, int whence)
-{	SF_PRIVATE 	*psf ;
-	long		realseek, position ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	if (! psf->sf.seekable)
-	{	psf->error = SFE_NOT_SEEKABLE ;
-		return	((long) -1) ;
-		} ;
-	
-	if (psf->seek_func)
-	{	psf->seek_func (psf, offset, whence) ;
-		return psf->current ;
-		} ;
-		
-	if (! (psf->blockwidth && psf->datalength && psf->dataoffset))
-	{	psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	switch (whence)
-	{	case SEEK_SET :
-				if (offset < 0 || offset * psf->blockwidth > psf->datalength)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				realseek = psf->dataoffset + offset * psf->blockwidth ;
-				fseek (psf->file, realseek, SEEK_SET) ;
-				position = ftell (psf->file) ;
-				break ;
-
-		case SEEK_CUR :
-				position = (ftell (psf->file) - psf->dataoffset) / psf->blockwidth ;
-				if (psf->current + offset > psf->sf.samples)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				realseek = psf->dataoffset + (position + offset) * psf->blockwidth ;
-				fseek (psf->file, realseek, SEEK_SET) ;
-				position = ftell (psf->file) ;
-				break ;
-
-		case SEEK_END :
-				if (offset > 0 || psf->sf.samples + offset < 0)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				realseek = (psf->sf.samples + offset) * psf->blockwidth + psf->dataoffset ;
-
-				fseek (psf->file, realseek, SEEK_SET) ;
-				position = ftell (psf->file) ;
-				break ;
-				
-		default : 
-				psf->error = SFE_BAD_SEEK ;
-				return	((long) -1) ;
-		} ;
-
-	psf->current = (position - psf->dataoffset) / psf->blockwidth ;
-	return psf->current ;
-} /* sf_seek */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t
-sf_read_raw		(SNDFILE *sndfile, void *ptr, size_t bytes)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return	0 ;
-		} ;
-	
-	if (psf->current >= psf->datalength)
-	{	memset (ptr, 0, bytes) ;
-		return 0 ;
-		} ;
-	
-	if (bytes % (psf->sf.channels * psf->bytewidth))
-	{	psf->error = SFE_BAD_READ_ALIGN ;
-		return 0 ;
-		} ;
-	
-	count = fread (ptr, 1, bytes, psf->file) ;
-		
-	if (count < bytes)
-		memset (((char*)ptr) + count, 0, bytes - count) ;
-
-	psf->current += count / psf->blockwidth ;
-	
-	return count ;
-} /* sf_read_raw */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t
-sf_read_short		(SNDFILE *sndfile, short *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_READ_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, len * sizeof (short)) ;
-		return 0 ; /* End of file. */
-		} ;
-
-	if (! psf->read_short)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0 ;
-		} ;
-		
-	count = psf->read_short (psf, ptr, len) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = len - count ;
-		memset (ptr + count, 0, extra * sizeof (short)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_read_short */
-
-size_t
-sf_readf_short		(SNDFILE *sndfile, short *ptr, size_t frames)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, frames * psf->sf.channels * sizeof (short)) ;
-		return 0 ; /* End of file. */
-		} ;
-
-	if (! psf->read_short)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->read_short (psf, ptr, frames * psf->sf.channels) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra =  frames * psf->sf.channels - count ;
-		memset (ptr + count, 0, extra * sizeof (short)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_readf_short */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_read_int		(SNDFILE *sndfile, int *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF   (sndfile,psf) ;
-
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_READ_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, len * sizeof (int)) ;
-		return 0 ;
-		} ;
-
-	if (! psf->read_int)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->read_int (psf, ptr, len) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = len - count ;
-		memset (ptr + count, 0, extra * sizeof (int)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_read_int */
-
-size_t	
-sf_readf_int		(SNDFILE *sndfile, int *ptr, size_t frames)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF   (sndfile,psf) ;
-
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, frames * psf->sf.channels * sizeof (int)) ;
-		return 0 ;
-		} ;
-
-	if (! psf->read_int)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0 ;
-		} ;
-		
-	count = psf->read_int (psf, ptr, frames * psf->sf.channels) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = frames * psf->sf.channels - count ;
-		memset (ptr + count, 0, extra * sizeof (int)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_readf_int */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_read_float		(SNDFILE *sndfile, float *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF   (sndfile,psf) ;
-
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_READ_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, len * sizeof (float)) ;
-		return 0 ;
-		} ;
-
-	if (! psf->read_float)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0 ;
-		} ;
-		
-	count = psf->read_float (psf, ptr, len) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = len - count ;
-		memset (ptr + count, 0, extra * sizeof (float)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_read_float */
-
-size_t	
-sf_readf_float		(SNDFILE *sndfile, float *ptr, size_t frames)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF   (sndfile,psf) ;
-
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, frames * psf->sf.channels * sizeof (float)) ;
-		return 0 ;
-		} ;
-
-	if (! psf->read_float)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0 ;
-		} ;
-		
-	count = psf->read_float (psf, ptr, frames * psf->sf.channels) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = frames * psf->sf.channels - count ;
-		memset (ptr + count, 0, extra * sizeof (float)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_readf_float */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_read_double	(SNDFILE *sndfile, double *ptr, size_t len, int normalize)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_READ_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, len * sizeof (double)) ;
-		return 0 ;
-		} ;
-		
-	if (! psf->read_double)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0 ;
-		} ;
-		
-	count = psf->read_double (psf, ptr, len, normalize) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = len - count ;
-		memset (ptr + count, 0, extra * sizeof (double)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_read_double */
-
-size_t	
-sf_readf_double	(SNDFILE *sndfile, double *ptr, size_t frames, int normalize)
-{	SF_PRIVATE 	*psf ;
-	size_t		count, extra ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-	
-	if (psf->mode != SF_MODE_READ)
-	{	psf->error = SFE_NOT_READMODE ;
-		return 0 ;
-		} ;
-	
-	if (psf->current >= psf->sf.samples)
-	{	memset (ptr, 0, frames * psf->sf.channels * sizeof (double)) ;
-		return 0 ;
-		} ;
-		
-	if (! psf->read_double)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return	0 ;
-		} ;
-		
-	count = psf->read_double (psf, ptr, frames * psf->sf.channels, normalize) ;
-	
-	if (psf->current + count / psf->sf.channels > psf->sf.samples)
-	{	count = (psf->sf.samples - psf->current) * psf->sf.channels ;
-		extra = frames * psf->sf.channels - count ;
-		memset (ptr + count, 0, extra * sizeof (double)) ;
-		psf->current = psf->sf.samples ;
-		} ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_readf_double */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_write_raw	(SNDFILE *sndfile, void *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % (psf->sf.channels * psf->bytewidth))
-	{	psf->error = SFE_BAD_WRITE_ALIGN ;
-		return 0 ;
-		} ;
-	
-	count = fwrite (ptr, 1, len, psf->file) ;
-	
-	psf->current += count / psf->blockwidth ;
-	
-	return count ;
-} /* sf_write_raw */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_write_short		(SNDFILE *sndfile, short *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_WRITE_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_short)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_short (sndfile, ptr, len) ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_write_short */
-
-size_t	
-sf_writef_short		(SNDFILE *sndfile, short *ptr, size_t frames)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_short)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_short (sndfile, ptr, frames * psf->sf.channels) ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_writef_short */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_write_int		(SNDFILE *sndfile, int *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_WRITE_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_int)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_int (sndfile, ptr, len) ;
-
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_write_int */
-
-size_t	
-sf_writef_int		(SNDFILE *sndfile, int *ptr, size_t frames)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_int)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_int (sndfile, ptr, frames * psf->sf.channels) ;
-
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_writef_int */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_write_float		(SNDFILE *sndfile, float *ptr, size_t len)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_WRITE_ALIGN ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_float)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_float (sndfile, ptr, len) ;
-
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_write_float */
-
-size_t	
-sf_writef_float		(SNDFILE *sndfile, float *ptr, size_t frames)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_float)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_float (sndfile, ptr, frames * psf->sf.channels) ;
-
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_writef_float */
-
-/*------------------------------------------------------------------------------
-*/
-
-size_t	
-sf_write_double		(SNDFILE *sndfile, double *ptr, size_t len, int normalize)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (len % psf->sf.channels)
-	{	psf->error = SFE_BAD_WRITE_ALIGN ;
-		return	0 ;
-		} ;
-		
-	if (! psf->write_double)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_double (sndfile, ptr, len, normalize) ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count ;
-} /* sf_write_double */
-
-size_t	
-sf_writef_double		(SNDFILE *sndfile, double *ptr, size_t frames, int normalize)
-{	SF_PRIVATE 	*psf ;
-	size_t		count ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->mode != SF_MODE_WRITE)
-	{	psf->error = SFE_NOT_WRITEMODE ;
-		return 0 ;
-		} ;
-	
-	if (! psf->write_double)
-	{	psf->error = SFE_UNIMPLEMENTED ;
-		return 0 ;
-		} ;
-		
-	count = psf->write_double (sndfile, ptr, frames * psf->sf.channels, normalize) ;
-	
-	psf->current += count / psf->sf.channels ;
-	
-	return count / psf->sf.channels ;
-} /* sf_writef_double */
-
-/*------------------------------------------------------------------------------
-*/
-
-int	
-sf_close	(SNDFILE *sndfile)
-{	SF_PRIVATE  *psf ;
-	int			error ;
-
-	VALIDATE_SNDFILE_AND_ASSIGN_PSF (sndfile, psf) ;
-
-	if (psf->close)
-		error = psf->close (psf) ;
-	
-	fclose (psf->file) ;
-	memset (psf, 0, sizeof (SF_PRIVATE)) ;
-		
-	free (psf) ;
-
-	return 0 ;
-} /* sf_close */
-
-
-/*=========================================================================
-** Private functions.
-*/
-
-static int 
-does_extension_match (const char *ext, const char *test)
-{	char c1, c2 ;
-
-	if ((! ext) || (! test))
-		return 0 ;
-
-	if (strlen (ext) != strlen (test))
-		return 0 ;
-
-	while (*ext && *test)
-	{	c1 = tolower (*ext) ;
-		c2 = tolower (*test) ;
-		if (c1 > c2)
-			return 0 ;
-		if (c1 < c2)
-			return 0 ;
-		ext ++ ;
-		test ++ ;
-		} 
-
-	return 1 ;
-} /* does_extension_match */
-
-static int 
-is_au_snd_file (const char *filename)
-{	const char *cptr ;
-
-	if (! (cptr = strrchr (filename, '.')))
-		return 0 ;
-	cptr ++ ;
-	
-	if (does_extension_match (cptr, "au"))
-		return 1 ;
-		
-	if (does_extension_match (cptr, "snd"))
-		return 1 ;
-		
-	return 0 ;
-} /* is_au_snd_file */
-
-static int 
-guess_file_type (SF_PRIVATE *psf, const char *filename)
-{	unsigned int buffer [3] ;
-
-	psf_binheader_readf (psf, "B", &buffer, sizeof (buffer)) ;
-
-	if (buffer [0] == MAKE_MARKER ('R','I','F','F') && buffer [2] == MAKE_MARKER ('W','A','V','E'))
-		return SF_FORMAT_WAV ;
-		
-	if (buffer [0] == MAKE_MARKER ('F','O','R','M'))
-	{	if (buffer [2] == MAKE_MARKER ('A','I','F','F') || buffer [2] == MAKE_MARKER ('A','I','F','C'))
-			return SF_FORMAT_AIFF ;
-		if (buffer [2] == MAKE_MARKER ('8','S','V','X') || buffer [2] == MAKE_MARKER ('1','6','S','V'))
-			return SF_FORMAT_SVX ;
-		return 0 ;
-		} ;
-		
-	if ((buffer [0] == MAKE_MARKER ('.','s','n','d') || buffer [0] == MAKE_MARKER ('d','n','s','.')))
-		return SF_FORMAT_AU ;
-		
-	if ((buffer [0] == MAKE_MARKER ('f','a','p',' ') || buffer [0] == MAKE_MARKER (' ','p','a','f')))
-		return SF_FORMAT_PAF ;
-	
-	if (buffer [0] == MAKE_MARKER ('N','I','S','T'))
-		return SF_FORMAT_NIST ;
-		
-	if (buffer [0] == MAKE_MARKER ('S','E','K','D') && buffer [1] == MAKE_MARKER ('S','A','M','R'))
-		return SF_FORMAT_SMPLTD ;
-		
-	if (buffer [0] == MAKE_MARKER ('C','r','e','a') && buffer [1] == MAKE_MARKER ('t','i','v','e'))
-		return SF_FORMAT_VOC ;
-		
-	if ((buffer [0] & MAKE_MARKER (0xFF, 0xFF, 0xF8, 0xFF)) == MAKE_MARKER (0x64, 0xA3, 0x00, 0x00) || 
-		(buffer [0] & MAKE_MARKER (0xFF, 0xF8, 0xFF, 0xFF)) == MAKE_MARKER (0x00, 0x00, 0xA3, 0x64))
-		return SF_FORMAT_IRCAM ;
-		
-	if (buffer [0] == MAKE_MARKER ('C', 'A', 'T', ' ') && buffer [2] == MAKE_MARKER ('R', 'E', 'X', '2'))
-		return SF_FORMAT_REX2 ;
-
-	if (buffer [0] == MAKE_MARKER (0x30, 0x26, 0xB2, 0x75) && buffer [1] == MAKE_MARKER (0x8E, 0x66, 0xCF, 0x11))
-		return SF_FORMAT_WMA ;
-
-	/* This must be the last one. */		
-	if (filename && is_au_snd_file (filename))
-		return SF_FORMAT_AU | SF_FORMAT_ULAW ;
-
-	/* Default to header-less RAW PCM file type. */
-	return SF_FORMAT_RAW ;
-} /* guess_file_type */
-
-
-static int 
-validate_sfinfo (SF_INFO *sfinfo)
-{	if (! sfinfo->samplerate)
-		return 0 ;	
-	if (! sfinfo->samples)
-		return 0 ;	
-	if (! sfinfo->channels)
-		return 0 ;	
-	if (! sfinfo->pcmbitwidth)
-		return 0 ;	
-	if (! sfinfo->format & SF_FORMAT_TYPEMASK)
-		return 0 ;	
-	if (! sfinfo->format & SF_FORMAT_SUBMASK)
-		return 0 ;	
-	if (! sfinfo->sections)
-		return 0 ;	
-	return 1 ;
-} /* validate_sfinfo */
-
-static int
-validate_psf (SF_PRIVATE *psf)
-{	if (! psf->blockwidth)
-		return 0 ;	
-	if (! psf->bytewidth)
-		return 0 ;	
-	if (! psf->datalength)
-		return 0 ;
-	if (psf->blockwidth != psf->sf.channels * psf->bytewidth)
-		return 0 ;	
-	return 1 ;
-} /* validate_psf */
-
-static void 
-save_header_info (SF_PRIVATE *psf)
-{	memset (sf_logbuffer, 0, sizeof (sf_logbuffer)) ;
-	strncpy (sf_logbuffer, psf->logbuffer, sizeof (sf_logbuffer)) ;
-} /* save_header_info */
-
-static void 
-copy_filename (SF_PRIVATE *psf, const char *path)
-{	const char *cptr ;
-
-	if ((cptr = strrchr (path, '/')) || (cptr = strrchr (path, '\\')))
-		cptr ++ ;
-	else
-		cptr = path ;
-		
-	memset (psf->filename, 0, SF_FILENAME_LEN) ;
-	strncpy (psf->filename, cptr, SF_FILENAME_LEN - 1) ;
-	psf->filename [SF_FILENAME_LEN - 1] = 0 ;
-} /* copy_filename */
-
-static int	
-hash_command (const char *cmd)
-{	int	hash = 0 ;
-
-	if (! cmd)
-		return 0 ;
-
-	while (*cmd)
-	{	hash = (hash<<1) ^ *cmd ;
-		cmd ++ ;
-		} ;
-		
-	return hash ;
-} /* hash_command */
-
--- a/common/libsndfile/src/sndfile.h
+++ /dev/null
@@ -1,238 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/* sndfile.h -- system-wide definitions */
-
-#ifndef SNDFILE_H
-#define SNDFILE_H
-
-#include	<stdio.h>
-#include	<stdlib.h>
-
-/* For the Metrowerks CodeWarrior Pro Compiler (mainly MacOS) */
-
-#if	(defined (__MWERKS__))
-#include	<unix.h>
-#else
-#include	<sys/types.h>
-#endif
-
-#if defined (_WIN32)
-	#pragma pack(push,1)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif	/* __cplusplus */
-
-/* The following file types can be read and written.
-** A file type would consist of a major type (ie SF_FORMAT_WAV) bitwise
-** ORed with a minor type (ie SF_FORMAT_PCM). SF_FORMAT_TYPEMASK and
-** SF_FORMAT_SUBMASK can be used to separate the major and minor file
-** types.
-*/
-
-enum
-{	SF_FORMAT_WAV		= 0x10000,		/* Microsoft WAV format (little endian). */
-	SF_FORMAT_AIFF		= 0x20000,		/* Apple/SGI AIFF format (big endian). */
-	SF_FORMAT_AU		= 0x30000,		/* Sun/NeXT AU format (big endian). */
-	SF_FORMAT_AULE		= 0x40000,		/* DEC AU format (little endian). */
-	SF_FORMAT_RAW		= 0x50000,		/* RAW PCM data. */
-	SF_FORMAT_PAF		= 0x60000,		/* Ensoniq PARIS file format. */
-	SF_FORMAT_SVX		= 0x70000,		/* Amiga IFF / SVX8 / SV16 format. */
-	SF_FORMAT_NIST		= 0x80000,		/* Sphere NIST format. */
-	SF_FORMAT_WMA		= 0x90000,		/* Windows Media Audio. */
-	SF_FORMAT_SMPLTD	= 0xA0000,		/* Sekd Samplitude. */
-	SF_FORMAT_VOC		= 0xB0000,		/* VOC files. */
-	SF_FORMAT_SD2		= 0xC0000,		/* Sound Designer 2 */
-	SF_FORMAT_REX2		= 0xD0000,		/* Propellorheads Rex2 */
-	SF_FORMAT_IRCAM		= 0xE0000,		/* Berkeley/IRCAM/CARL */
-	
-	/* Subtypes from here on. */
-	
-	SF_FORMAT_PCM		= 0x0001,		/* PCM data in 8, 16, 24 or 32 bits. */
-	SF_FORMAT_FLOAT		= 0x0002,		/* 32 bit floats. */
-	SF_FORMAT_ULAW		= 0x0003,		/* U-Law encoded. */
-	SF_FORMAT_ALAW		= 0x0004,		/* A-Law encoded. */
-	SF_FORMAT_IMA_ADPCM = 0x0005,		/* IMA ADPCM. */
-	SF_FORMAT_MS_ADPCM  = 0x0006,		/* Microsoft ADPCM. */
-
-	SF_FORMAT_PCM_BE	= 0x0007,		/* Big endian PCM data. */
-	SF_FORMAT_PCM_LE  	= 0x0008,		/* Little endian PCM data. */
-	SF_FORMAT_PCM_S8	= 0x0009,		/* Signed 8 bit PCM. */
-	SF_FORMAT_PCM_U8  	= 0x000A,		/* Unsigned 8 bit PCM. */
-	
-	SF_FORMAT_SVX_FIB	= 0x000B, 		/* SVX Fibonacci Delta encoding. */
-	SF_FORMAT_SVX_EXP	= 0x000C, 		/* SVX Exponential Delta encoding. */
-
-	SF_FORMAT_GSM610	= 0x000D, 		/* GSM 6.10 encoding. */
-
-	SF_FORMAT_G721_32	= 0x000E, 		/* 32kbs G721 ADPCM encoding. */
-	SF_FORMAT_G723_24	= 0x000F, 		/* 24kbs G723 ADPCM encoding. */
-
-	SF_FORMAT_FLOAT_BE	= 0x0010,		/* Big endian FLOAT data. */
-	SF_FORMAT_FLOAT_LE  = 0x0011,		/* Little endian FLOAT data. */
-
-	SF_FORMAT_SUBMASK	= 0xFFFF,		
-	SF_FORMAT_TYPEMASK	= 0x7FFF0000
-} ;
-
-/* The following SF_FORMAT_RAW_* identifiers are deprecated. Use the
-** SF_FORMAT_PCM_* identifiers instead.
-*/
-#define	SF_FORMAT_RAW_BE	SF_FORMAT_PCM_BE
-#define	SF_FORMAT_RAW_LE	SF_FORMAT_PCM_LE
-#define	SF_FORMAT_RAW_S8	SF_FORMAT_PCM_S8
-#define	SF_FORMAT_RAW_U8	SF_FORMAT_PCM_U8
-
-/* A SNDFILE* pointer can be passed around much like stdio.h's FILE* pointer. */
-
-typedef	void	SNDFILE ;
-
-/* A pointer to a SF_INFO structure is passed to sf_open_read () and filled in. 
-** On write, the SF_INFO structure is filled in by the user and passed into  
-** sf_open_write ().
-*/
-
-typedef	struct
-{	unsigned int	samplerate ;
-	unsigned int	samples ;
-	unsigned int	channels ;
-	unsigned int	pcmbitwidth ;  /* pcmbitwidth is deprecated. */
-	unsigned int	format ;
-	unsigned int	sections ;
-	unsigned int	seekable ;
-} SF_INFO ;
-
-/* Open the specified file for read or write. On error, this will return 
-** a NULL pointer. To find the error number, pass a NULL SNDFILE to
-** sf_perror () or sf_error_str ().
-*/
-
-SNDFILE* 	sf_open_read	(const char *path, SF_INFO *sfinfo) ;
-SNDFILE* 	sf_open_write	(const char *path, const SF_INFO *sfinfo) ;
-
-/* sf_perror () prints out the current error state.
-** sf_error_str () returns the current error message to the caller in the 
-** string buffer provided. 
-*/
-
-int		sf_perror		(SNDFILE *sndfile) ;
-int		sf_error_str	(SNDFILE *sndfile, char* str, size_t len) ;
-
-int		sf_error_number	(int errnum, char *str, size_t maxlen) ;
-
-
-size_t	sf_get_header_info	(SNDFILE *sndfile, char* buffer, size_t bufferlen, size_t offset) ;
-
-/* Get the library version string. */
-
-size_t	sf_get_lib_version	(char* buffer, size_t bufferlen) ;
-
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */
-
-int		sf_command	(SNDFILE *sndfile, const char *cmd, void *data, int datasize) ;
-
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */
-
-int		sf_format_check	(const SF_INFO *info) ;
-
-/* Return the maximum absolute sample value in the SNDFILE. */
-
-double	sf_signal_max	(SNDFILE *sndfile) ;
-
-/* Seek within the waveform data chunk of the SNDFILE. sf_seek () uses 
-** the same values for whence (SEEK_SET, SEEK_CUR and SEEK_END) as
-** stdio.h functions lseek () and fseek ().
-** An offset of zero with whence set to SEEK_SET will position the 
-** read / write pointer to the first data sample.
-** On success sf_seek returns the current position in (multi-channel) 
-** samples from the start of the file.
-** On error sf_seek returns -1.
-*/
-
-long	sf_seek 		(SNDFILE *sndfile, long frames, int whence) ;
-
-/* Functions for reading/writing the waveform data of a sound file.
-*/
-
-size_t	sf_read_raw		(SNDFILE *sndfile, void *ptr, size_t bytes) ;
-size_t	sf_write_raw 	(SNDFILE *sndfile, void *ptr, size_t bytes) ;
-
-/* Functions for reading and writing the data chunk in terms of frames. 
-** The number of items actually read/written = frames * number of channels.
-**     sf_xxxx_raw		read/writes the raw data bytes from/to the file
-**     sf_xxxx_uchar	passes data in the unsigned char format
-**     sf_xxxx_char		passes data in the signed char format
-**     sf_xxxx_short	passes data in the native short format
-**     sf_xxxx_int		passes data in the native int format
-**     sf_xxxx_float	passes data in the native float format
-**     sf_xxxx_double	passes data in the native double format
-** For the double format, if the normalize flag is TRUE, the read/write 
-** operations will use floats/doubles in the rangs [-1.0 .. 1.0] to 
-** represent the minimum and maximum values of the waveform irrespective
-** of the bitwidth of the input/output file.
-** All of these read/write function return number of frames read/written.
-*/
-
-size_t	sf_readf_short	(SNDFILE *sndfile, short *ptr, size_t frames) ;
-size_t	sf_writef_short	(SNDFILE *sndfile, short *ptr, size_t frames) ;
-
-size_t	sf_readf_int	(SNDFILE *sndfile, int *ptr, size_t frames) ;
-size_t	sf_writef_int 	(SNDFILE *sndfile, int *ptr, size_t frames) ;
-
-size_t	sf_readf_float	(SNDFILE *sndfile, float *ptr, size_t frames) ;
-size_t	sf_writef_float	(SNDFILE *sndfile, float *ptr, size_t frames) ;
-
-size_t	sf_readf_double	(SNDFILE *sndfile, double *ptr, size_t frames, int normalize) ;
-size_t	sf_writef_double(SNDFILE *sndfile, double *ptr, size_t frames, int normalize) ;
-
-/* Functions for reading and writing the data chunk in terms of items. 
-** Otherwise similar to above.
-** All of these read/write function return number of items read/written.
-*/
-
-size_t	sf_read_short	(SNDFILE *sndfile, short *ptr, size_t items) ;
-size_t	sf_write_short	(SNDFILE *sndfile, short *ptr, size_t items) ;
-
-size_t	sf_read_int		(SNDFILE *sndfile, int *ptr, size_t items) ;
-size_t	sf_write_int 	(SNDFILE *sndfile, int *ptr, size_t items) ;
-
-size_t	sf_read_float	(SNDFILE *sndfile, float *ptr, size_t items) ;
-size_t	sf_write_float	(SNDFILE *sndfile, float *ptr, size_t items) ;
-
-size_t	sf_read_double	(SNDFILE *sndfile, double *ptr, size_t items, int normalize) ;
-size_t	sf_write_double	(SNDFILE *sndfile, double *ptr, size_t items, int normalize) ;
-
-/* Close the SNDFILE. Returns 0 on success, or an error number. */
-
-int		sf_close		(SNDFILE *sndfile) ;
-
-#ifdef __cplusplus
-}		/* extern "C" */
-#endif	/* __cplusplus */
-
-#ifdef _WIN32
-	#pragma pack(pop,1)
-#endif
-
-#endif	/* SNDFILE_H */
-
-
-
-
--- a/common/libsndfile/src/stamp-h.in
+++ /dev/null
@@ -1,1 +1,0 @@
-timestamp
--- a/common/libsndfile/src/svx.c
+++ /dev/null
@@ -1,395 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<ctype.h>
-#include	<stdarg.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-
-/*------------------------------------------------------------------------------
- * Macros to handle big/little endian issues.
-*/
-
-#define FORM_MARKER	(MAKE_MARKER ('F', 'O', 'R', 'M'))
-#define SVX8_MARKER	(MAKE_MARKER ('8', 'S', 'V', 'X'))
-#define SV16_MARKER	(MAKE_MARKER ('1', '6', 'S', 'V'))
-#define VHDR_MARKER	(MAKE_MARKER ('V', 'H', 'D', 'R'))
-#define BODY_MARKER	(MAKE_MARKER ('B', 'O', 'D', 'Y')) 
- 
-#define ATAK_MARKER	(MAKE_MARKER ('A','T','A','K'))
-#define RLSE_MARKER	(MAKE_MARKER ('R','L','S','E'))
-
-#define c_MARKER	(MAKE_MARKER ('(', 'c', ')', ' ')) 
-#define NAME_MARKER	(MAKE_MARKER ('N', 'A', 'M', 'E')) 
-#define AUTH_MARKER	(MAKE_MARKER ('A', 'U', 'T', 'H')) 
-#define ANNO_MARKER	(MAKE_MARKER ('A', 'N', 'N', 'O')) 
-#define CHAN_MARKER	(MAKE_MARKER ('C', 'H', 'A', 'N')) 
-
-/*------------------------------------------------------------------------------
- * Typedefs for file chunks.
-*/
-
-typedef struct
-{	unsigned int	oneShotHiSamples, repeatHiSamples, samplesPerHiCycle ;
-	unsigned short	samplesPerSec ;
-	unsigned char	octave, compression ;
-	unsigned int	volume ;
-} VHDR_CHUNK ;
-
-enum {
-	HAVE_FORM	= 0x01,
-	
-	HAVE_SVX	= 0x02,
-	HAVE_VHDR	= 0x04,
-	HAVE_BODY	= 0x08
-} ;
-
-/*------------------------------------------------------------------------------
- * Private static functions.
-*/
-
-static int		svx_close	(SF_PRIVATE  *psf) ;
-static int		svx_write_header (SF_PRIVATE *psf) ;
-
-/*
-static void 	endswap_vhdr_chunk (VHDR_CHUNK *vhdr) ;
-*/
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int 	
-svx_open_read	(SF_PRIVATE *psf)
-{	VHDR_CHUNK		vhdr ;
-	unsigned int	FORMsize, vhdrsize, dword, marker ;
-	int				filetype = 0, parsestage = 0, done = 0, error ;
-	int 			bytecount = 0, channels ;
-
-	psf_binheader_readf (psf, "p", 0) ;
-	
-	/* Set default number of channels. */
-	psf->sf.channels = 1 ;
-
-	while (! done)
-	{	psf_binheader_readf (psf, "m", &marker) ;
-		switch (marker)
-		{	case FORM_MARKER :
-					if (parsestage)
-						return SFE_SVX_NO_FORM ;
-
-					psf_binheader_readf (psf, "L", &FORMsize) ;
-
-					if (FORMsize != psf->filelength - 2 * sizeof (dword))
-					{	dword = psf->filelength - 2 * sizeof (dword);
-						psf_log_printf (psf, "FORM : %d (should be %d)\n", FORMsize, dword) ;
-						FORMsize = dword ;
-						}
-					else
-						psf_log_printf (psf, "FORM : %d\n", FORMsize) ;
-					parsestage |= HAVE_FORM ;
-					break ;
-
-			case SVX8_MARKER :
-			case SV16_MARKER :
-					if (! (parsestage & HAVE_FORM))
-						return SFE_SVX_NO_FORM ;
-					filetype = marker ;
-					psf_log_printf (psf, " %D\n", marker) ;
-					parsestage |= HAVE_SVX ;
-					break ;
-
-			case VHDR_MARKER :
-					if (! (parsestage & (HAVE_FORM | HAVE_SVX)))
-						return SFE_SVX_NO_FORM ;
-					
-					psf_binheader_readf (psf, "L", &vhdrsize) ;
-
-					psf_log_printf (psf, " VHDR : %d\n", vhdrsize) ;
-
-					psf_binheader_readf (psf, "LLLWbbL", &(vhdr.oneShotHiSamples), &(vhdr.repeatHiSamples), 
-						&(vhdr.samplesPerHiCycle), &(vhdr.samplesPerSec), &(vhdr.octave), &(vhdr.compression),
-						&(vhdr.volume)) ;
-
-					psf_log_printf (psf, "  OneShotHiSamples  : %d\n", vhdr.oneShotHiSamples) ;
-					psf_log_printf (psf, "  RepeatHiSamples   : %d\n", vhdr.repeatHiSamples) ;
-					psf_log_printf (psf, "  samplesPerHiCycle : %d\n", vhdr.samplesPerHiCycle) ;
-					psf_log_printf (psf, "  Sample Rate       : %d\n", vhdr.samplesPerSec) ;
-					psf_log_printf (psf, "  Octave            : %d\n", vhdr.octave) ;
-
-					psf_log_printf (psf, "  Compression       : %d => ", vhdr.compression) ;
-					
-					switch (vhdr.compression)
-					{	case 0 : psf_log_printf (psf, "None.\n") ;
-								break ;
-						case 1 : psf_log_printf (psf, "Fibonacci delta\n") ;
-								break ;
-						case 2 : psf_log_printf (psf, "Exponential delta\n") ;
-								break ;
-						} ;
-
-					psf_log_printf (psf, "  Volume            : %d\n", vhdr.volume) ;
-
-					psf->sf.samplerate 	= vhdr.samplesPerSec ;
-
-					if (filetype == SVX8_MARKER)
-						psf->sf.pcmbitwidth = 8 ;
-					else if (filetype == SV16_MARKER)
-						psf->sf.pcmbitwidth = 16 ;
-						
-					parsestage |= HAVE_VHDR ;
-					break ;
-
-			case BODY_MARKER :
-					if (! (parsestage & HAVE_VHDR))
-						return SFE_SVX_NO_BODY ;
-					
-					psf_binheader_readf (psf, "L", &(psf->datalength)) ;
-					psf->dataoffset = ftell (psf->file) ;
-					
-					if (psf->datalength > psf->filelength - psf->dataoffset)
-					{	psf_log_printf (psf, " BODY : %d (should be %d)\n", psf->datalength, psf->filelength - psf->dataoffset) ;
-						psf->datalength = psf->filelength - psf->dataoffset ;
-						} 
-					else
-						psf_log_printf (psf, " BODY : %d\n", psf->datalength) ;
-						
-					parsestage |= HAVE_BODY ;
-
-					if (! psf->sf.seekable)
-						break ;
-
-					fseek (psf->file, psf->datalength, SEEK_CUR) ;
-					break ;
-
-			case NAME_MARKER :
-			case ANNO_MARKER :
-					if (! (parsestage & HAVE_SVX))
-						return SFE_SVX_NO_FORM ;
-
-					psf_binheader_readf (psf, "L", &dword) ;
-					
-					psf_log_printf (psf, " %D : %d\n", marker, dword) ;
-
-					psf_binheader_readf (psf, "j", dword) ;
-					break ;
-
-			case CHAN_MARKER :
-					if (! (parsestage & HAVE_SVX))
-						return SFE_SVX_NO_FORM ;
-
-					psf_binheader_readf (psf, "L", &dword) ;
-					
-					psf_log_printf (psf, " %D : %d\n", marker, dword) ;
-					
-					bytecount += psf_binheader_readf (psf, "L", &channels) ;
-
-					psf_log_printf (psf, "  Channels : %d => %d\n", channels) ;
-					
-					psf_binheader_readf (psf, "j", dword - bytecount) ;
-					break ;
-
-
-			case AUTH_MARKER :
-			case c_MARKER :
-					if (! (parsestage & HAVE_SVX))
-						return SFE_SVX_NO_FORM ;
-
-					psf_binheader_readf (psf, "L", &dword) ;
-					
-					psf_log_printf (psf, " %D : %d\n", marker, dword) ;
-
-					psf_binheader_readf (psf, "j", dword) ;
-					break ;
-
-			default : 
-					if (isprint ((marker >> 24) & 0xFF) && isprint ((marker >> 16) & 0xFF)
-						&& isprint ((marker >> 8) & 0xFF) && isprint (marker & 0xFF))
-					{	psf_binheader_readf (psf, "L", &dword) ;
-					
-						psf_log_printf (psf, "%D : %d (unknown marker)\n", marker, dword) ;
-
-						psf_binheader_readf (psf, "j", dword) ;
-						break ;
-						} ;
-					if ((dword = ftell (psf->file)) & 0x03)
-					{	psf_log_printf (psf, "  Unknown chunk marker at position %d. Resynching.\n", dword - 4) ;
-
-						psf_binheader_readf (psf, "j", -3) ;
-						break ;
-						} ;
-					psf_log_printf (psf, "*** Unknown chunk marker : %X. Exiting parser.\n", marker) ;
-					done = 1 ;
-			} ;	/* switch (marker) */
-
-		if (ferror (psf->file))
-		{	psf_log_printf (psf, "*** Error on file handle. ***\n", marker) ;
-			clearerr (psf->file) ;
-			break ;
-			} ;
-			
-		if (! psf->sf.seekable && (parsestage & HAVE_BODY))
-			break ;
-
-		if (ftell (psf->file) >= (long) (psf->filelength - (2 * sizeof (dword))))
-			break ;
-		} ; /* while (1) */
-		
-	if (vhdr.compression)
-		return SFE_SVX_BAD_COMP ;
-		
-	if (! psf->dataoffset)
-		return SFE_SVX_NO_DATA ;
-
-	psf->sf.format   = (SF_FORMAT_SVX | SF_FORMAT_PCM);
-	psf->sf.sections = 1 ;
-					
-	psf->current     = 0 ;
-	psf->endian      = SF_ENDIAN_BIG ;			/* All SVX files are big endian. */
-	psf->sf.seekable = SF_TRUE ;
-	psf->bytewidth   = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-
-	psf->blockwidth  = psf->sf.channels * psf->bytewidth ;
-	
-	if (psf->blockwidth)
-		psf->sf.samples  = psf->datalength / psf->blockwidth ;
-
-	fseek (psf->file, psf->dataoffset, SEEK_SET) ;
-
-	psf->close = (func_close) svx_close ;
-
-	psf->chars = SF_CHARS_SIGNED ;
-	if ((error = pcm_read_init (psf)))
-		return error ;
-
-	return 0 ;
-} /* svx_open_read */
-
-int 	
-svx_open_write	(SF_PRIVATE *psf)
-{	int error ;
-
-	if ((psf->sf.format & SF_FORMAT_TYPEMASK) != SF_FORMAT_SVX)
-		return	SFE_BAD_OPEN_FORMAT ;
-	if ((psf->sf.format & SF_FORMAT_SUBMASK) != SF_FORMAT_PCM)
-		return	SFE_BAD_OPEN_FORMAT ;
-	if (psf->sf.pcmbitwidth != 8 && psf->sf.pcmbitwidth != 16)
-		return	SFE_BAD_OPEN_FORMAT ;
-	
-	psf->endian      = SF_ENDIAN_BIG ;			/* All SVX files are big endian. */
-	psf->sf.seekable = SF_TRUE ;
-	psf->bytewidth   = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
-	psf->datalength  = psf->blockwidth * psf->sf.samples ;
-	psf->filelength  = psf->datalength + psf->dataoffset ;
-	psf->error       = 0 ;
-
-	error = svx_write_header (psf) ;
-	if (error)
-		return error ;
-		
-	psf->close        = (func_close)  svx_close ;
-	psf->write_header = (func_wr_hdr) svx_write_header ;
-
-	psf->chars = SF_CHARS_SIGNED ;
-	if ((error = pcm_write_init (psf)))
-		return error ;
-
-	return 0 ;
-} /* svx_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static int	
-svx_close	(SF_PRIVATE  *psf)
-{	
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can re-write 
-		**	correct values for the FORM, 8SVX and BODY chunks.
-		*/
-                
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-		fseek (psf->file, 0, SEEK_SET) ;
-		
-		psf->datalength = psf->filelength - psf->dataoffset ;
-
-		svx_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-	
-	return 0 ;
-} /* svx_close */
-
-static int
-svx_write_header (SF_PRIVATE *psf)
-{	static	char 	annotation	[] = "libsndfile by Erik de Castro Lopo\0\0\0" ;
-	
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	/* FORM marker and FORM size. */	
-	psf_binheader_writef (psf, "mL", FORM_MARKER, psf->filelength - 8) ;
-	psf_binheader_writef (psf, "m", (psf->bytewidth == 1) ? SVX8_MARKER : SV16_MARKER) ;
-
-	/* VHDR chunk. */
-	psf_binheader_writef (psf, "mL", VHDR_MARKER, sizeof (VHDR_CHUNK)) ;
-	/* VHDR : oneShotHiSamples, repeatHiSamples, samplesPerHiCycle */
-	psf_binheader_writef (psf, "LLL", psf->sf.samples, 0, 0) ;
-	/* VHDR : samplesPerSec, octave, compression */
-	psf_binheader_writef (psf, "Wbb", psf->sf.samplerate, 1, 0) ;
-	/* VHDR : volume */
-	psf_binheader_writef (psf, "L", (psf->bytewidth == 1) ? 255 : 0xFFFF) ;
-
-	/* Filename and annotation strings. */
-	psf_binheader_writef (psf, "mSmS", NAME_MARKER, psf->filename, ANNO_MARKER, annotation) ;
-	
-	/* BODY marker and size. */
-	psf_binheader_writef (psf, "mL", BODY_MARKER, psf->datalength) ;
-
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-	
-	return 0 ;
-} /* svx_write_header */
-
-/*-
-static void 
-endswap_vhdr_chunk (VHDR_CHUNK *vhdr)
-{	vhdr->oneShotHiSamples  = ENDSWAP_INT (vhdr->oneShotHiSamples) ;
-	vhdr->repeatHiSamples   = ENDSWAP_INT (vhdr->repeatHiSamples) ;
-	vhdr->samplesPerHiCycle = ENDSWAP_INT (vhdr->samplesPerHiCycle) ;
-	vhdr->samplesPerSec     = ENDSWAP_SHORT (vhdr->samplesPerSec) ;
-	vhdr->volume            = ENDSWAP_INT (vhdr->volume) ;
-} /+* endswap_vhdr_chunk *+/
--*/
-
--- a/common/libsndfile/src/ulaw.c
+++ /dev/null
@@ -1,1100 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<unistd.h>
-
-#include	"sndfile.h"
-#include	"floatcast.h"
-#include	"common.h"
-
-static int		ulaw_read_ulaw2s (SF_PRIVATE *psf, short *ptr, unsigned int len) ;
-static int		ulaw_read_ulaw2i (SF_PRIVATE *psf, int *ptr, unsigned int len) ;
-static int		ulaw_read_ulaw2f (SF_PRIVATE *psf, float *ptr, unsigned int len) ;
-static int		ulaw_read_ulaw2d (SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize) ;
-
-static int		ulaw_write_s2ulaw (SF_PRIVATE *psf, short *ptr, unsigned int len) ;
-static int		ulaw_write_i2ulaw (SF_PRIVATE *psf, int *ptr, unsigned int len) ;
-static int		ulaw_write_f2ulaw (SF_PRIVATE *psf, float *ptr, unsigned int len) ;
-static int		ulaw_write_d2ulaw (SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize) ;
-
-static  void    ulaw2s_array      (unsigned char *buffer, unsigned int count, short *ptr, unsigned int index) ;
-static  void    ulaw2i_array      (unsigned char *buffer, unsigned int count, int *ptr, unsigned int index) ;
-static  void    ulaw2f_array      (unsigned char *buffer, unsigned int count, float *ptr, unsigned int index, float normfact) ;
-static  void    ulaw2d_array      (unsigned char *buffer, unsigned int count, double *ptr, unsigned int index, double normfact) ;
-
-static  void    s2ulaw_array      (short *buffer, unsigned int count, unsigned char *ptr, unsigned int index) ;
-static  void    i2ulaw_array      (int *buffer, unsigned int count, unsigned char *ptr, unsigned int index) ;
-static  void    f2ulaw_array      (float *buffer, unsigned int count, unsigned char *ptr, unsigned int index, float normfact) ;
-static  void    d2ulaw_array      (double *buffer, unsigned int count, unsigned char *ptr, unsigned int index, double normfact) ;
-
-
-int 
-ulaw_read_init (SF_PRIVATE *psf)
-{
-	psf->read_short  = (func_short)  ulaw_read_ulaw2s ;
-	psf->read_int    = (func_int)    ulaw_read_ulaw2i ;
-	psf->read_float  = (func_float)  ulaw_read_ulaw2f ;
-	psf->read_double = (func_double) ulaw_read_ulaw2d ;
-
-	return 0 ;
-} /* ulaw_read_int */
-
-int 
-ulaw_write_init (SF_PRIVATE *psf)
-{
-	psf->write_short  = (func_short)  ulaw_write_s2ulaw ;
-	psf->write_int    = (func_int)    ulaw_write_i2ulaw ;
-	psf->write_float  = (func_float)  ulaw_write_f2ulaw ;
-	psf->write_double = (func_double) ulaw_write_d2ulaw ;
-
-	return 0 ;
-} /* ulaw_write_int */
-
-static int
-ulaw_read_ulaw2s (SF_PRIVATE *psf, short *ptr, unsigned int len)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		ulaw2s_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_read_ulaw2s */
-
-static int
-ulaw_read_ulaw2i (SF_PRIVATE *psf, int *ptr, unsigned int len)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		ulaw2i_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_read_ulaw2i */
-
-static int
-ulaw_read_ulaw2f (SF_PRIVATE *psf, float *ptr, unsigned int len)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		ulaw2f_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_read_ulaw2f */
-
-static int
-ulaw_read_ulaw2d (SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize)
-{	unsigned int readcount, thisread, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	readcount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		thisread = fread (psf->buffer, 1, readcount, psf->file) ;
-		ulaw2d_array ((unsigned char*) (psf->buffer), thisread / psf->bytewidth, ptr, index, normfact) ;
-		total += thisread ;
-		if (thisread < readcount)
-			break ;
-		index += thisread / psf->bytewidth ;
-		bytecount -= thisread ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_read_ulaw2d */
-
-/*=============================================================================================
-*/
-
-static int
-ulaw_write_s2ulaw	(SF_PRIVATE *psf, short *ptr, unsigned int len)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		s2ulaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_write_s2ulaw */
-
-static int
-ulaw_write_i2ulaw	(SF_PRIVATE *psf, int *ptr, unsigned int len)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		i2ulaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_write_i2ulaw */
-
-static int
-ulaw_write_f2ulaw	(SF_PRIVATE *psf, float *ptr, unsigned int len)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	float	normfact ;
-
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		f2ulaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_write_f2ulaw */
-
-static int
-ulaw_write_d2ulaw	(SF_PRIVATE *psf, double *ptr, unsigned int len, int normalize)
-{	unsigned int	writecount, thiswrite, index = 0 ;
-	int		bytecount, bufferlen ;
-	int		total = 0 ;
-	double	normfact ;
-	
-	normfact = (normalize ? ((double) 0x8000) : 1.0) ;
-
-	bufferlen = (SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth ;
-	bytecount = len * psf->bytewidth ;
-	while (bytecount > 0)
-	{	writecount = (bytecount >= bufferlen) ? bufferlen : bytecount ;
-		d2ulaw_array (ptr, index, (unsigned char*) (psf->buffer), writecount / psf->bytewidth, normfact) ;
-		thiswrite = fwrite (psf->buffer, 1, writecount, psf->file) ;
-		total += thiswrite ;
-		if (thiswrite < writecount)
-			break ;
-		index += thiswrite / psf->bytewidth ;
-		bytecount -= thiswrite ;
-		} ;
-
-	total /= psf->bytewidth ;
-	if (total < len)
-		psf->error = SFE_SHORT_READ ;
-	
-	return total ;
-} /* ulaw_write_d2ulaw */
-
-/*=============================================================================================
- *	Private static functions and data.
- */
-
-static	short	ulaw_decode [128] =
-{	-32124, -31100, -30076, -29052, -28028, -27004, -25980, -24956, 
-	-23932, -22908, -21884, -20860, -19836, -18812, -17788, -16764, 
-	-15996, -15484, -14972, -14460, -13948, -13436, -12924, -12412, 
-	-11900, -11388, -10876, -10364,  -9852,  -9340,  -8828,  -8316, 
-	 -7932,  -7676,  -7420,  -7164,  -6908,  -6652,  -6396,  -6140, 
-	 -5884,  -5628,  -5372,  -5116,  -4860,  -4604,  -4348,  -4092, 
-	 -3900,  -3772,  -3644,  -3516,  -3388,  -3260,  -3132,  -3004, 
-	 -2876,  -2748,  -2620,  -2492,  -2364,  -2236,  -2108,  -1980, 
-	 -1884,  -1820,  -1756,  -1692,  -1628,  -1564,  -1500,  -1436, 
-	 -1372,  -1308,  -1244,  -1180,  -1116,  -1052,   -988,   -924, 
-	  -876,   -844,   -812,   -780,   -748,   -716,   -684,   -652, 
-	  -620,   -588,   -556,   -524,   -492,   -460,   -428,   -396, 
-	  -372,   -356,   -340,   -324,   -308,   -292,   -276,   -260, 
-	  -244,   -228,   -212,   -196,   -180,   -164,   -148,   -132, 
-	  -120,   -112,   -104,    -96,    -88,    -80,    -72,    -64, 
-	   -56,    -48,    -40,    -32,    -24,    -16,     -8,      0, 
-} ;
-
-static	
-unsigned char	ulaw_encode [8193] =
-{	0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xF9, 
-	0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 
-	0xF3, 0xF2, 0xF2, 0xF1, 0xF1, 0xF0, 0xF0, 0xEF, 0xEF, 0xEF, 0xEF, 0xEE, 
-	0xEE, 0xEE, 0xEE, 0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 
-	0xEB, 0xEB, 0xEB, 0xEA, 0xEA, 0xEA, 0xEA, 0xE9, 0xE9, 0xE9, 0xE9, 0xE8, 
-	0xE8, 0xE8, 0xE8, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xE6, 0xE6, 0xE6, 0xE5, 
-	0xE5, 0xE5, 0xE5, 0xE4, 0xE4, 0xE4, 0xE4, 0xE3, 0xE3, 0xE3, 0xE3, 0xE2, 
-	0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE1, 0xE1, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 
-	0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 
-	0xDE, 0xDE, 0xDE, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 
-	0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 
-	0xDB, 0xDB, 0xDB, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0xD9, 
-	0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD9, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 
-	0xD8, 0xD8, 0xD8, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD6, 
-	0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 
-	0xD5, 0xD5, 0xD5, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD4, 0xD3, 
-	0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD3, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 
-	0xD2, 0xD2, 0xD2, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD0, 
-	0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 
-	0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCE, 
-	0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 
-	0xCE, 0xCE, 0xCE, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 
-	0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 
-	0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCB, 
-	0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 
-	0xCB, 0xCB, 0xCB, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 
-	0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 
-	0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC8, 
-	0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 
-	0xC8, 0xC8, 0xC8, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 
-	0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 
-	0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 
-	0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 0xC5, 
-	0xC5, 0xC5, 0xC5, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 
-	0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 
-	0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 
-	0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 
-	0xC2, 0xC2, 0xC2, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 
-	0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 
-	0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 
-	0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 
-	0xBE, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 
-	0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 
-	0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 
-	0xBB, 0xBB, 0xBB, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 
-	0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 
-	0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 
-	0xB8, 0xB8, 0xB8, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 
-	0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB7, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 
-	0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 0xB5, 
-	0xB5, 0xB5, 0xB5, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 
-	0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB4, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 
-	0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 
-	0xB2, 0xB2, 0xB2, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 
-	0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB1, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 
-	0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 
-	0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 
-	0xAE, 0xAE, 0xAE, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 
-	0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 
-	0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 
-	0xAB, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 
-	0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 
-	0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 0xA8, 
-	0xA8, 0xA8, 0xA8, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 
-	0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 
-	0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 
-	0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 
-	0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 
-	0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 
-	0xA2, 0xA2, 0xA2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 
-	0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 
-	0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 
-	0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 
-	0x9E, 0x9E, 0x9E, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 
-	0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 
-	0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 
-	0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 
-	0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 
-	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 
-	0x98, 0x98, 0x98, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 
-	0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 
-	0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 
-	0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 
-	0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 
-	0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 
-	0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 
-	0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 
-	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 
-	0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 
-	0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 
-	0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 
-	0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 
-	0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 
-	0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 
-	0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 
-	0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 
-	0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 
-	0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 
-	0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 
-	0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 
-	0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 
-	0x82, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-	0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
-	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00
-} ;
-
-static void	
-ulaw2s_array	(unsigned char *buffer, unsigned int count, short *ptr, unsigned int index)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -1 * ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* ulaw2s_array */
-
-static void	
-ulaw2i_array	(unsigned char *buffer, unsigned int count, int *ptr, unsigned int index)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -1 * ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* ulaw2i_array */
-
-static void	
-ulaw2f_array	(unsigned char *buffer, unsigned int count, float *ptr, unsigned int index, float normfact)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -normfact * ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = normfact * ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* ulaw2f_array */
-
-static void	
-ulaw2d_array	(unsigned char *buffer, unsigned int count, double *ptr, unsigned int index, double normfact)
-{	int 	k ;
-	for (k = 0 ; k < count ; k++)
-	{	if (buffer [k] & 0x80)
-			ptr [index] = -normfact * ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		else
-			ptr [index] = normfact * ulaw_decode [((int) buffer [k]) & 0x7F] ;
-		index ++ ;
-		} ;
-} /* ulaw2d_array */
-
-static void    
-s2ulaw_array      (short *ptr, unsigned int index, unsigned char *buffer, unsigned int count)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = ulaw_encode [ptr [index] / 4] ;
-		else
-			buffer [k] = 0x7F & ulaw_encode [ptr [index] / -4] ;
-		index ++ ;
-		} ;
-} /* s2ulaw_array */
-
-static void    
-i2ulaw_array      (int *ptr, unsigned int index, unsigned char *buffer, unsigned int count)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = ulaw_encode [ptr [index] / 4] ;
-		else
-			buffer [k] = 0x7F & ulaw_encode [ptr [index] / -4] ;
-		index ++ ;
-		} ;
-} /* i2ulaw_array */
-
-static void
-f2ulaw_array      (float *ptr, unsigned int index, unsigned char *buffer, unsigned int count, float normfact)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = ulaw_encode [(FLOAT_TO_INT (normfact * ptr [index])) / 4] ;
-		else
-			buffer [k] = 0x7F & ulaw_encode [(FLOAT_TO_INT (normfact * ptr [index])) / -4] ;
-		index ++ ;
-		} ;
-} /* f2ulaw_array */
-
-static void
-d2ulaw_array      (double *ptr, unsigned int index, unsigned char *buffer, unsigned int count, double normfact)
-{	unsigned int	k ;
-
-	for (k = 0 ; k < count ; k++)
-	{	if (ptr [index] >= 0) 
-			buffer [k] = ulaw_encode [(DOUBLE_TO_INT (normfact * ptr [index])) / 4] ;
-		else
-			buffer [k] = 0x7F & ulaw_encode [(DOUBLE_TO_INT (normfact * ptr [index])) / -4] ;
-		index ++ ;
-		} ;
-} /* d2ulaw_array */
-
--- a/common/libsndfile/src/voc.c
+++ /dev/null
@@ -1,376 +1,0 @@
-/*
-** Copyright (C) 2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<ctype.h>
-#include	<stdarg.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-
-
-/*------------------------------------------------------------------------------
- * Macros to handle big/little endian issues.
-*/
-
-#if (CPU_IS_LITTLE_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		((a)|((b)<<8)|((c)<<16)|((d)<<24))
-#elif (CPU_IS_BIG_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		(((a)<<24)|((b)<<16)|((c)<<8)|(d))
-#else
-#	error "Cannot determine endian-ness of processor."
-#endif
-
-/*------------------------------------------------------------------------------
- * Typedefs for file chunks.
-*/
-
-enum
-{	VOC_TYPE_TERMINATOR		= 0,
-	VOC_TYPE_SOUND_DATA		= 1,
-	VOC_TYPE_SOUND_CONTINUE = 2,
-	VOC_TYPE_SILENCE		= 3,
-	VOC_TYPE_MARKER			= 4,
-	VOC_TYPE_ASCII			= 5,
-	VOC_TYPE_REPEAT			= 6,
-	VOC_TYPE_END_REPEAT		= 7,
-	VOC_TYPE_EXTENDED		= 8,
-	VOC_TYPE_9				= 9
-} ;
-
-/*------------------------------------------------------------------------------
- * Private static functions.
-*/
-
-static	int		voc_close	(SF_PRIVATE  *psf) ;
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int
-voc_open_read	(SF_PRIVATE *psf)
-{	char	creative [20], type ;
-	short	version ;
-
-	/* Set position to start of file to begin reading header. */
-	psf_binheader_readf (psf, "pB", 0, creative, sizeof (creative)) ;
-		
-	if (creative [sizeof (creative) - 1] != 0x1A)
-		return SFE_VOC_NO_CREATIVE ;
-		
-	/* Terminate the string. */
-	creative [sizeof (creative) - 1] = 0 ;
-	
-	if (strcmp ("Creative Voice File", creative))
-		return SFE_VOC_NO_CREATIVE ;
-
-	psf_log_printf (psf, "%s\n", creative) ;
-
-	psf_binheader_readf (psf, "ww", &(psf->dataoffset), &version) ;
-
-	psf_log_printf (psf, "dataoffset : %d\n", psf->dataoffset) ;
-	psf_log_printf (psf, "version    : %X\n", version) ;
-
-	if (version != 0x010A && version != 0x0114)
-		return SFE_VOC_BAD_VERSION ;
-
-	psf_binheader_readf (psf, "w", &version) ;
-	psf_log_printf (psf, "version 2  : %X\n", version) ;
-	
-	while (1)
-	{	psf_binheader_readf (psf, "b", &type) ;
-	
-		switch (type)
-		{	case VOC_TYPE_TERMINATOR :
-					psf_log_printf (psf, " Terminator\n") ;
-					break ;
-
-			case VOC_TYPE_SOUND_DATA :
-					{	unsigned char rate_byte, compression ;
-						int		size ;
-
-						psf_binheader_readf (psf, "tbb", &size, &rate_byte, &compression) ;
-
-						psf_log_printf (psf, " Sound Data : %d\n", size) ;
-						psf_log_printf (psf, "  sr   : %d => %dHz\n", (rate_byte & 0xFF), 1000000 / (256 - rate_byte)) ;
-						psf_log_printf (psf, "  comp : %d\n", compression) ;
-	
-						psf_binheader_readf (psf, "j", size) ;
-						} ;
-					break ;
-
-			case VOC_TYPE_SOUND_CONTINUE :
-					{	int		size ;
-
-						psf_binheader_readf (psf, "t", &size) ;
-
-						psf_log_printf (psf, " Sound Continue : %d\n", size) ;
-	
-						psf_binheader_readf (psf, "j", size) ;
-						} ;
-					break ;
-
-			case VOC_TYPE_SILENCE :
-					{	unsigned char rate_byte ;
-						short length ;
-						
-						psf_log_printf (psf, " Silence\n") ;
-						psf_binheader_readf (psf, "wb", &length, &rate_byte) ;
-						psf_log_printf (psf, "  length : %d\n", length) ;
-						psf_log_printf (psf, "  sr     : %d => %dHz\n", (rate_byte & 0xFF), 1000000 / (256 - rate_byte)) ;
-		  				} ;
-					break ;
-
-			case VOC_TYPE_MARKER :
-					{	int		size ;
-						short	value ;
-
-						psf_log_printf (psf, " Marker\n") ;
-
-						psf_binheader_readf (psf, "tw", &size, &value) ;
-						
-						psf_log_printf (psf, "  size  : %d\n", size) ;
-						psf_log_printf (psf, "  value : %d\n", value) ;
-						} ;
-					break ;
-
-			case VOC_TYPE_ASCII :
-					{	int		size ;
-
-						psf_binheader_readf (psf, "t", &size) ;
-
-						psf_log_printf (psf, " ASCII : %d\n", size) ;
-	
-						psf_binheader_readf (psf, "B", psf->header, size) ;
-						psf->header [size] = 0 ;
-						psf_log_printf (psf, "  text : %s\n", psf->header) ;
-						} ;
-					break ;
-
-			case VOC_TYPE_REPEAT :
-					{	int		size ;
-						short	count ;
-
-						psf_binheader_readf (psf, "tw", &size, &count) ;
-
-						psf_log_printf (psf, " Marker : %d\n", size) ;
-						psf_log_printf (psf, "  value : %d\n", count) ;
-						} ;
-					break ;
-
-			case VOC_TYPE_END_REPEAT :
-					psf_log_printf (psf, " End Repeat\n") ;
-					break ;
-						
-			case VOC_TYPE_EXTENDED :
-					{	unsigned char pack, mode ;
-						short 	rate_short ;
-						int		size, sample_rate ;
-
-						psf_binheader_readf (psf, "t", &size) ;
-						psf_log_printf (psf, " Extended : %d\n", size) ;
-						
-						psf_binheader_readf (psf, "wbb", &rate_short, &pack, &mode) ;
-						psf_log_printf (psf, "  size : %d\n", size) ;
-						psf_log_printf (psf, "  pack : %d\n", pack) ;
-						psf_log_printf (psf, "  mode : %d\n", mode) ;
-						
-						if (mode)
-							sample_rate = 128000000 / (65536 - rate_short) ;
-						else
-							sample_rate = 256000000 / (65536 - rate_short) ;
-
-						psf_log_printf (psf, "  sr   : %d => %dHz\n", (rate_short & 0xFFFF), sample_rate) ;
-						psf_binheader_readf (psf, "j", size) ;
-						} ;
-					break ;
-
-			case VOC_TYPE_9 :
-					{	unsigned char bitwidth, channels, byte6 ;
-						int sample_rate, size, bytecount = 0 ;
-						
-						psf_binheader_readf (psf, "t", &size) ;
-						psf_log_printf (psf, " Type 9 : %d\n", size) ;
-
-						bytecount = psf_binheader_readf (psf, "lbbb", &sample_rate, &bitwidth, &channels, &byte6) ;
-
-						psf_log_printf (psf, "  sample rate : %d\n", sample_rate) ;
-						psf_log_printf (psf, "  bit width   : %d\n", bitwidth) ;
-						psf_log_printf (psf, "  channels    : %d\n", channels) ;
-
-						psf_binheader_readf (psf, "j", size - bytecount) ;
-						} ;
-					break ;
-
-			default :
-				psf_log_printf (psf, "Unknown type : %d\n", type & 0xFF) ;
-				return SFE_VOC_BAD_MARKER ;
-			} ;
-
-		if (ftell (psf->file) >= psf->filelength)
-			break ;
-		} ;
-
-
-
-	psf->sf.seekable = SF_TRUE ;
-
-	psf->close = (func_close) voc_close ;
-
-	return 0 ;
-} /* voc_open_read */
-
-int 	
-voc_open_write	(SF_PRIVATE *psf)
-{	
-
-	return 0 ;
-} /* voc_open_write */
-
-/*------------------------------------------------------------------------------
-*/
-
-static int	
-voc_close	(SF_PRIVATE  *psf)
-{	
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can re-write 
-		**	correct values for the FORM, 8SVX and BODY chunks.
-		*/
-                
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-	
-	return 0 ;
-} /* voc_close */
-
-
-/*------------------------------------------------------------------------------------
-
-Creative Voice (VOC) file format
---------------------------------
-
-~From: galt@dsd.es.com
-
-(byte numbers are hex!)
-
-    HEADER (bytes 00-19)
-    Series of DATA BLOCKS (bytes 1A+) [Must end w/ Terminator Block]
-
-- ---------------------------------------------------------------
-
-HEADER:
-=======
-     byte #     Description
-     ------     ------------------------------------------
-     00-12      "Creative Voice File"
-     13         1A (eof to abort printing of file)
-     14-15      Offset of first datablock in .voc file (std 1A 00
-                in Intel Notation)
-     16-17      Version number (minor,major) (VOC-HDR puts 0A 01)
-     18-19      1's Comp of Ver. # + 1234h (VOC-HDR puts 29 11)
-
-- ---------------------------------------------------------------
-
-DATA BLOCK:
-===========
-
-   Data Block:  TYPE(1-byte), SIZE(3-bytes), INFO(0+ bytes)
-   NOTE: Terminator Block is an exception -- it has only the TYPE byte.
-
-      TYPE   Description     Size (3-byte int)   Info
-      ----   -----------     -----------------   -----------------------
-      00     Terminator      (NONE)              (NONE)
-      01     Sound data      2+length of data    *
-      02     Sound continue  length of data      Voice Data
-      03     Silence         3                   **
-      04     Marker          2                   Marker# (2 bytes)
-      05     ASCII           length of string    null terminated string
-      06     Repeat          2                   Count# (2 bytes)
-      07     End repeat      0                   (NONE)
-      08     Extended        4                   ***
-
-      *Sound Info Format:    
-       --------------------- 
-       00   Sample Rate      
-       01   Compression Type 
-       02+  Voice Data
-
-      **Silence Info Format:
-      ----------------------------
-      00-01  Length of silence - 1
-      02     Sample Rate
-      
-
-    ***Extended Info Format:
-       ---------------------
-       00-01  Time Constant: Mono: 65536 - (256000000/sample_rate)
-                             Stereo: 65536 - (25600000/(2*sample_rate))
-       02     Pack
-       03     Mode: 0 = mono
-                    1 = stereo
-
-
-  Marker#           -- Driver keeps the most recent marker in a status byte
-  Count#            -- Number of repetitions + 1
-                         Count# may be 1 to FFFE for 0 - FFFD repetitions
-                         or FFFF for endless repetitions
-  Sample Rate       -- SR byte = 256-(1000000/sample_rate)
-  Length of silence -- in units of sampling cycle
-  Compression Type  -- of voice data
-                         8-bits    = 0
-                         4-bits    = 1
-                         2.6-bits  = 2
-                         2-bits    = 3
-                         Multi DAC = 3+(# of channels) [interesting--
-                                       this isn't in the developer's manual]
-
-
----------------------------------------------------------------------------------
-Addendum submitted by Votis Kokavessis:
-
-After some experimenting with .VOC files I found out that there is a Data Block 
-Type 9, which is not covered in the VOC.TXT file. Here is what I was able to discover 
-about this block type:
-  
-  
-TYPE: 09
-SIZE: 12 + length of data
-INFO: 12 (twelve) bytes
-  
-INFO STRUCTURE:
-  
-Bytes 0-1: (Word) Sample Rate (e.g. 44100)
-Bytes 2-3: zero (could be that bytes 0-3 are a DWord for Sample Rate)
-Byte 4: Sample Size in bits (e.g. 16)
-Byte 5: Number of channels (e.g. 1 for mono, 2 for stereo)
-Byte 6: Unknown (equal to 4 in all files I examined)
-Bytes 7-11: zero
-
-
--------------------------------------------------------------------------------------*/
-
--- a/common/libsndfile/src/wav.c
+++ /dev/null
@@ -1,832 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<ctype.h>
-#include	<time.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"common.h"
-#include	"wav.h"
-
-/*------------------------------------------------------------------------------
-** List of known WAV format tags
-*/
-
-enum
-{	
-	WAVE_FORMAT_UNKNOWN				= 0x0000,		/* Microsoft Corporation */
-	WAVE_FORMAT_PCM     		    = 0x0001, 		/* Microsoft PCM format */
-
-	WAVE_FORMAT_MS_ADPCM			= 0x0002,		/* Microsoft ADPCM */
-	WAVE_FORMAT_IEEE_FLOAT			= 0x0003,		/* Micrososft 32 bit float format */
-	
-	WAVE_FORMAT_IBM_CVSD			= 0x0005,		/* IBM Corporation */
-	WAVE_FORMAT_ALAW				= 0x0006,		/* Microsoft Corporation */
-	WAVE_FORMAT_MULAW				= 0x0007,		/* Microsoft Corporation */
-	WAVE_FORMAT_OKI_ADPCM			= 0x0010,		/* OKI */
-	WAVE_FORMAT_IMA_ADPCM			= 0x0011,		/* Intel Corporation */
-	WAVE_FORMAT_MEDIASPACE_ADPCM	= 0x0012,		/* Videologic */
-	WAVE_FORMAT_SIERRA_ADPCM		= 0x0013,		/* Sierra Semiconductor Corp */
-	WAVE_FORMAT_G723_ADPCM			= 0x0014,		/* Antex Electronics Corporation */
-	WAVE_FORMAT_DIGISTD				= 0x0015,		/* DSP Solutions, Inc. */
-	WAVE_FORMAT_DIGIFIX				= 0x0016,		/* DSP Solutions, Inc. */
-	WAVE_FORMAT_DIALOGIC_OKI_ADPCM	= 0x0017,		/*  Dialogic Corporation  */
-	WAVE_FORMAT_MEDIAVISION_ADPCM	= 0x0018,		/*  Media Vision, Inc. */
-
-	WAVE_FORMAT_YAMAHA_ADPCM		= 0x0020,		/* Yamaha Corporation of America */
-	WAVE_FORMAT_SONARC				= 0x0021,		/* Speech Compression */
-	WAVE_FORMAT_DSPGROUP_TRUESPEECH = 0x0022,		/* DSP Group, Inc */
-	WAVE_FORMAT_ECHOSC1				= 0x0023,		/* Echo Speech Corporation */
-	WAVE_FORMAT_AUDIOFILE_AF18  	= 0x0024,		/* Audiofile, Inc. */
-	WAVE_FORMAT_APTX				= 0x0025,		/* Audio Processing Technology */
-	WAVE_FORMAT_AUDIOFILE_AF10  	= 0x0026,		/* Audiofile, Inc. */
-
-	WAVE_FORMAT_DOLBY_AC2			= 0x0030,		/* Dolby Laboratories */
-	WAVE_FORMAT_GSM610				= 0x0031,		/* Microsoft Corporation */
-	WAVE_FORMAT_MSNAUDIO			= 0x0032,		/* Microsoft Corporation */
-	WAVE_FORMAT_ANTEX_ADPCME		= 0x0033, 		/* Antex Electronics Corporation */
-	WAVE_FORMAT_CONTROL_RES_VQLPC	= 0x0034,		/* Control Resources Limited */
-	WAVE_FORMAT_DIGIREAL			= 0x0035,		/* DSP Solutions, Inc. */
-	WAVE_FORMAT_DIGIADPCM			= 0x0036,		/* DSP Solutions, Inc. */
-	WAVE_FORMAT_CONTROL_RES_CR10	= 0x0037,		/* Control Resources Limited */
-	WAVE_FORMAT_NMS_VBXADPCM		= 0x0038,		/* Natural MicroSystems */
-	WAVE_FORMAT_ROCKWELL_ADPCM		= 0x003B,		/* Rockwell International */
-	WAVE_FORMAT_ROCKWELL_DIGITALK	= 0x003C, 		/* Rockwell International */
-
-	WAVE_FORMAT_G721_ADPCM			= 0x0040,		/* Antex Electronics Corporation */
-	WAVE_FORMAT_MPEG				= 0x0050,		/* Microsoft Corporation */
-
-	WAVE_FORMAT_MPEGLAYER3			= 0x0055,		/* MPEG 3 Layer 1 */
-
-	IBM_FORMAT_MULAW				= 0x0101,		/* IBM mu-law format */
-	IBM_FORMAT_ALAW					= 0x0102,		/* IBM a-law format */
-	IBM_FORMAT_ADPCM				= 0x0103,		/* IBM AVC Adaptive Differential PCM format */
-
-	WAVE_FORMAT_CREATIVE_ADPCM		= 0x0200,		/* Creative Labs, Inc */
-
-	WAVE_FORMAT_FM_TOWNS_SND		= 0x0300,		/* Fujitsu Corp. */
-	WAVE_FORMAT_OLIGSM				= 0x1000,		/* Ing C. Olivetti & C., S.p.A. */
-	WAVE_FORMAT_OLIADPCM			= 0x1001,		/* Ing C. Olivetti & C., S.p.A. */
-	WAVE_FORMAT_OLICELP				= 0x1002,		/* Ing C. Olivetti & C., S.p.A. */
-	WAVE_FORMAT_OLISBC				= 0x1003,		/* Ing C. Olivetti & C., S.p.A. */
-	WAVE_FORMAT_OLIOPR				= 0x1004,		/* Ing C. Olivetti & C., S.p.A. */
-
-	WAVE_FORMAT_EXTENSIBLE			= 0xFFFE
-} ;
-
-#define	FACT_CHUNK_SIZE	sizeof (int)
-
-/*------------------------------------------------------------------------------
- * Macros to handle big/little endian issues.
- */
-
-#define RIFF_MARKER	(MAKE_MARKER ('R', 'I', 'F', 'F')) 
-#define WAVE_MARKER	(MAKE_MARKER ('W', 'A', 'V', 'E')) 
-#define fmt_MARKER	(MAKE_MARKER ('f', 'm', 't', ' ')) 
-#define data_MARKER	(MAKE_MARKER ('d', 'a', 't', 'a')) 
-#define fact_MARKER	(MAKE_MARKER ('f', 'a', 'c', 't')) 
-#define PEAK_MARKER	(MAKE_MARKER ('P', 'E', 'A', 'K')) 
-
-#define cue_MARKER	(MAKE_MARKER ('c', 'u', 'e', ' ')) 
-#define LIST_MARKER	(MAKE_MARKER ('L', 'I', 'S', 'T')) 
-#define slnt_MARKER	(MAKE_MARKER ('s', 'l', 'n', 't')) 
-#define wavl_MARKER	(MAKE_MARKER ('w', 'a', 'v', 'l')) 
-#define INFO_MARKER	(MAKE_MARKER ('I', 'N', 'F', 'O')) 
-#define plst_MARKER	(MAKE_MARKER ('p', 'l', 's', 't')) 
-#define adtl_MARKER	(MAKE_MARKER ('a', 'd', 't', 'l')) 
-#define labl_MARKER	(MAKE_MARKER ('l', 'a', 'b', 'l')) 
-#define note_MARKER	(MAKE_MARKER ('n', 'o', 't', 'e')) 
-#define smpl_MARKER	(MAKE_MARKER ('s', 'm', 'p', 'l')) 
-#define bext_MARKER	(MAKE_MARKER ('b', 'e', 'x', 't')) 
-#define MEXT_MARKER	(MAKE_MARKER ('M', 'E', 'X', 'T')) 
-#define DISP_MARKER	(MAKE_MARKER ('D', 'I', 'S', 'P')) 
-#define acid_MARKER	(MAKE_MARKER ('a', 'c', 'i', 'd')) 
-#define PAD_MARKER	(MAKE_MARKER ('P', 'A', 'D', ' ')) 
-#define adtl_MARKER	(MAKE_MARKER ('a', 'd', 't', 'l')) 
-
-#define ISFT_MARKER	(MAKE_MARKER ('I', 'S', 'F', 'T')) 
-#define ICRD_MARKER	(MAKE_MARKER ('I', 'C', 'R', 'D')) 
-#define ICOP_MARKER	(MAKE_MARKER ('I', 'C', 'O', 'P')) 
-#define IART_MARKER	(MAKE_MARKER ('I', 'A', 'R', 'T')) 
-#define INAM_MARKER	(MAKE_MARKER ('I', 'N', 'A', 'M')) 
-#define IENG_MARKER	(MAKE_MARKER ('I', 'E', 'N', 'G')) 
-#define IART_MARKER	(MAKE_MARKER ('I', 'A', 'R', 'T')) 
-#define ICOP_MARKER	(MAKE_MARKER ('I', 'C', 'O', 'P')) 
-#define IPRD_MARKER	(MAKE_MARKER ('I', 'P', 'R', 'D')) 
-#define ISRC_MARKER	(MAKE_MARKER ('I', 'S', 'R', 'C')) 
-#define ISBJ_MARKER	(MAKE_MARKER ('I', 'S', 'B', 'J')) 
-#define ICMT_MARKER	(MAKE_MARKER ('I', 'C', 'M', 'T')) 
-
-
-
-enum {
-	HAVE_RIFF	= 0x01,
-	HAVE_WAVE	= 0x02,
-	HAVE_fmt	= 0x04,
-	HAVE_fact	= 0x08,
-	HAVE_PEAK	= 0x10,
-	HAVE_data	= 0x20
-} ;
-
-/*------------------------------------------------------------------------------
- * Private static functions.
- */
-
-static int		wav_close	(SF_PRIVATE  *psf) ;
-
-static int		read_fmt_chunk	(SF_PRIVATE *psf, WAV_FMT *wav_fmt) ;
-static int		wav_write_header (SF_PRIVATE *psf) ;
-static int		wav_write_tailer (SF_PRIVATE *psf) ;
-
-static int 		wav_subchunk_parse	(SF_PRIVATE *psf, int chunk) ;
-
-static const 	char* wav_format_str (int k) ;
-
-/*------------------------------------------------------------------------------
-** Public functions.
-*/
-
-int
-wav_open_read	(SF_PRIVATE *psf)
-{	WAV_FMT			wav_fmt ;
-	FACT_CHUNK		fact_chunk ;
-	unsigned int	dword, marker, RIFFsize ;
-	int				parsestage = 0, error, format = 0 ;
-	char			*cptr ;	
-	
-	/* Set position to start of file to begin reading header. */
-	psf_binheader_readf (psf, "p", 0) ;	
-		
-	while (1)
-	{	psf_binheader_readf (psf, "m", &marker) ;
-		switch (marker)
-		{	case RIFF_MARKER :
-					if (parsestage)
-						return SFE_WAV_NO_RIFF ;
-
-					psf_binheader_readf (psf, "l", &RIFFsize) ;
-					
-					if (psf->filelength  < RIFFsize + 2 * sizeof (dword))
-					{	dword = psf->filelength - 2 * sizeof (dword);
-						psf_log_printf (psf, "RIFF : %d (should be %d)\n", RIFFsize, dword) ;
-						RIFFsize = dword ;
-						}
-					else
-						psf_log_printf (psf, "RIFF : %d\n", RIFFsize) ;
-					parsestage |= HAVE_RIFF ;
-					break ;
-					
-			case WAVE_MARKER :
-					if ((parsestage & HAVE_RIFF) != HAVE_RIFF)
-						return SFE_WAV_NO_WAVE ;
-					psf_log_printf (psf, "WAVE\n") ;
-					parsestage |= HAVE_WAVE ;
-					break ;
-			
-			case fmt_MARKER :
-					if ((parsestage & (HAVE_RIFF | HAVE_WAVE)) != (HAVE_RIFF | HAVE_WAVE))
-						return SFE_WAV_NO_FMT ;
-					if ((error = read_fmt_chunk (psf, &wav_fmt)))
-						return error ;
-						
-					format     = wav_fmt.format ;
-					parsestage |= HAVE_fmt ;
-					break ;
-					
-			case data_MARKER :
-					if ((parsestage & (HAVE_RIFF | HAVE_WAVE | HAVE_fmt)) != (HAVE_RIFF | HAVE_WAVE | HAVE_fmt))
-						return SFE_WAV_NO_DATA ;
-					
-					psf_binheader_readf (psf, "l", &(psf->datalength)) ;
-
-					psf->dataoffset = ftell (psf->file) ;
-					
-					if (psf->filelength < psf->dataoffset + psf->datalength)
-					{	psf_log_printf (psf, "data : %d (should be %d)\n", psf->datalength, psf->filelength - psf->dataoffset) ;
-						psf->datalength = psf->filelength - psf->dataoffset ;
-						}
-					else
-						psf_log_printf (psf, "data : %d\n", psf->datalength) ;
-
-					if (format == WAVE_FORMAT_MS_ADPCM && psf->datalength % 2)
-					{	psf->datalength ++ ;
-						psf_log_printf (psf, "*** Data length odd. Increasing it by 1.\n") ;
-						} ;
-		
-					parsestage |= HAVE_data ;
-
-					if (! psf->sf.seekable)
-						break ;
-					
-					/* Seek past data and continue reading header. */
-					fseek (psf->file, psf->datalength, SEEK_CUR) ;
-
-					dword = ftell (psf->file) ;
-					if (dword != (long) (psf->dataoffset + psf->datalength))
-						psf_log_printf (psf, "*** fseek past end error ***\n", dword, psf->dataoffset + psf->datalength) ;
-					break ;
-
-			case fact_MARKER :
-					if ((parsestage & (HAVE_RIFF | HAVE_WAVE | HAVE_fmt)) != (HAVE_RIFF | HAVE_WAVE | HAVE_fmt))
-						return SFE_WAV_BAD_FACT ;
-
-					psf_binheader_readf (psf, "ll", &dword, &(fact_chunk.samples)) ;
-					
-					if (dword > sizeof (fact_chunk))
-						psf_binheader_readf (psf, "j", (int) (dword - sizeof (fact_chunk))) ;
-
-					psf_log_printf (psf, "%D : %d\n", marker, dword) ;
-					psf_log_printf (psf, "  samples : %d\n", fact_chunk.samples) ;
-					parsestage |= HAVE_fact ;
-					break ;
-
-			case PEAK_MARKER :
-					if ((parsestage & (HAVE_RIFF | HAVE_WAVE | HAVE_fmt)) != (HAVE_RIFF | HAVE_WAVE | HAVE_fmt))
-						return SFE_WAV_PEAK_B4_FMT ;
-
-					psf_binheader_readf (psf, "l", &dword) ;
-					
-					psf_log_printf (psf, "%D : %d\n", marker, dword) ;
-					if (dword > sizeof (psf->peak))
-					{	psf_binheader_readf (psf, "j", dword) ;
-						psf_log_printf (psf, "*** File PEAK chunk bigger than sizeof (PEAK_CHUNK).\n") ;
-						return SFE_WAV_BAD_PEAK ;
-						} ;
-					if (dword != sizeof (psf->peak) - sizeof (psf->peak.peak) + psf->sf.channels * sizeof (PEAK_POS))
-					{	psf_binheader_readf (psf, "j", dword) ;
-						psf_log_printf (psf, "*** File PEAK chunk size doesn't fit with number of channels.\n") ;
-						return SFE_WAV_BAD_PEAK ;
-						} ;
-					
-					psf_binheader_readf (psf, "ll", &(psf->peak.version), &(psf->peak.timestamp)) ;
-
-					if (psf->peak.version != 1)
-						psf_log_printf (psf, "  version    : %d *** (should be version 1)\n", psf->peak.version) ;
-					else
-						psf_log_printf (psf, "  version    : %d\n", psf->peak.version) ;
-						
-					psf_log_printf (psf, "  time stamp : %d\n", psf->peak.timestamp) ;
-					psf_log_printf (psf, "    Ch   Position       Value\n") ;
-
-					cptr = (char *) psf->buffer ;
-					for (dword = 0 ; dword < psf->sf.channels ; dword++)
-					{	psf_binheader_readf (psf, "fl", &(psf->peak.peak[dword].value), 
-														&(psf->peak.peak[dword].position)) ;
-					
-						snprintf (cptr, sizeof (psf->buffer), "    %2d   %-12d   %g\n", 
-								dword, psf->peak.peak[dword].position, psf->peak.peak[dword].value) ;
-						cptr [sizeof (psf->buffer) - 1] = 0 ;
-						psf_log_printf (psf, cptr) ;
-						};
-
-					psf->has_peak = SF_TRUE ;
-					break ;
-
-			case INFO_MARKER :
-			case LIST_MARKER :
-					psf_log_printf (psf, "%D\n", marker) ;
-					if ((error = wav_subchunk_parse (psf, marker)))
-						return error ;
-					break ;
-			
-			case bext_MARKER :
-			case cue_MARKER :
-			case DISP_MARKER :
-			case MEXT_MARKER :
-					psf_binheader_readf (psf, "l", &dword);
-					psf_log_printf (psf, "%D : %d\n", marker, dword) ;
-					dword += (dword & 1) ;
-					psf_binheader_readf (psf, "j", dword) ;
-					break ;
-
-			case smpl_MARKER :
-			case acid_MARKER :
-			case PAD_MARKER :
-					psf_binheader_readf (psf, "l", &dword);
-					psf_log_printf (psf, " *** %D : %d\n", marker, dword) ;
-					dword += (dword & 1) ;
-					psf_binheader_readf (psf, "j", dword) ;
-					break ;
-
-
-			default : 
-					if (isprint ((marker >> 24) & 0xFF) && isprint ((marker >> 16) & 0xFF)
-						&& isprint ((marker >> 8) & 0xFF) && isprint (marker & 0xFF))
-					{	psf_binheader_readf (psf, "l", &dword);
-						psf_log_printf (psf, "*** %D : %d (unknown marker)\n", marker, dword) ;
-
-						psf_binheader_readf (psf, "j", dword);
-						break ;
-						} ;
-					if (ftell (psf->file) & 0x03)
-					{	psf_log_printf (psf, "  Unknown chunk marker at position %d. Resynching.\n", dword - 4) ;
-						psf_binheader_readf (psf, "j", -3) ;
-						break ;
-						} ;
-					psf_log_printf (psf, "*** Unknown chunk marker : %X. Exiting parser.\n", marker) ;
-					break ;
-			} ;	/* switch (dword) */
-
-		if (! psf->sf.seekable && (parsestage & HAVE_data))
-			break ;
-
-		if (ferror (psf->file))
-		{	psf_log_printf (psf, "*** Error on file handle. ***\n", marker) ;
-			clearerr (psf->file) ;
-			break ;
-			} ;
-
-		if (ftell (psf->file) >= (int) (psf->filelength - (2 * sizeof (dword))))
-			break ;
-		} ; /* while (1) */
-		
-	if (! psf->dataoffset)
-		return SFE_WAV_NO_DATA ;
-
-	psf->current     = 0 ;
-	psf->endian      = SF_ENDIAN_LITTLE ;		/* All WAV files are little endian. */
-	psf->sf.sections = 1 ;
-	
-	fseek (psf->file, psf->dataoffset, SEEK_SET) ;
-	
-	psf->close = (func_close) wav_close ;
-
-	if (psf->blockwidth)
-	{	if (psf->filelength - psf->dataoffset < psf->datalength)
-			psf->sf.samples = (psf->filelength - psf->dataoffset) / psf->blockwidth ;
-		else
-			psf->sf.samples = psf->datalength / psf->blockwidth ;
-		} ;
-
-	switch (format)
-	{	case 	WAVE_FORMAT_PCM :
-		case	WAVE_FORMAT_EXTENSIBLE :
-					psf->sf.format = (SF_FORMAT_WAV | SF_FORMAT_PCM) ;
-					if (psf->bytewidth == 1)
-						psf->chars = SF_CHARS_UNSIGNED ;
-	
-					if ((error = pcm_read_init (psf)))
-						return error ;
-					return 0 ;
-					
-		case	WAVE_FORMAT_IEEE_FLOAT :
-					psf->sf.format   = (SF_FORMAT_WAV | SF_FORMAT_FLOAT) ;
-					float32_read_init (psf) ;
-					return 0 ;
-		
-		default :	return SFE_UNIMPLEMENTED ;
-		} ;
-
-	return 0 ;
-} /* wav_open_read */
-
-/*------------------------------------------------------------------------------
- */
-
-int
-wav_open_write	(SF_PRIVATE *psf)
-{	unsigned int	subformat ;
-	int				error ;
-	
-	if ((psf->sf.format & SF_FORMAT_TYPEMASK) != SF_FORMAT_WAV)
-		return	SFE_BAD_OPEN_FORMAT ;
-	
-	psf->endian      = SF_ENDIAN_LITTLE ;		/* All WAV files are little endian. */
-	psf->sf.seekable = SF_TRUE ;
-	psf->error       = 0 ;
-
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-	if (subformat == SF_FORMAT_ULAW || subformat == SF_FORMAT_ALAW)
-		psf->bytewidth = 1 ;
-	else
-		psf->bytewidth = BITWIDTH2BYTES (psf->sf.pcmbitwidth) ;
-
-	psf->blockwidth  = psf->bytewidth * psf->sf.channels ;
-
-	/* Set sample count artifically high and fix later. */ 
-	psf->sf.samples = 0x7FFFFFFF / psf->blockwidth ; 
-	psf->datalength = psf->blockwidth * psf->sf.samples ;
-	psf->filelength = 0x7FFFFFFF ;
-
-	/* Set standard wav_close and write_header now, may be overridden in wav_write_header. */
-	psf->close        = (func_close)  wav_close ;
-	psf->write_header = (func_wr_hdr) wav_write_header ;
-
-	if ((error = wav_write_header (psf)))
-		return error ;
-
-	return 0 ;
-} /* wav_open_write */
-
-/*------------------------------------------------------------------------------
- */
-
-static int	
-wav_close	(SF_PRIVATE  *psf)
-{	
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know for certain the length of the file we can
-		 *  re-write correct values for the RIFF and data chunks.
-		 */
-
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->tailstart = ftell (psf->file) ;
-		wav_write_tailer (psf) ;
-
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-		fseek (psf->file, 0, SEEK_SET) ;
-		
-		psf->datalength = psf->filelength - psf->dataoffset - (psf->filelength - psf->tailstart) ;
- 		psf->sf.samples = psf->datalength / (psf->bytewidth * psf->sf.channels) ;
-
-		wav_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-
-	return 0 ;
-} /* wav_close */
-
-/*=========================================================================
-** Private functions.
-*/
-
-static int
-read_fmt_chunk (SF_PRIVATE *psf, WAV_FMT *wav_fmt)
-{	unsigned int	bytesread, k, structsize, bytespersec = 0  ;
-	
-	memset (wav_fmt, 0, sizeof (WAV_FMT)) ;
-
-	psf_binheader_readf (psf, "l", &structsize) ;
-	
-	psf_log_printf (psf, "fmt  : %d\n", structsize) ;
-	
-	if (structsize < 16)
-		return SFE_WAV_FMT_SHORT ;
-	if (structsize > sizeof (WAV_FMT))
-		return SFE_WAV_FMT_TOO_BIG ;
-
-	/* Read the minimal WAV file header here. */	
-	bytesread =
-	psf_binheader_readf (psf, "wwllww", &(wav_fmt->format), &(wav_fmt->min.channels),
-			&(wav_fmt->min.samplerate), &(wav_fmt->min.bytespersec), 
-			&(wav_fmt->min.blockalign), &(wav_fmt->min.bitwidth))  ;
-
-	psf_log_printf (psf, "  Format        : 0x%X => %s\n", wav_fmt->format, wav_format_str (wav_fmt->format)) ;
-	psf_log_printf (psf, "  Channels      : %d\n", wav_fmt->min.channels) ;
-	psf_log_printf (psf, "  Sample Rate   : %d\n", wav_fmt->min.samplerate) ;
-	psf_log_printf (psf, "  Block Align   : %d\n", wav_fmt->min.blockalign) ;
-	
-	if (wav_fmt->format == WAVE_FORMAT_GSM610 && wav_fmt->min.bitwidth != 0)
-		psf_log_printf (psf, "  Bit Width     : %d (should be 0)\n", wav_fmt->min.bitwidth) ;
-	else
-		psf_log_printf (psf, "  Bit Width     : %d\n", wav_fmt->min.bitwidth) ;
-	
-	psf->sf.samplerate		= wav_fmt->min.samplerate ;
-	psf->sf.samples 		= 0 ;					/* Correct this when reading data chunk. */
-	psf->sf.channels		= wav_fmt->min.channels ;
-	
-	switch (wav_fmt->format)
-	{	case WAVE_FORMAT_PCM :
-		case WAVE_FORMAT_IEEE_FLOAT :
-				bytespersec = wav_fmt->min.samplerate * wav_fmt->min.blockalign ;
-				if (wav_fmt->min.bytespersec != bytespersec)
-					psf_log_printf (psf, "  Bytes/sec     : %d (should be %d)\n", wav_fmt->min.bytespersec, bytespersec) ;
-				else
-					psf_log_printf (psf, "  Bytes/sec     : %d\n", wav_fmt->min.bytespersec) ;
-		
-				psf->sf.pcmbitwidth	= wav_fmt->min.bitwidth ;
-				psf->bytewidth      = BITWIDTH2BYTES (wav_fmt->min.bitwidth) ;
-				break ;
-
-		case WAVE_FORMAT_EXTENSIBLE :
-				if (wav_fmt->ext.bytespersec / wav_fmt->ext.blockalign != wav_fmt->ext.samplerate)
-					psf_log_printf (psf, "  Bytes/sec     : %d (should be %d)\n", wav_fmt->ext.bytespersec, wav_fmt->ext.samplerate * wav_fmt->ext.blockalign) ;
-				else
-					psf_log_printf (psf, "  Bytes/sec     : %d\n", wav_fmt->ext.bytespersec) ;
-
-				bytesread += 
-				psf_binheader_readf (psf, "wwl", &(wav_fmt->ext.extrabytes), &(wav_fmt->ext.validbits),
-						&(wav_fmt->ext.channelmask)) ;
-
-				psf_log_printf (psf, "  Valid Bits    : %d\n", wav_fmt->ext.validbits) ;
-				psf_log_printf (psf, "  Channel Mask  : 0x%X\n", wav_fmt->ext.channelmask) ;
-
-				bytesread += 
-				psf_binheader_readf (psf, "lww", &(wav_fmt->ext.esf.esf_field1), &(wav_fmt->ext.esf.esf_field2),
-						&(wav_fmt->ext.esf.esf_field3)) ;
-
-				psf_log_printf (psf, "  Subformat\n") ;
-				psf_log_printf (psf, "    esf_field1 : 0x%X\n", wav_fmt->ext.esf.esf_field1) ;
-				psf_log_printf (psf, "    esf_field2 : 0x%X\n", wav_fmt->ext.esf.esf_field2) ;
-				psf_log_printf (psf, "    esf_field3 : 0x%X\n", wav_fmt->ext.esf.esf_field3) ;
-				psf_log_printf (psf, "    esf_field4 : ") ;
-				for (k = 0 ; k < 8 ; k++)
-				{	bytesread += psf_binheader_readf (psf, "b", &(wav_fmt->ext.esf.esf_field4 [k])) ;
-					psf_log_printf (psf, "0x%X ", wav_fmt->ext.esf.esf_field4 [k] & 0xFF) ;
-					} ;
-				psf_log_printf (psf, "\n") ;
-				psf->sf.pcmbitwidth = wav_fmt->ext.bitwidth ;
-				psf->bytewidth      = BITWIDTH2BYTES (wav_fmt->ext.bitwidth) ;
-				break ;
-
-		default : break ;
-		} ;
-
-	if (bytesread > structsize)	
-	{	psf_log_printf (psf, "*** read_fmt_chunk (bytesread > structsize)\n") ;
-		return SFE_WAV_FMT_SHORT ;
-		}
-	else
-		fread (psf->buffer, 1, structsize - bytesread, psf->file) ;
-
-	psf->blockwidth = wav_fmt->min.channels * psf->bytewidth ;
-
-	return 0 ;
-} /* read_fmt_chunk */
-
-static int 
-wav_write_header (SF_PRIVATE *psf)
-{	unsigned int 	fmt_size ;
-	int 			k, error, subformat ;
-	
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	/* RIFF marker, length, WAVE and 'fmt ' markers. */		
-	psf_binheader_writef (psf, "mlmm", RIFF_MARKER, psf->filelength - 8, WAVE_MARKER, fmt_MARKER) ;
-
-	subformat = psf->sf.format & SF_FORMAT_SUBMASK ;
-
-	switch (subformat)
-	{	case	SF_FORMAT_PCM : 
-					psf->sf.format = (SF_FORMAT_WAV | SF_FORMAT_PCM) ;
-
-					if (psf->bytewidth == 1)
-						psf->chars = SF_CHARS_UNSIGNED ;
-	
-					if ((error = pcm_write_init (psf)))
-						return error ;
-		
-					fmt_size = 2 + 2 + 4 + 4 + 2 + 2 ;
-
-					/* fmt : format, channels, samplerate */
-					psf_binheader_writef (psf, "lwwl", fmt_size, WAVE_FORMAT_PCM, psf->sf.channels, psf->sf.samplerate) ;
-					/*  fmt : bytespersec */
-					psf_binheader_writef (psf, "l", psf->sf.samplerate * psf->bytewidth * psf->sf.channels) ;
-					/*  fmt : blockalign, bitwidth */
-					psf_binheader_writef (psf, "ww", psf->bytewidth * psf->sf.channels, psf->sf.pcmbitwidth) ;
-					break ;
-
-		case	SF_FORMAT_FLOAT : 
-					psf->sf.format = (SF_FORMAT_WAV | SF_FORMAT_FLOAT) ;
-
-					/* Add the peak chunk to floating point files. */					
-					psf->has_peak = SF_TRUE ;
-					psf->peak_loc = SF_PEAK_START ;
-					float32_write_init (psf) ;
-					
-					fmt_size = 2 + 2 + 4 + 4 + 2 + 2 ;
-
-					/* fmt : format, channels, samplerate */
-					psf_binheader_writef (psf, "lwwl", fmt_size, WAVE_FORMAT_IEEE_FLOAT, psf->sf.channels, psf->sf.samplerate) ;
-					/*  fmt : bytespersec */
-					psf_binheader_writef (psf, "l", psf->sf.samplerate * psf->bytewidth * psf->sf.channels) ;
-					/*  fmt : blockalign, bitwidth */
-					psf_binheader_writef (psf, "ww", psf->bytewidth * psf->sf.channels, psf->sf.pcmbitwidth) ;
-
-					/* Write 'fact' chunk. */
-					psf_binheader_writef (psf, "mll", fact_MARKER, FACT_CHUNK_SIZE, psf->sf.samples) ;
-					break ;
-
-		default : 	return SFE_UNIMPLEMENTED ;
-		} ;
-
-	if (psf->has_peak && psf->peak_loc == SF_PEAK_START)
-	{	psf_binheader_writef (psf, "ml", PEAK_MARKER, 
-			sizeof (psf->peak) - sizeof (psf->peak.peak) + psf->sf.channels * sizeof (PEAK_POS)) ;
-		psf_binheader_writef (psf, "ll", 1, time (NULL)) ;
-		for (k = 0 ; k < psf->sf.channels ; k++)
-			psf_binheader_writef (psf, "fl", psf->peak.peak[k].value, psf->peak.peak[k].position) ;
-		} ;
-
-	psf_binheader_writef (psf, "ml", data_MARKER, psf->datalength) ;
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-
-	return 0 ;
-} /* wav_write_header */
-
-static int 
-wav_write_tailer (SF_PRIVATE *psf)
-{	int		k ;
-
-	/* Reset the current header buffer length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_END) ;
-
-	if (psf->has_peak && psf->peak_loc == SF_PEAK_END)
-	{	psf_binheader_writef (psf, "ml", PEAK_MARKER, 
-			sizeof (psf->peak) - sizeof (psf->peak.peak) + psf->sf.channels * sizeof (PEAK_POS)) ;
-		psf_binheader_writef (psf, "ll", 1, time (NULL)) ;
-		for (k = 0 ; k < psf->sf.channels ; k++)
-			psf_binheader_writef (psf, "fl", psf->peak.peak[k].value, psf->peak.peak[k].position) ; /* XXXXX */
-		} ;
-
-	if (psf->headindex > 0)
-		fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	return 0 ;
-} /* wav_write_tailer */
-
-static int
-wav_subchunk_parse (SF_PRIVATE *psf, int chunk)
-{	unsigned int dword, bytesread, length ;
-
-	bytesread = psf_binheader_readf (psf, "l", &length);
-
-	while (bytesread < length)
-	{	bytesread += psf_binheader_readf (psf, "m", &chunk);
-
-		switch (chunk)
-		{	case adtl_MARKER :
-			case INFO_MARKER :
-					/* These markers don't contain anything. */
-					psf_log_printf (psf, "  %D\n", chunk) ;
-					break ;
-
-
-			case IART_MARKER :
-			case ICMT_MARKER : 
-			case ICOP_MARKER :
-			case ICRD_MARKER :
-			case IENG_MARKER :
-			
-			case INAM_MARKER :
-			case IPRD_MARKER :
-			case ISBJ_MARKER :
-			case ISFT_MARKER :
-			case ISRC_MARKER :
-					bytesread += psf_binheader_readf (psf, "l", &dword);
-					dword += (dword & 1) ;
-					if (dword > sizeof (psf->buffer))
-					{	psf_log_printf (psf, "  *** %D : %d (too big)\n", chunk, dword) ;
-						return SFE_INTERNAL ;
-						} ;
-					bytesread += psf_binheader_readf (psf, "B", psf->buffer, dword) ;
-					psf->buffer [dword - 1] = 0 ;
-					psf_log_printf (psf, "    %D : %s\n", chunk, psf->buffer) ;
-					break ;
-
-			case labl_MARKER :
-			case note_MARKER :
-					bytesread += psf_binheader_readf (psf, "l", &dword);
-					dword += (dword & 1) ;
-					psf_binheader_readf (psf, "j", dword) ;
-					bytesread += dword ;
-					psf_log_printf (psf, "    %D : %d\n", chunk, dword) ;
-					break ;
-
-			default : 
-					bytesread += psf_binheader_readf (psf, "l", &dword);
-					dword += (dword & 1) ;
-					bytesread += psf_binheader_readf (psf, "j", dword) ;
-					psf_log_printf (psf, "    *** %D : %d\n", chunk, dword) ;
-					break ;
-			} ;
-		} ;
-
-	return 0 ;
-} /* wav_subchunk_parse */
-
-static char const* 
-wav_format_str (int k)
-{	switch (k)
-	{	case WAVE_FORMAT_UNKNOWN :
-			return "WAVE_FORMAT_UNKNOWN" ;
-		case WAVE_FORMAT_PCM          :
-			return "WAVE_FORMAT_PCM         " ;
-		case WAVE_FORMAT_MS_ADPCM :
-			return "WAVE_FORMAT_MS_ADPCM" ;
-		case WAVE_FORMAT_IEEE_FLOAT :
-			return "WAVE_FORMAT_IEEE_FLOAT" ;
-		case WAVE_FORMAT_IBM_CVSD :
-			return "WAVE_FORMAT_IBM_CVSD" ;
-		case WAVE_FORMAT_ALAW :
-			return "WAVE_FORMAT_ALAW" ;
-		case WAVE_FORMAT_MULAW :
-			return "WAVE_FORMAT_MULAW" ;
-		case WAVE_FORMAT_OKI_ADPCM :
-			return "WAVE_FORMAT_OKI_ADPCM" ;
-		case WAVE_FORMAT_IMA_ADPCM :
-			return "WAVE_FORMAT_IMA_ADPCM" ;
-		case WAVE_FORMAT_MEDIASPACE_ADPCM :
-			return "WAVE_FORMAT_MEDIASPACE_ADPCM" ;
-		case WAVE_FORMAT_SIERRA_ADPCM :
-			return "WAVE_FORMAT_SIERRA_ADPCM" ;
-		case WAVE_FORMAT_G723_ADPCM :
-			return "WAVE_FORMAT_G723_ADPCM" ;
-		case WAVE_FORMAT_DIGISTD :
-			return "WAVE_FORMAT_DIGISTD" ;
-		case WAVE_FORMAT_DIGIFIX :
-			return "WAVE_FORMAT_DIGIFIX" ;
-		case WAVE_FORMAT_DIALOGIC_OKI_ADPCM :
-			return "WAVE_FORMAT_DIALOGIC_OKI_ADPCM" ;
-		case WAVE_FORMAT_MEDIAVISION_ADPCM :
-			return "WAVE_FORMAT_MEDIAVISION_ADPCM" ;
-		case WAVE_FORMAT_YAMAHA_ADPCM :
-			return "WAVE_FORMAT_YAMAHA_ADPCM" ;
-		case WAVE_FORMAT_SONARC :
-			return "WAVE_FORMAT_SONARC" ;
-		case WAVE_FORMAT_DSPGROUP_TRUESPEECH  :
-			return "WAVE_FORMAT_DSPGROUP_TRUESPEECH " ;
-		case WAVE_FORMAT_ECHOSC1 :
-			return "WAVE_FORMAT_ECHOSC1" ;
-		case WAVE_FORMAT_AUDIOFILE_AF18   :
-			return "WAVE_FORMAT_AUDIOFILE_AF18  " ;
-		case WAVE_FORMAT_APTX :
-			return "WAVE_FORMAT_APTX" ;
-		case WAVE_FORMAT_AUDIOFILE_AF10   :
-			return "WAVE_FORMAT_AUDIOFILE_AF10  " ;
-		case WAVE_FORMAT_DOLBY_AC2 :
-			return "WAVE_FORMAT_DOLBY_AC2" ;
-		case WAVE_FORMAT_GSM610 :
-			return "WAVE_FORMAT_GSM610" ;
-		case WAVE_FORMAT_MSNAUDIO :
-			return "WAVE_FORMAT_MSNAUDIO" ;
-		case WAVE_FORMAT_ANTEX_ADPCME :
-			return "WAVE_FORMAT_ANTEX_ADPCME" ;
-		case WAVE_FORMAT_CONTROL_RES_VQLPC :
-			return "WAVE_FORMAT_CONTROL_RES_VQLPC" ;
-		case WAVE_FORMAT_DIGIREAL :
-			return "WAVE_FORMAT_DIGIREAL" ;
-		case WAVE_FORMAT_DIGIADPCM :
-			return "WAVE_FORMAT_DIGIADPCM" ;
-		case WAVE_FORMAT_CONTROL_RES_CR10 :
-			return "WAVE_FORMAT_CONTROL_RES_CR10" ;
-		case WAVE_FORMAT_NMS_VBXADPCM :
-			return "WAVE_FORMAT_NMS_VBXADPCM" ;
-		case WAVE_FORMAT_ROCKWELL_ADPCM :
-			return "WAVE_FORMAT_ROCKWELL_ADPCM" ;
-		case WAVE_FORMAT_ROCKWELL_DIGITALK :
-			return "WAVE_FORMAT_ROCKWELL_DIGITALK" ;
-		case WAVE_FORMAT_G721_ADPCM :
-			return "WAVE_FORMAT_G721_ADPCM" ;
-		case WAVE_FORMAT_MPEG :
-			return "WAVE_FORMAT_MPEG" ;
-		case WAVE_FORMAT_MPEGLAYER3 :
-			return "WAVE_FORMAT_MPEGLAYER3" ;
-		case IBM_FORMAT_MULAW :
-			return "IBM_FORMAT_MULAW" ;
-		case IBM_FORMAT_ALAW :
-			return "IBM_FORMAT_ALAW" ;
-		case IBM_FORMAT_ADPCM :
-			return "IBM_FORMAT_ADPCM" ;
-		case WAVE_FORMAT_CREATIVE_ADPCM :
-			return "WAVE_FORMAT_CREATIVE_ADPCM" ;
-		case WAVE_FORMAT_FM_TOWNS_SND :
-			return "WAVE_FORMAT_FM_TOWNS_SND" ;
-		case WAVE_FORMAT_OLIGSM :
-			return "WAVE_FORMAT_OLIGSM" ;
-		case WAVE_FORMAT_OLIADPCM :
-			return "WAVE_FORMAT_OLIADPCM" ;
-		case WAVE_FORMAT_OLICELP :
-			return "WAVE_FORMAT_OLICELP" ;
-		case WAVE_FORMAT_OLISBC :
-			return "WAVE_FORMAT_OLISBC" ;
-		case WAVE_FORMAT_OLIOPR :
-			return "WAVE_FORMAT_OLIOPR" ;
-		case WAVE_FORMAT_EXTENSIBLE :
-			return "WAVE_FORMAT_EXTENSIBLE" ;
-		break ;
-		} ;
-	return "Unknown format" ;
-} /* wav_format_str */
--- a/common/libsndfile/src/wav.h
+++ /dev/null
@@ -1,126 +1,0 @@
-#ifndef WAV_H_INCLUDED
-#define WAV_H_INCLUDED
-
-#ifdef _WIN32
-	#pragma pack(push,1)
-#endif
-
-typedef	struct
-{	unsigned short	format ;
-	unsigned short	channels ;
-	unsigned int	samplerate ;
-	unsigned int	bytespersec ;
-	unsigned short	blockalign ;
-	unsigned short	bitwidth ;
-} MIN_WAV_FMT ;
-
-typedef	struct 
-{	unsigned short	format ;
-	unsigned short	channels ;
-	unsigned int	samplerate ;
-	unsigned int	bytespersec ;
-	unsigned short	blockalign ;
-	unsigned short	bitwidth ;
-	unsigned short	extrabytes ;
-	unsigned short	dummy ;
-} WAV_FMT_SIZE20 ;
-
-typedef	struct
-{	unsigned short	format ;
-	unsigned short	channels ;
-	unsigned int	samplerate ;
-	unsigned int	bytespersec ;
-	unsigned short	blockalign ;
-	unsigned short	bitwidth ;
-	unsigned short	extrabytes ;
-	unsigned short	samplesperblock ;
-	unsigned short	numcoeffs ;
-	struct
-	{	short	coeff1 ;
-		short	coeff2 ;
-	}	coeffs [7] ;
-} MS_ADPCM_WAV_FMT ;
-
-typedef	struct
-{	unsigned short	format ;
-	unsigned short	channels ;
-	unsigned int	samplerate ;
-	unsigned int	bytespersec ;
-	unsigned short	blockalign ;
-	unsigned short	bitwidth ;
-	unsigned short	extrabytes ;
-	unsigned short	samplesperblock ;
-} IMA_ADPCM_WAV_FMT ;
-
-typedef	struct
-{	unsigned short	format ;
-	unsigned short	channels ;
-	unsigned int	samplerate ;
-	unsigned int	bytespersec ;
-	unsigned short	blockalign ;
-	unsigned short	bitwidth ;
-	unsigned short	extrabytes ;
-	unsigned short	samplesperblock ;
-} GSM610_WAV_FMT ;
-
-typedef struct
-{	unsigned int	esf_field1 ;
-	unsigned short	esf_field2 ;
-	unsigned short	esf_field3 ;
-	unsigned char	esf_field4 [8] ;
-} EXT_SUBFORMAT ;
-
-typedef	struct
-{	unsigned short	format ;
-	unsigned short	channels ;
-	unsigned int	samplerate ;
-	unsigned int	bytespersec ;
-	unsigned short	blockalign ;
-	unsigned short	bitwidth ;
-	unsigned short	extrabytes ;
-	unsigned short	validbits ;
-	unsigned int	channelmask ;
-	EXT_SUBFORMAT	esf ;
-} EXTENSIBLE_WAV_FMT ;
-
-typedef union
-{	unsigned short		format ;
-	MIN_WAV_FMT			min ;
-	IMA_ADPCM_WAV_FMT	ima ;
-	MS_ADPCM_WAV_FMT	msadpcm ;
-	EXTENSIBLE_WAV_FMT	ext ;
-	GSM610_WAV_FMT		gsm610 ;
-	WAV_FMT_SIZE20		size20 ;
-	char				padding [512] ;
-} WAV_FMT ;
-
-typedef struct
-{	unsigned int samples ;
-} FACT_CHUNK ;
-
-/*------------------------------------------------------------------------------------ 
-**	Functions defined in wav_ima_adpcm.c
-*/
-
-int		wav_ima_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt) ;
-int		wav_ima_writer_init (SF_PRIVATE *psf) ;
-
-/*------------------------------------------------------------------------------------ 
-**	Functions defined in wav_ms_adpcm.c
-*/
-
-int		wav_msadpcm_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt) ;
-int		wav_msadpcm_writer_init (SF_PRIVATE *psf) ;
-
-/*------------------------------------------------------------------------------------ 
-**	Functions defined in wav_gsm610.c
-*/
-
-int		wav_gsm610_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt) ;
-int		wav_gsm610_writer_init (SF_PRIVATE *psf) ;
-
-#ifdef _WIN32
-	#pragma pack(pop,1)
-#endif
-
-#endif
--- a/common/libsndfile/src/wav_gsm610.c
+++ /dev/null
@@ -1,624 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<math.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"floatcast.h"
-#include	"common.h"
-#include	"wav.h"
-#include	"GSM610/gsm.h"
-
-#if (CPU_IS_LITTLE_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		((a)|((b)<<8)|((c)<<16)|((d)<<24))
-#elif (CPU_IS_BIG_ENDIAN == 1)
-#	define	MAKE_MARKER(a,b,c,d)		(((a)<<24)|((b)<<16)|((c)<<8)|(d))
-#else
-#	error "Cannot determine endian-ness of processor."
-#endif
-
-#define RIFF_MARKER	(MAKE_MARKER ('R', 'I', 'F', 'F')) 
-#define WAVE_MARKER	(MAKE_MARKER ('W', 'A', 'V', 'E')) 
-#define fmt_MARKER	(MAKE_MARKER ('f', 'm', 't', ' ')) 
-#define fact_MARKER	(MAKE_MARKER ('f', 'a', 'c', 't')) 
-#define data_MARKER	(MAKE_MARKER ('d', 'a', 't', 'a')) 
-
-#define 	WAVE_FORMAT_GSM610	0x0031
-
-#define		GSM610_BLOCKSIZE	65
-#define		GSM610_SAMPLES		320
-
-typedef struct
-{	unsigned int	blocks ; 
-	int				blockcount, samplecount ;
-	unsigned char	block [GSM610_BLOCKSIZE] ;
-	short			samples [GSM610_SAMPLES] ;
-	gsm				gsm_data ;
-} GSM610_PRIVATE ;
-
-
-static	int	wav_gsm610_read_block (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610) ;
-static	int wav_gsm610_read (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610, short *ptr, int len) ;
-
-static	int	wav_gsm610_write_block (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610) ;
-static	int wav_gsm610_write (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610, short *ptr, int len) ;
-
-static long  wav_gsm610_seek   (SF_PRIVATE *psf, long offset, int whence) ;
-
-static int	wav_gsm610_read_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	wav_gsm610_read_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	wav_gsm610_read_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	wav_gsm610_read_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int	wav_gsm610_write_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	wav_gsm610_write_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	wav_gsm610_write_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	wav_gsm610_write_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int	wav_gsm610_close	(SF_PRIVATE  *psf) ;
-static int	wav_gsm610_write_header (SF_PRIVATE  *psf) ;
-
-/*============================================================================================
-** WAV GSM610 Reader initialisation function.
-*/
-
-int	
-wav_gsm610_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt)
-{	GSM610_PRIVATE	*pgsm610 ;
-	int  true = 1 ;
-	
-	psf->sf.seekable = SF_FALSE ;
-	/*-psf->sf.seekable = SF_TRUE ;		-*/
-	psf->seek_func = (func_seek) wav_gsm610_seek ;
-
-	psf->read_short  = (func_short)  wav_gsm610_read_s ;
-	psf->read_int    = (func_int)    wav_gsm610_read_i ;
-	psf->read_float  = (func_float)  wav_gsm610_read_f ;
-	psf->read_double = (func_double) wav_gsm610_read_d ;
-
-	if (psf->mode != SF_MODE_READ)
-		return SFE_BAD_MODE_RW ;
-
-	if (! (pgsm610 = malloc (sizeof (GSM610_PRIVATE))))
-		return SFE_MALLOC_FAILED ;
-
-	psf->fdata = (void*) pgsm610 ;
-
-	memset (pgsm610, 0, sizeof (GSM610_PRIVATE)) ;
-
-	if (! (pgsm610->gsm_data = gsm_create ()))
-		return SFE_MALLOC_FAILED ;
-	gsm_option (pgsm610->gsm_data,  GSM_OPT_WAV49, &true) ;
-
-	if (psf->datalength % GSM610_BLOCKSIZE)
-	{	psf_log_printf (psf, "*** Warning : data chunk seems to be truncated.\n") ;
-		pgsm610->blocks = psf->datalength / GSM610_BLOCKSIZE + 1 ;
-		}
-	else
-		pgsm610->blocks = psf->datalength / GSM610_BLOCKSIZE ;
-	
-	psf->sf.samples = GSM610_SAMPLES * pgsm610->blocks ;
-	
-	wav_gsm610_read_block (psf, pgsm610) ;	/* Read first block. */
-	
-	return 0 ;	
-} /* wav_gsm610_reader_init */
-
-/*============================================================================================
-** WAV GSM610 writer initialisation function.
-*/
-
-int	
-wav_gsm610_writer_init (SF_PRIVATE *psf)
-{	GSM610_PRIVATE	*pgsm610 ;
-	int  true = 1, samplesperblock, bytespersec ;
-	
-	if (psf->mode != SF_MODE_WRITE)
-		return SFE_BAD_MODE_RW ;
-
-	if (! (pgsm610 = malloc (sizeof (GSM610_PRIVATE))))
-		return SFE_MALLOC_FAILED ;
-		
-	psf->fdata = (void*) pgsm610 ;
-
-	memset (pgsm610, 0, sizeof (GSM610_PRIVATE)) ;
-	
-	if (! (pgsm610->gsm_data = gsm_create ()))
-		return SFE_MALLOC_FAILED ;
-	gsm_option (pgsm610->gsm_data,  GSM_OPT_WAV49, &true) ;
-
-	pgsm610->blockcount  = 0 ;
-	pgsm610->samplecount = 0 ;
-	
-	samplesperblock = GSM610_SAMPLES ;
-	bytespersec     = psf->sf.samplerate * GSM610_BLOCKSIZE / GSM610_SAMPLES ;
-	
-	if (bytespersec * GSM610_SAMPLES / GSM610_BLOCKSIZE < psf->sf.samplerate) 
-		bytespersec ++ ;
-
-	psf->datalength  = (psf->sf.samples / samplesperblock) * samplesperblock ;
-	if (psf->sf.samples % samplesperblock)
-		psf->datalength += samplesperblock ;
-
-	wav_gsm610_write_header (psf) ;
-
-	psf->write_short  = (func_short)   wav_gsm610_write_s ;
-	psf->write_int    = (func_int)     wav_gsm610_write_i ;
-	psf->write_float  = (func_float)   wav_gsm610_write_f ;
-	psf->write_double = (func_double)  wav_gsm610_write_d ;
-	
-	psf->seek_func    = NULL ; /* Not seekable */
-	psf->close        = (func_close)   wav_gsm610_close ;
-	psf->write_header = (func_wr_hdr)  wav_gsm610_write_header ;
-					
-	return 0 ;
-} /* wav_gsm610_writer_init */
-
-/*============================================================================================
-** GSM 6.10 Read Functions.
-*/
-
-static int		
-wav_gsm610_read_block (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610)
-{	int	k ;
-	
-	pgsm610->blockcount ++ ;
-	pgsm610->samplecount = 0 ;
-	
-	if (pgsm610->blockcount > pgsm610->blocks)
-	{	memset (pgsm610->samples, 0, GSM610_SAMPLES * sizeof (short)) ;
-		return 1 ;
-		} ;
-
-	if ((k = fread (pgsm610->block, 1, GSM610_BLOCKSIZE, psf->file)) != GSM610_BLOCKSIZE)
-		psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, GSM610_BLOCKSIZE) ;
-
-	if (gsm_decode (pgsm610->gsm_data, pgsm610->block, pgsm610->samples) < 0)
-	{	psf_log_printf (psf, "Error from gsm_decode() on frame : %d\n", pgsm610->blockcount) ;
-		return 0 ;
-		} ;
-			
-	if (gsm_decode (pgsm610->gsm_data, pgsm610->block+(GSM610_BLOCKSIZE+1)/2, pgsm610->samples+GSM610_SAMPLES/2) < 0)
-	{	psf_log_printf (psf, "Error from gsm_decode() on frame : %d.5\n", pgsm610->blockcount) ;
-		return 0 ;
-		} ;
-
-	return 1 ;
-} /* wav_gsm610_read_block */
-
-static int 
-wav_gsm610_read (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-
-	while (index < len)
-	{	if (pgsm610->blockcount >= pgsm610->blocks && pgsm610->samplecount >= GSM610_SAMPLES)
-		{	memset (&(ptr[index]), 0, (len - index) * sizeof (short)) ;
-			return total ;
-			} ;
-		
-		if (pgsm610->samplecount >= GSM610_SAMPLES)
-			wav_gsm610_read_block (psf, pgsm610) ;
-		
-		count = GSM610_SAMPLES - pgsm610->samplecount ;
-		count = (len - index > count) ? count : len - index ;
-		
-		memcpy (&(ptr[index]), &(pgsm610->samples [pgsm610->samplecount]), count * sizeof (short)) ;
-		index += count ;
-		pgsm610->samplecount += count ;
-		total = index ;
-		} ;
-
-	return total ;		
-} /* wav_gsm610_read */
-
-static int		
-wav_gsm610_read_s (SF_PRIVATE *psf, short *ptr, int len)
-{	GSM610_PRIVATE 	*pgsm610 ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	total = wav_gsm610_read (psf, pgsm610, ptr, len) ;
-
-	return total ;
-} /* wav_gsm610_read_s */
-
-static int		
-wav_gsm610_read_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	GSM610_PRIVATE *pgsm610 ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = wav_gsm610_read (psf, pgsm610, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (int) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* wav_gsm610_read_i */
-
-static int		
-wav_gsm610_read_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	GSM610_PRIVATE *pgsm610 ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = wav_gsm610_read (psf, pgsm610, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* wav_gsm610_read_d */
-
-static int		
-wav_gsm610_read_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	GSM610_PRIVATE *pgsm610 ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	double		normfact ;
-	
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = wav_gsm610_read (psf, pgsm610, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (double) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* wav_gsm610_read_d */
-
-static long    
-wav_gsm610_seek   (SF_PRIVATE *psf, long offset, int whence)
-{	GSM610_PRIVATE *pgsm610 ; 
-	int			newblock, newsample ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-
-	if (! (psf->blockwidth && psf->datalength && psf->dataoffset))
-	{	psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-		
-	switch (whence)
-	{	case SEEK_SET :
-				if (offset < 0 || offset > pgsm610->blocks * GSM610_SAMPLES)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = offset / GSM610_SAMPLES ;
-				newsample = offset % GSM610_SAMPLES ;
-				break ;
-				
-		case SEEK_CUR :
-				if (psf->current + offset < 0 || psf->current + offset > pgsm610->blocks * GSM610_SAMPLES)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (psf->current + offset) / GSM610_SAMPLES ;
-				newsample = (psf->current + offset) % GSM610_SAMPLES ;
-				break ;
-				
-		case SEEK_END :
-				if (offset > 0 || GSM610_SAMPLES * pgsm610->blocks + offset < 0)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (GSM610_SAMPLES * pgsm610->blocks + offset) / GSM610_SAMPLES ;
-				newsample = (GSM610_SAMPLES * pgsm610->blocks + offset) % GSM610_SAMPLES ;
-				break ;
-				
-		default : 
-				psf->error = SFE_BAD_SEEK ;
-				return	((long) -1) ;
-		} ;
-		
-	if (psf->mode == SF_MODE_READ)
-	{	fseek (psf->file, (int) (psf->dataoffset + newblock * GSM610_BLOCKSIZE), SEEK_SET) ;
-		pgsm610->blockcount  = newblock ;
-		wav_gsm610_read_block (psf, pgsm610) ;
-		pgsm610->samplecount = newsample ;
-		}
-	else
-	{	/* What to do about write??? */ 
-		psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	psf->current = newblock * GSM610_SAMPLES + newsample ;
-	return psf->current ;
-} /* wav_gsm610_seek */
-
-/*==========================================================================================
-** GSM 6.10 Write Functions.
-*/
-
-
-
-/*==========================================================================================
-*/
-
-static int
-wav_gsm610_write_block (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610)
-{	int k ;
-
-	/* Encode the samples. */
-	gsm_encode (pgsm610->gsm_data, pgsm610->samples, pgsm610->block) ;
-	gsm_encode (pgsm610->gsm_data, pgsm610->samples+GSM610_SAMPLES/2, pgsm610->block+GSM610_BLOCKSIZE/2) ;
-
-	/* Write the block to disk. */
-	if ((k = fwrite (pgsm610->block, 1, GSM610_BLOCKSIZE, psf->file)) != GSM610_BLOCKSIZE)
-		psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, GSM610_BLOCKSIZE) ;
-
-	pgsm610->samplecount = 0 ;
-	pgsm610->blockcount ++ ;
-
-	/* Set samples to zero for next block. */
-	memset (pgsm610->samples, 0, GSM610_SAMPLES * sizeof (short)) ;
-
-	return 1 ;
-} /* wav_gsm610_write_block */
-
-static int 
-wav_gsm610_write (SF_PRIVATE *psf, GSM610_PRIVATE *pgsm610, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	count = GSM610_SAMPLES - pgsm610->samplecount ;
-
-		if (count > len - index)
-			count = len - index ;
-
-		memcpy (&(pgsm610->samples [pgsm610->samplecount]), &(ptr [index]), count * sizeof (short)) ;
-		index += count ;
-		pgsm610->samplecount += count ;
-		total = index ;
-
-		if (pgsm610->samplecount >= GSM610_SAMPLES)
-			wav_gsm610_write_block (psf, pgsm610) ;	
-		} ;
-
-	return total ;		
-} /* wav_gsm610_write */
-
-static int		
-wav_gsm610_write_s (SF_PRIVATE *psf, short *ptr, int len)
-{	GSM610_PRIVATE 	*pgsm610 ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	total = wav_gsm610_write (psf, pgsm610, ptr, len) ;
-
-	return total ;
-} /* wav_gsm610_write_s */
-
-static int		
-wav_gsm610_write_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	GSM610_PRIVATE *pgsm610 ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = (short) ptr [index+k] ;
-		count = wav_gsm610_write (psf, pgsm610, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* wav_gsm610_write_i */
-
-static int		
-wav_gsm610_write_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	GSM610_PRIVATE *pgsm610 ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = FLOAT_TO_SHORT (normfact * ptr [index+k])  ;
-		count = wav_gsm610_write (psf, pgsm610, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* wav_gsm610_write_f */
-
-static int		
-wav_gsm610_write_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	GSM610_PRIVATE *pgsm610 ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	double		normfact ;
-	
-	normfact = (normalize ? (double) 0x8000 : 1.0) ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = DOUBLE_TO_SHORT (normfact * ptr [index+k])  ;
-		count = wav_gsm610_write (psf, pgsm610, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* wav_gsm610_write_d */
-
-static int
-wav_gsm610_write_header (SF_PRIVATE  *psf)
-{	int  fmt_size, blockalign, samplesperblock, bytespersec ;
-
-	blockalign      = GSM610_BLOCKSIZE ;
-	samplesperblock = GSM610_SAMPLES ;
-	bytespersec     = (psf->sf.samplerate * blockalign) / samplesperblock ;
-
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	/* RIFF marker, length, WAVE and 'fmt ' markers. */		
-	psf_binheader_writef (psf, "mlmm", RIFF_MARKER, psf->filelength - 8, WAVE_MARKER, fmt_MARKER) ;
-
-	/* fmt chunk. */
-	fmt_size = 2 + 2 + 4 + 4 + 2 + 2 + 2 + 2 ;
-	
-	/* fmt : size, WAV format type, channels. */
-	psf_binheader_writef (psf, "lww", fmt_size, WAVE_FORMAT_GSM610, psf->sf.channels) ;
-
-	/* fmt : samplerate, bytespersec. */
-	psf_binheader_writef (psf, "ll", psf->sf.samplerate, bytespersec) ;
-
-	/* fmt : blockalign, bitwidth, extrabytes, samplesperblock. */
-	psf_binheader_writef (psf, "wwww", blockalign, 0, 2, samplesperblock) ;
-
-	/* Fact chunk : marker, chunk size, samples */	
-	psf_binheader_writef (psf, "mll", fact_MARKER, sizeof (int), psf->sf.samples) ;
-
-	/* DATA chunk : marker, datalength. */
-	psf_binheader_writef (psf, "ml", data_MARKER, psf->datalength) ;
-
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-
-	psf->datalength  = (psf->sf.samples / samplesperblock) * samplesperblock ;
-	if (psf->sf.samples % samplesperblock)
-		psf->datalength += samplesperblock ;
-
-	return 0 ;
-} /* wav_gsm610_write_header */
-
-int	
-wav_gsm610_close	(SF_PRIVATE  *psf)
-{	GSM610_PRIVATE *pgsm610 ; 
-
-	if (! psf->fdata)
-		return 0 ;
-
-	pgsm610 = (GSM610_PRIVATE*) psf->fdata ;
-
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*	If a block has been partially assembled, write it out
-		**	as the final block.
-		*/
-	
-		if (pgsm610->samplecount && pgsm610->samplecount < GSM610_SAMPLES)
-			wav_gsm610_write_block (psf, pgsm610) ;	
-
-		/*  Now we know for certain the length of the file we can
-		**  re-write correct values for the RIFF and data chunks.
-		*/
-		 
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-
-		psf->sf.samples = GSM610_SAMPLES * pgsm610->blockcount ;
-		psf->datalength = psf->filelength - psf->dataoffset ;
-
-		wav_gsm610_write_header (psf) ;
-		} ;
-
-	if (pgsm610->gsm_data)
-		gsm_destroy (pgsm610->gsm_data) ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-
-	return 0 ;
-} /* wav_gsm610_close */
-
--- a/common/libsndfile/src/wav_ima_adpcm.c
+++ /dev/null
@@ -1,816 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<math.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"floatcast.h"
-#include	"common.h"
-#include	"wav.h"
-
-#define RIFF_MARKER	(MAKE_MARKER ('R', 'I', 'F', 'F')) 
-#define WAVE_MARKER	(MAKE_MARKER ('W', 'A', 'V', 'E')) 
-#define fmt_MARKER	(MAKE_MARKER ('f', 'm', 't', ' ')) 
-#define fact_MARKER	(MAKE_MARKER ('f', 'a', 'c', 't')) 
-#define data_MARKER	(MAKE_MARKER ('d', 'a', 't', 'a')) 
-
-#define WAVE_FORMAT_IMA_ADPCM		0x0011		/* Intel Corporation */
-
-typedef struct
-{	unsigned int	channels ;
-	unsigned int	blocksize ;
-	unsigned int	samplesperblock ; 
-} IMA_ADPCM_PUBLIC ;
-
-typedef struct
-{	unsigned int	channels, blocksize, samplesperblock, blocks ; 
-	int				blockcount, samplecount ;
-	int				previous [2] ;
-	int				stepindex [2] ;
-	unsigned char	*block ;
-	short			*samples ;
-	unsigned char	data	[4] ; /* Dummy size */
-} IMA_ADPCM_PRIVATE ;
-
-/*============================================================================================
-** Predefined IMA ADPCM data.
-*/
-
-static int ima_index_adjust [16] = 
-{	-1, -1, -1, -1,		/* +0 - +3, decrease the step size */
-     2,  4,  6,  8,     /* +4 - +7, increase the step size */
-    -1, -1, -1, -1,		/* -0 - -3, decrease the step size */
-     2,  4,  6,  8,		/* -4 - -7, increase the step size */
-} ;
-
-static int ima_step_size [89] = 
-{	7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 
-	50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157, 173, 190, 209, 230, 
-	253, 279, 307, 337, 371, 408, 449, 494, 544, 598, 658, 724, 796, 876, 963, 
-	1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, 
-	3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, 9493, 10442,
-	11487, 12635, 13899, 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 
-	32767
-} ;
-
-static int	ima_reader_init (SF_PRIVATE *psf, IMA_ADPCM_PUBLIC *public) ;
-static int	ima_writer_init (SF_PRIVATE *psf, IMA_ADPCM_PUBLIC *public) ;
-
-static int ima_read_block (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima) ;
-static int ima_read (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima, short *ptr, int len) ;
-
-static int ima_write_block (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima) ;
-static int ima_write (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima, short *ptr, int len) ;
-
-static int ima_read_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int ima_read_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int ima_read_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int ima_read_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int ima_write_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int ima_write_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static int ima_write_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static int ima_write_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static long	ima_seek   (SF_PRIVATE *psf, long offset, int whence) ;
-static int		wav_ima_close			(SF_PRIVATE  *psf) ;
-static int		wav_ima_write_header 	(SF_PRIVATE  *psf) ;
-
-static	unsigned int wav_srate2blocksize (unsigned int srate) ;
-
-/*============================================================================================
-** IMA ADPCM Reader initialisation function.
-*/
-
-int	
-wav_ima_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt)
-{	IMA_ADPCM_PUBLIC public ;
-
-	public.blocksize       = fmt->ima.blockalign ;
-	public.channels        = fmt->ima.channels ;
-	public.samplesperblock = fmt->ima.samplesperblock ;
-	return ima_reader_init (psf, &public) ;
-} /* wav_ima_reader_init */
-
-int	
-wav_ima_writer_init (SF_PRIVATE *psf)
-{	IMA_ADPCM_PUBLIC 	public ;
-	int					error ;
-	
-	public.blocksize = wav_srate2blocksize (psf->sf.samplerate) ;	
-	public.channels  = psf->sf.channels ;
-	public.samplesperblock = 2 * (public.blocksize - 4 * psf->sf.channels) / psf->sf.channels + 1 ;
-	
-	if ((error = ima_writer_init (psf, &public)))
-		return error ;
-		
-	wav_ima_write_header (psf) ;
-
-	psf->write_short  = (func_short)  ima_write_s ;
-	psf->write_int    = (func_int)    ima_write_i ;
-	psf->write_float  = (func_float)  ima_write_f ;
-	psf->write_double = (func_double) ima_write_d ;
-	psf->seek_func    = (func_seek)   ima_seek ;
-	psf->close        = (func_close)  wav_ima_close ;
-	psf->write_header = (func_wr_hdr) wav_ima_write_header ;
-		
-	return 0 ;
-} /* wav_ima_writer_init */
-
-/*============================================================================================
-** IMA ADPCM Read Functions.
-*/
-
-static int
-ima_reader_init (SF_PRIVATE *psf, IMA_ADPCM_PUBLIC *public)
-{	IMA_ADPCM_PRIVATE	*pima ;
-	unsigned int		pimasize, count ;
-	
-	if (psf->mode != SF_MODE_READ)
-		return SFE_BAD_MODE_RW ;
-
-	pimasize = sizeof (IMA_ADPCM_PRIVATE) + public->blocksize + 3 * public->channels * public->samplesperblock ;
-
-	if (! (pima = malloc (pimasize)))
-		return SFE_MALLOC_FAILED ;
-
-	psf->fdata = (void*) pima ;
-
-	memset (pima, 0, pimasize) ;
-
-	pima->block   = (unsigned char*) pima->data ;
-	pima->samples = (short*) (pima->data + public->blocksize) ;
-	
-	pima->channels        = public->channels ;
-	pima->blocksize       = public->blocksize ;
-	pima->samplesperblock = public->samplesperblock ;
-	
-	if (psf->datalength % pima->blocksize)
-	{	psf_log_printf (psf, "*** Warning : data chunk seems to be truncated.\n") ;
-		pima->blocks = psf->datalength / pima->blocksize  + 1 ;
-		}
-	else
-		pima->blocks = psf->datalength / pima->blocksize ;
-	
-	count = 2 * (pima->blocksize - 4 * pima->channels) / pima->channels + 1 ;
-	if (pima->samplesperblock != count)
-		psf_log_printf (psf, "*** Warning : samplesperblock should be %d.\n", count) ;
-
-	psf->sf.samples = pima->samplesperblock * pima->blocks ;
-
-	ima_read_block (psf, pima) ;	/* Read first block. */
-	
-	psf->read_short  = (func_short)  ima_read_s ;
-	psf->read_int    = (func_int)    ima_read_i ;
-	psf->read_float  = (func_float)  ima_read_f ;
-	psf->read_double = (func_double) ima_read_d ;
-
-	psf->seek_func = (func_seek) ima_seek ;
-
-	return 0 ;	
-} /* ima_reader_init */
-
-static int
-ima_read_block (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima)
-{	int		chan, k, current, blockindex, index, indexstart ;
-	short	step, diff, bytecode, stepindex [2] ;
-	
-	pima->blockcount ++ ;
-	pima->samplecount = 0 ;
-	
-	if (pima->blockcount > pima->blocks)
-	{	memset (pima->samples, 0, pima->samplesperblock * pima->channels * sizeof (short)) ;
-		return 1 ;
-		} ;
-
-	if ((k = fread (pima->block, 1, pima->blocksize, psf->file)) != pima->blocksize)
-		psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, pima->blocksize) ;
-
-	/* Read and check the block header. */
-	
-	for (chan = 0 ; chan < pima->channels ; chan++)
-	{	current = pima->block [chan*4] | (pima->block [chan*4+1] << 8) ;
-		if (current & 0x8000)
-			current -= 0x10000 ;
-			
-		stepindex [chan] = pima->block [chan*4+2] ;
-		if (stepindex [chan] < 0)
-			stepindex [chan] = 0 ;
-		else if (stepindex [chan] > 88)
-			stepindex [chan] = 88 ;
-
-		if (pima->block [chan*4+3] != 0)
-			psf_log_printf (psf, "IMA ADPCM synchronisation error.\n") ;
-		
-		pima->samples [chan] = current ;
-
-		/* psf_log_printf (psf, "block %d : channel %d (current, index) : (%d, %d)\n", 
-		**	pima->blockcount, chan,  current, stepindex [chan]) ;
-		*/
-		} ;
-		
-	/* Pull apart the packed 4 bit samples and store them in their
-	** correct sample positions.
-	*/
-	
-	blockindex = 4 * pima->channels ;
-	
-	indexstart = pima->channels ;
-	while (blockindex <  pima->blocksize)
-	{	for (chan = 0 ; chan < pima->channels ; chan++)
-		{	index = indexstart + chan ;
-			for (k = 0 ; k < 4 ; k++)
-			{	bytecode = pima->block [blockindex++] ;
-				pima->samples [index] = bytecode & 0x0F ;
-				index += pima->channels ;
-				pima->samples [index] = (bytecode >> 4) & 0x0F ;
-				index += pima->channels ;
-				} ;
-			} ;
-		indexstart += 8 * pima->channels ;
-		} ;
-		
-	/* Decode the encoded 4 bit samples. */
-	
-	for (k = pima->channels ; k < (pima->samplesperblock * pima->channels) ; k ++)
-	{	chan = (pima->channels > 1) ? (k % 2) : 0 ;
-
-		bytecode = pima->samples [k] & 0xF ;
-		
-		step = ima_step_size [stepindex [chan]] ;
-		current = pima->samples [k - pima->channels] ;
-  
-		diff = step >> 3 ;
-		if (bytecode & 1) 
-			diff += step >> 2 ;
-		if (bytecode & 2) 
-			diff += step >> 1 ;
-		if (bytecode & 4) 
-			diff += step ;
-		if (bytecode & 8) 
-			diff = -diff ;
-
-		current += diff ;
-
-		if (current > 32767) 
-			current = 32767;
-		else if (current < -32768) 
-			current = -32768 ;
-
-		stepindex [chan] += ima_index_adjust [bytecode] ;
-	
-		if (stepindex [chan] < 0) 
-			stepindex [chan] = 0 ;
-		else if (stepindex [chan] > 88) 
-			stepindex [chan] = 88 ;
-
-		pima->samples [k] = current ;
-		} ;
-
-	return 1 ;
-} /* ima_read_block */
-
-static int 
-ima_read (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-
-	while (index < len)
-	{	if (pima->blockcount >= pima->blocks && pima->samplecount >= pima->samplesperblock)
-		{	memset (&(ptr[index]), 0, (len - index) * sizeof (short)) ;
-			return total ;
-			} ;
-		
-		if (pima->samplecount >= pima->samplesperblock)
-			ima_read_block (psf, pima) ;
-		
-		count = (pima->samplesperblock - pima->samplecount) * pima->channels ;
-		count = (len - index > count) ? count : len - index ;
-		
-		memcpy (&(ptr[index]), &(pima->samples [pima->samplecount * pima->channels]), count * sizeof (short)) ;
-		index += count ;
-		pima->samplecount += count / pima->channels ;
-		total = index ;
-		} ;
-
-	return total ;		
-} /* ima_read */
-
-static int		
-ima_read_s (SF_PRIVATE *psf, short *ptr, int len)
-{	IMA_ADPCM_PRIVATE 	*pima ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	total = ima_read (psf, pima, ptr, len) ;
-
-	return total ;
-} /* ima_read_s */
-
-static int		
-ima_read_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = ima_read (psf, pima, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (int) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* ima_read_i */
-
-static int
-ima_read_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = ima_read (psf, pima, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (float) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* ima_read_f */
-
-static int
-ima_read_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	double 		normfact ;
-	
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = ima_read (psf, pima, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (double) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* ima_read_d */
-
-static long    
-ima_seek   (SF_PRIVATE *psf, long offset, int whence)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	int			newblock, newsample ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-
-	if (! (psf->blockwidth && psf->datalength && psf->dataoffset))
-	{	psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-		
-	switch (whence)
-	{	case SEEK_SET :
-				if (offset < 0 || offset > pima->blocks * pima->samplesperblock)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = offset / pima->samplesperblock ;
-				newsample = offset % pima->samplesperblock ;
-				break ;
-				
-		case SEEK_CUR :
-				if (psf->current + offset < 0 || psf->current + offset > pima->blocks * pima->samplesperblock)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (psf->current + offset) / pima->samplesperblock ;
-				newsample = (psf->current + offset) % pima->samplesperblock ;
-				break ;
-				
-		case SEEK_END :
-				if (offset > 0 || pima->samplesperblock * pima->blocks + offset < 0)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (pima->samplesperblock * pima->blocks + offset) / pima->samplesperblock ;
-				newsample = (pima->samplesperblock * pima->blocks + offset) % pima->samplesperblock ;
-				break ;
-				
-		default : 
-				psf->error = SFE_BAD_SEEK ;
-				return	((long) -1) ;
-		} ;
-		
-	if (psf->mode == SF_MODE_READ)
-	{	fseek (psf->file, (int) (psf->dataoffset + newblock * pima->blocksize), SEEK_SET) ;
-		pima->blockcount  = newblock ;
-		ima_read_block (psf, pima) ;
-		pima->samplecount = newsample ;
-		}
-	else
-	{	/* What to do about write??? */ 
-		psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	psf->current = newblock * pima->samplesperblock + newsample ;
-	return psf->current ;
-} /* ima_seek */
-
-/*==========================================================================================
-** IMA ADPCM Write Functions.
-*/
-
-static int	
-ima_writer_init (SF_PRIVATE *psf, IMA_ADPCM_PUBLIC *public)
-{	IMA_ADPCM_PRIVATE	*pima ;
-	unsigned int 		pimasize ;
-	
-	if (psf->mode != SF_MODE_WRITE)
-		return SFE_BAD_MODE_RW ;
-
-	public->blocksize       = wav_srate2blocksize (psf->sf.samplerate) ;	
-	public->samplesperblock = 2 * (public->blocksize - 4 * public->channels) / public->channels + 1 ;
-
-	pimasize = sizeof (IMA_ADPCM_PRIVATE) + public->blocksize + 3 * public->channels * public->samplesperblock ;
-
-	if (! (pima = malloc (pimasize)))
-		return SFE_MALLOC_FAILED ;
-		
-	psf->fdata = (void*) pima ;
-
-	memset (pima, 0, pimasize) ;
-	
-	pima->channels        = public->channels ;
-	pima->blocksize       = public->blocksize ;
-	pima->samplesperblock = public->samplesperblock ;
-
-	pima->block   = (unsigned char*) pima->data ;
-	pima->samples = (short*) (pima->data + public->blocksize) ;
-	
-	pima->samplecount = 0 ;
-	
-	return 0 ;
-} /* ima_writer_init */
-
-
-
-/*==========================================================================================
-*/
-
-static int		
-ima_write_block (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima)
-{	int		chan, k, step, diff, vpdiff, blockindex, index, indexstart ;
-	short	bytecode, mask ;
-	
-	/* Write the block header. */
-
-	for (chan = 0 ; chan < pima->channels ; chan++)
-	{	pima->block [chan*4]   = pima->samples [chan] & 0xFF ;
-		pima->block [chan*4+1] = (pima->samples [chan] >> 8) & 0xFF ;
-		
-		pima->block [chan*4+2] = pima->stepindex [chan] ;
-		pima->block [chan*4+3] = 0 ;
-		} ;
-		
-	pima->previous  [0] = pima->samples [0] ;
-	pima->previous  [1] = pima->samples [1] ;
-
-	/* Encode the samples as 4 bit. */
-
-	for (k = pima->channels ; k < (pima->samplesperblock * pima->channels) ; k ++)
-	{	chan = (pima->channels > 1) ? (k % 2) : 0 ;
-	
-		diff = pima->samples [k] - pima->previous [chan] ;
-	
-		bytecode = 0 ;
-		step = ima_step_size [pima->stepindex [chan]] ;
-		vpdiff = step >> 3 ;
-		if (diff < 0) 
-		{	bytecode = 8 ; 
-			diff = -diff ;
-			} ;
-		mask = 4 ;
-		while (mask)
-		{	if (diff >= step)
-			{	bytecode |= mask ;
-				diff -= step ;
-				vpdiff += step ;
-				} ;
-			step >>= 1 ;
-			mask >>= 1 ;
-			} ;
-
-		if (bytecode & 8)
-			pima->previous [chan] -= vpdiff ;
-		else
-			pima->previous [chan] += vpdiff ;
-
-		if (pima->previous [chan] > 32767) 
-			pima->previous [chan] = 32767;
-		else if (pima->previous [chan] < -32768) 
-			pima->previous [chan] = -32768;
-
-		pima->stepindex [chan] += ima_index_adjust [bytecode] ;
-		if (pima->stepindex [chan] < 0)
-			pima->stepindex [chan] = 0 ;
-		else if (pima->stepindex [chan] > 88)
-			pima->stepindex [chan] = 88 ;
-		
-		pima->samples [k] = bytecode ;
-		} ;
-
-	/* Pack the 4 bit encoded samples. */
-
-	blockindex = 4 * pima->channels ;
-	
-	indexstart = pima->channels ;
-	while (blockindex <  pima->blocksize)
-	{	for (chan = 0 ; chan < pima->channels ; chan++)
-		{	index = indexstart + chan ;
-			for (k = 0 ; k < 4 ; k++)
-			{	pima->block [blockindex] = pima->samples [index] & 0x0F ;
-				index += pima->channels ;
-				pima->block [blockindex] |= (pima->samples [index] << 4) & 0xF0 ;
-				index += pima->channels ;
-				blockindex ++ ;
-				} ;
-			} ;
-		indexstart += 8 * pima->channels ;
-		} ;
-		
-	/* Write the block to disk. */
-
-	if ((k = fwrite (pima->block, 1, pima->blocksize, psf->file)) != pima->blocksize)
-		psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, pima->blocksize) ;
-		
-	memset (pima->samples, 0, pima->samplesperblock * sizeof (short)) ;
-	pima->samplecount = 0 ;
-			
-	return 1 ;
-} /* ima_write_block */
-
-static int 
-ima_write (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	count = (pima->samplesperblock - pima->samplecount) * pima->channels ;
-
-		if (count > len - index)
-			count = len - index ;
-
-		memcpy (&(pima->samples [pima->samplecount * pima->channels]), &(ptr [index]), count * sizeof (short)) ;
-		index += count ;
-		pima->samplecount += count / pima->channels ;
-		total = index ;
-
-		if (pima->samplecount >= pima->samplesperblock)
-			ima_write_block (psf, pima) ;	
-		} ;
-
-	return total ;		
-} /* ima_write */
-
-static int		
-ima_write_s (SF_PRIVATE *psf, short *ptr, int len)
-{	IMA_ADPCM_PRIVATE 	*pima ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	total = ima_write (psf, pima, ptr, len) ;
-
-	return total ;
-} /* ima_write_s */
-
-static int		
-ima_write_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = (short) ptr [index+k] ;
-		count = ima_write (psf, pima, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* ima_write_i */
-
-static int		
-ima_write_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = FLOAT_TO_SHORT (normfact * ptr [index+k])  ;
-		count = ima_write (psf, pima, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* ima_write_f */
-
-static int		
-ima_write_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	IMA_ADPCM_PRIVATE *pima ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	double 		normfact ;
-	
-	normfact = (normalize ? ((double) 0x8000) : 1.0) ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = DOUBLE_TO_SHORT (normfact * ptr [index+k])  ;
-		count = ima_write (psf, pima, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* ima_write_d */
-
-static int
-wav_ima_write_header (SF_PRIVATE  *psf)
-{	int  fmt_size, blockalign, samplesperblock, bytespersec ;
-
-	blockalign      = wav_srate2blocksize (psf->sf.samplerate) ;
-	samplesperblock = 2 * (blockalign - 4 * psf->sf.channels) / psf->sf.channels + 1 ;
-	bytespersec     = (psf->sf.samplerate * blockalign) / samplesperblock ;
-
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	/* RIFF marker, length, WAVE and 'fmt ' markers. */		
-	psf_binheader_writef (psf, "mlmm", RIFF_MARKER, psf->filelength - 8, WAVE_MARKER, fmt_MARKER) ;
-
-	/* fmt chunk. */
-	fmt_size = 2 + 2 + 4 + 4 + 2 + 2 + 2 + 2 ;
-	
-	/* fmt : size, WAV format type, channels. */
-	psf_binheader_writef (psf, "lww", fmt_size, WAVE_FORMAT_IMA_ADPCM, psf->sf.channels) ;
-
-	/* fmt : samplerate, bytespersec. */
-	psf_binheader_writef (psf, "ll", psf->sf.samplerate, bytespersec) ;
-
-	/* fmt : blockalign, bitwidth, extrabytes, samplesperblock. */
-	psf_binheader_writef (psf, "wwww", blockalign, 4, 2, samplesperblock) ;
-
-	/* Fact chunk. */	
-	psf_binheader_writef (psf, "mll", fact_MARKER, sizeof (int), psf->sf.samples) ;
-
-	/* DATA chunk. */
-	psf_binheader_writef (psf, "ml", data_MARKER, psf->datalength) ;
-
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-
-	psf->datalength  = (psf->sf.samples / samplesperblock) * samplesperblock ;
-	if (psf->sf.samples % samplesperblock)
-		psf->datalength += samplesperblock ;
-
-	return 0 ;
-} /* wav_ima_write_header */
-
-static int	
-wav_ima_close	(SF_PRIVATE  *psf)
-{	IMA_ADPCM_PRIVATE *pima ; 
-
-	if (! psf->fdata)
-		return 0 ;
-
-	pima = (IMA_ADPCM_PRIVATE*) psf->fdata ;
-
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*	If a block has been partially assembled, write it out
-		**	as the final block.
-		*/
-	
-		if (pima->samplecount && pima->samplecount < pima->samplesperblock)
-			ima_write_block (psf, pima) ;	
-
-		/*  Now we know for certain the length of the file we can
-		**  re-write the header.
-		*/
-		 
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-
-		psf->sf.samples = pima->samplesperblock * pima->blockcount ;
-		psf->datalength = psf->filelength - psf->dataoffset ;
-
-		wav_ima_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-
-	return 0 ;
-} /* wav_ima_close */
-
-static unsigned 
-int wav_srate2blocksize (unsigned int srate)
-{	if (srate < 12000)
-		return 256 ;
-	if (srate < 23000)
-		return 512 ;
-	return 1024 ;
-} /* wav_srate2blocksize */
--- a/common/libsndfile/src/wav_ms_adpcm.c
+++ /dev/null
@@ -1,895 +1,0 @@
-/*
-** Copyright (C) 1999-2001 Erik de Castro Lopo <erikd@zip.com.au>
-**  
-** This program 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 program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-** 
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-
-#include	<stdio.h>
-#include	<unistd.h>
-#include	<string.h>
-#include	<math.h>
-
-#include	"sndfile.h"
-#include	"config.h"
-#include	"sfendian.h"
-#include	"floatcast.h"
-#include	"common.h"
-#include	"wav.h"
-
-/* These required here because we write the header in this file. */
-
-#define RIFF_MARKER	(MAKE_MARKER ('R', 'I', 'F', 'F')) 
-#define WAVE_MARKER	(MAKE_MARKER ('W', 'A', 'V', 'E')) 
-#define fmt_MARKER	(MAKE_MARKER ('f', 'm', 't', ' ')) 
-#define fact_MARKER	(MAKE_MARKER ('f', 'a', 'c', 't')) 
-#define data_MARKER	(MAKE_MARKER ('d', 'a', 't', 'a')) 
-
-#define WAVE_FORMAT_MS_ADPCM	0x0002
-
-typedef struct
-{	unsigned int	channels, blocksize, samplesperblock, blocks, dataremaining ; 
-	int				blockcount, samplecount ;
-	unsigned char	*block ;
-	short			*samples ;
-	unsigned char	dummydata [4] ; /* Dummy size */
-} MSADPCM_PRIVATE ;
-
-/*============================================================================================
-** MS ADPCM static data and functions.
-*/
-
-static int AdaptationTable []    = 
-{	230, 230, 230, 230, 307, 409, 512, 614,
-	768, 614, 512, 409, 307, 230, 230, 230 
-} ;
-
-/* TODO : The first 7 coef's are are always hardcode and must
-   appear in the actual WAVE file.  They should be read in
-   in case a sound program added extras to the list. */
-
-static int AdaptCoeff1 [] = 
-{	256, 512, 0, 192, 240, 460, 392 
-} ;
-
-static int AdaptCoeff2 [] = 
-{	0, -256, 0, 64, 0, -208, -232
-} ;
-
-/*============================================================================================
-**	MS ADPCM Block Layout.
-**	======================
-**	Block is usually 256, 512 or 1024 bytes depending on sample rate.
-**	For a mono file, the block is laid out as follows:
-**		byte	purpose
-**		0		block predictor [0..6]
-**		1,2		initial idelta (positive)
-**		3,4		sample 1
-**		5,6		sample 0
-**		7..n	packed bytecodes
-**
-**	For a stereo file, the block is laid out as follows:
-**		byte	purpose
-**		0		block predictor [0..6] for left channel
-**		1		block predictor [0..6] for right channel
-**		2,3		initial idelta (positive) for left channel
-**		4,5		initial idelta (positive) for right channel
-**		6,7		sample 1 for left channel
-**		8,9		sample 1 for right channel
-**		10,11	sample 0 for left channel
-**		12,13	sample 0 for right channel
-**		14..n	packed bytecodes
-*/
-
-/*============================================================================================
-** Static functions.
-*/
-
-static	int	msadpcm_decode_block (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms) ;
-static	int msadpcm_read (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms, short *ptr, int len) ;
-
-static	int	msadpcm_encode_block (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms) ;
-static	int msadpcm_write (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms, short *ptr, int len) ;
-
-static	int	msadpcm_read_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static	int	msadpcm_read_i (SF_PRIVATE *psf, int *ptr, int len) ;
-static	int	msadpcm_read_f (SF_PRIVATE *psf, float *ptr, int len) ;
-static	int	msadpcm_read_d (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static int	msadpcm_write_s (SF_PRIVATE *psf, short *ptr, int len) ;
-static int	msadpcm_write_i  (SF_PRIVATE *psf, int *ptr, int len) ;
-static int	msadpcm_write_f  (SF_PRIVATE *psf, float *ptr, int len) ;
-static int	msadpcm_write_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize) ;
-
-static long msadpcm_seek   (SF_PRIVATE *psf, long offset, int whence) ;
-static	int	msadpcm_close	(SF_PRIVATE  *psf) ;
-
-static int	msadpcm_write_header (SF_PRIVATE  *psf) ;
-
-static	unsigned int srate2blocksize (unsigned int srate_chan_product) ;
-static	void	choose_predictor (unsigned int channels, short *data, int *bpred, int *idelta) ;
-
-/*============================================================================================
-** MS ADPCM Read Functions.
-*/
-
-int	
-wav_msadpcm_reader_init (SF_PRIVATE *psf, WAV_FMT *fmt)
-{	MSADPCM_PRIVATE	*pms ;
-	unsigned int	pmssize ;
-	int				count ;
-	
-	pmssize = sizeof (MSADPCM_PRIVATE) + fmt->msadpcm.blockalign + 3 * fmt->msadpcm.channels * fmt->msadpcm.samplesperblock ;
-
-	if (! (psf->fdata = malloc (pmssize)))
-		return SFE_MALLOC_FAILED ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	memset (pms, 0, pmssize) ;
-	
-	pms->block   = (unsigned char*) pms->dummydata ;
-	pms->samples = (short*) (pms->dummydata + fmt->msadpcm.blockalign) ;
-	
-	pms->channels        = fmt->msadpcm.channels ;
-	pms->blocksize       = fmt->msadpcm.blockalign ;
-	pms->samplesperblock = fmt->msadpcm.samplesperblock ;
-
-	pms->dataremaining	 = psf->datalength ;
-
-	if (psf->datalength % pms->blocksize)
-		pms->blocks = psf->datalength / pms->blocksize  + 1 ;
-	else
-		pms->blocks = psf->datalength / pms->blocksize ;
-
-	count = 2 * (pms->blocksize - 6 * pms->channels) / pms->channels ;
-	if (pms->samplesperblock != count)
-		psf_log_printf (psf, "*** Warning : samplesperblock shoud be %d.\n", count) ;
-
-	psf->sf.samples = (psf->datalength / pms->blocksize) * pms->samplesperblock ;
-
-	psf_log_printf (psf, " bpred   idelta\n") ;
-
-	msadpcm_decode_block (psf, pms) ;
-	
-	psf->read_short  = (func_short)  msadpcm_read_s ;
-	psf->read_int    = (func_int)    msadpcm_read_i ;
-	psf->read_float  = (func_float)  msadpcm_read_f ;
-	psf->read_double = (func_double) msadpcm_read_d ;
-
-	psf->seek_func   = (func_seek)   msadpcm_seek ;
-
-	return 0 ;
-} /* wav_msadpcm_reader_init */
-
-static int		
-msadpcm_decode_block (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms)
-{	int		chan, k, blockindex, sampleindex ;
-	short	bytecode, bpred [2], chan_idelta [2] ;
-	
-    int predict ;
-    int current ;
-    int idelta ;
-
-	pms->blockcount ++ ;
-	pms->samplecount = 0 ;
-	
-	if (pms->blockcount > pms->blocks)
-	{	memset (pms->samples, 0, pms->samplesperblock * pms->channels) ;
-		return 1 ;
-		} ;
-
-	if ((k = fread (pms->block, 1, pms->blocksize, psf->file)) != pms->blocksize)
-		psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, pms->blocksize) ;
-
-	/* Read and check the block header. */
-	
-	if (pms->channels == 1)
-	{	bpred [0] = pms->block [0] ;
-	
-		if (bpred [0] >= 7)
-			psf_log_printf (psf, "MS ADPCM synchronisation error (%d).\n", bpred [0]) ;
-	
-		chan_idelta [0] = pms->block [1] | (pms->block [2] << 8) ;
-		chan_idelta [1] = 0 ;
-
-		psf_log_printf (psf, "(%d) (%d)\n", bpred [0], chan_idelta [0]) ;
-
-		pms->samples [1] = pms->block [3] | (pms->block [4] << 8) ;
-		pms->samples [0] = pms->block [5] | (pms->block [6] << 8) ;
-		blockindex = 7 ;
-		}
-	else
-	{	bpred [0] = pms->block [0] ;
-		bpred [1] = pms->block [1] ;
-	
-		if (bpred [0] >= 7 || bpred [1] >= 7)
-			psf_log_printf (psf, "MS ADPCM synchronisation error (%d %d).\n", bpred [0], bpred [1]) ;
-	
-		chan_idelta [0] = pms->block [2] | (pms->block [3] << 8) ;
-		chan_idelta [1] = pms->block [4] | (pms->block [5] << 8) ;
-
-		psf_log_printf (psf, "(%d, %d) (%d, %d)\n", bpred [0], bpred [1], chan_idelta [0], chan_idelta [1]) ;
-
-		pms->samples [2] = pms->block [6] | (pms->block [7] << 8) ;
-		pms->samples [3] = pms->block [8] | (pms->block [9] << 8) ;
-
-		pms->samples [0] = pms->block [10] | (pms->block [11] << 8) ;
-		pms->samples [1] = pms->block [12] | (pms->block [13] << 8) ;
-
-		blockindex = 14 ;
-		} ;
-
-    if (chan_idelta [0] & 0x8000) 
-		chan_idelta [0] -= 0x10000 ;
-    if (chan_idelta [1] & 0x8000) 
-		chan_idelta [1] -= 0x10000 ;
-		
-	/* Pull apart the packed 4 bit samples and store them in their
-	** correct sample positions.
-	*/
-	
-	sampleindex = 2 * pms->channels ;
-	while (blockindex <  pms->blocksize)
-	{	bytecode = pms->block [blockindex++] ;
-  		pms->samples [sampleindex++] = (bytecode >> 4) & 0x0F ;
-		pms->samples [sampleindex++] = bytecode & 0x0F ;
-		} ;
-		
-	/* Decode the encoded 4 bit samples. */
-	
-	for (k = 2 * pms->channels ; k < (pms->samplesperblock * pms->channels) ; k ++)
-	{	chan = (pms->channels > 1) ? (k % 2) : 0 ;
-
-		bytecode = pms->samples [k] & 0xF ;
-
-	    /** Compute next Adaptive Scale Factor (ASF) **/
-	    idelta = chan_idelta [chan] ;
-	    chan_idelta [chan] = (AdaptationTable [bytecode] * idelta) >> 8 ; /* => / 256 => FIXED_POINT_ADAPTATION_BASE == 256 */
-	    if (chan_idelta [chan] < 16) 
-			chan_idelta [chan] = 16 ;
-	    if (bytecode & 0x8) 
-			bytecode -= 0x10 ;
-		
-    	predict = ((pms->samples [k - pms->channels] * AdaptCoeff1 [bpred [chan]]) 
-					+ (pms->samples [k - 2 * pms->channels] * AdaptCoeff2 [bpred [chan]])) >> 8 ; /* => / 256 => FIXED_POINT_COEFF_BASE == 256 */
-    	current = (bytecode * idelta) + predict;
-    
-	    if (current > 32767) 
-			current = 32767 ;
-	    else if (current < -32768) 
-			current = -32768 ;
-    
-		pms->samples [k] = current ;
-		} ;
-
-	return 1 ;
-} /* msadpcm_decode_block */
-
-static int 
-msadpcm_read (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	if (pms->blockcount >= pms->blocks && pms->samplecount >= pms->samplesperblock)
-		{	memset (&(ptr[index]), 0, (len - index) * sizeof (short)) ;
-			return total ;
-			} ;
-		
-		if (pms->samplecount >= pms->samplesperblock)
-			msadpcm_decode_block (psf, pms) ;
-		
-		count = (pms->samplesperblock - pms->samplecount) * pms->channels ;
-		count = (len - index > count) ? count : len - index ;
-		
-		memcpy (&(ptr[index]), &(pms->samples [pms->samplecount * pms->channels]), count * sizeof (short)) ;
-		index += count ;
-		pms->samplecount += count / pms->channels ;
-		total = index ;
-		} ;
-
-	return total ;		
-} /* msadpcm_read */
-
-static int		
-msadpcm_read_s (SF_PRIVATE *psf, short *ptr, int len)
-{	MSADPCM_PRIVATE 	*pms ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	total = msadpcm_read (psf, pms, ptr, len) ;
-
-	return total ;
-} /* msadpcm_read_s */
-
-static int		
-msadpcm_read_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	MSADPCM_PRIVATE *pms ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = msadpcm_read (psf, pms, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = (int) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* msadpcm_read_i */
-
-static int
-msadpcm_read_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	MSADPCM_PRIVATE *pms ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = msadpcm_read (psf, pms, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (float) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* msadpcm_read_f */
-
-static int		
-msadpcm_read_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	MSADPCM_PRIVATE *pms ; 
-	short		*sptr ;
-	int			k, bufferlen, readcount = 0, count ;
-	int			index = 0, total = 0 ;
-	double 		normfact ;
-	
-	normfact = (normalize ? 1.0 / ((double) 0x8000) : 1.0) ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	readcount = (len >= bufferlen) ? bufferlen : len ;
-		count = msadpcm_read (psf, pms, sptr, readcount) ;
-		for (k = 0 ; k < readcount ; k++)
-			ptr [index+k] = normfact * (double) (sptr [k]) ;
-		index += readcount ;
-		total += count ;
-		len -= readcount ;
-		} ;
-	return total ;
-} /* msadpcm_read_d */
-
-static long    
-msadpcm_seek   (SF_PRIVATE *psf, long offset, int whence)
-{	MSADPCM_PRIVATE *pms ; 
-	int			newblock, newsample ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-
-	if (! (psf->blockwidth && psf->datalength && psf->dataoffset))
-	{	psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-		
-	switch (whence)
-	{	case SEEK_SET :
-				if (offset < 0 || offset > pms->blocks * pms->samplesperblock)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = offset / pms->samplesperblock ;
-				newsample = offset % pms->samplesperblock ;
-				break ;
-				
-		case SEEK_CUR :
-				if (psf->current + offset < 0 || psf->current + offset > pms->blocks * pms->samplesperblock)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (psf->current + offset) / pms->samplesperblock ;
-				newsample = (psf->current + offset) % pms->samplesperblock ;
-				break ;
-				
-		case SEEK_END :
-				if (offset > 0 || pms->samplesperblock * pms->blocks + offset < 0)
-				{	psf->error = SFE_BAD_SEEK ;
-					return	((long) -1) ;
-					} ;
-				newblock  = (pms->samplesperblock * pms->blocks + offset) / pms->samplesperblock ;
-				newsample = (pms->samplesperblock * pms->blocks + offset) % pms->samplesperblock ;
-				break ;
-				
-		default : 
-				psf->error = SFE_BAD_SEEK ;
-				return	((long) -1) ;
-		} ;
-		
-	if (psf->mode == SF_MODE_READ)
-	{	fseek (psf->file, (int) (psf->dataoffset + newblock * pms->blocksize), SEEK_SET) ;
-		pms->blockcount  = newblock ;
-		msadpcm_decode_block (psf, pms) ;
-		pms->samplecount = newsample ;
-		}
-	else
-	{	/* What to do about write??? */ 
-		psf->error = SFE_BAD_SEEK ;
-		return	((long) -1) ;
-		} ;
-
-	psf->current = newblock * pms->samplesperblock + newsample ;
-	return psf->current ;
-} /* msadpcm_seek */
-
-/*==========================================================================================
-** MS ADPCM Write Functions.
-*/
-
-int	
-wav_msadpcm_writer_init (SF_PRIVATE *psf)
-{	MSADPCM_PRIVATE	*pms ;
-	unsigned int 	pmssize, blockalign, samplesperblock ;
-	
-	blockalign      = srate2blocksize (psf->sf.samplerate * psf->sf.channels) ;	
-	samplesperblock = 2 + 2 * (blockalign - 7 * psf->sf.channels) / psf->sf.channels ;
-	
-	pmssize = sizeof (MSADPCM_PRIVATE) + blockalign + 3 * psf->sf.channels * samplesperblock ;
-
-	if (! (psf->fdata = malloc (pmssize)))
-		return SFE_MALLOC_FAILED ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	memset (pms, 0, pmssize) ;
-	
-	pms->channels        = psf->sf.channels ;
-	pms->blocksize       = blockalign ;
-	pms->samplesperblock = samplesperblock ;
-
-	pms->block   = (unsigned char*) pms->dummydata ;
-	pms->samples = (short*) (pms->dummydata + blockalign) ;
-	
-	pms->samplecount = 0 ;
-	
-	msadpcm_write_header (psf) ;
-	
-	psf->write_short  = (func_short)   msadpcm_write_s ;
-	psf->write_int    = (func_int)     msadpcm_write_i ;
-	psf->write_float  = (func_float)   msadpcm_write_f ;
-	psf->write_double = (func_double)  msadpcm_write_d ;
-	
-	psf->seek_func    = (func_seek)    msadpcm_seek ;
-	psf->close        = (func_close)   msadpcm_close ;
-	psf->write_header = (func_wr_hdr)  msadpcm_write_header ;
-
-	return 0 ;
-} /* wav_msadpcm_writer_init */
-
-/*==========================================================================================
-*/
-
-static int		
-msadpcm_encode_block (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms)
-{	unsigned int	blockindex ;
-	unsigned char	byte ;
-	int				chan, k, predict, bpred [2], idelta [2], errordelta, newsamp ;
-	
-	choose_predictor (pms->channels, pms->samples, bpred, idelta) ;
-
-	/* Write the block header. */
-
-	if (pms->channels == 1)
-	{	pms->block [0]	= bpred [0] ;	
-		pms->block [1]	= idelta [0] & 0xFF ;
-		pms->block [2]	= idelta [0] >> 8 ;
-		pms->block [3]	= pms->samples [1] & 0xFF ;
-		pms->block [4]	= pms->samples [1] >> 8 ;
-		pms->block [5]	= pms->samples [0] & 0xFF ;
-		pms->block [6]	= pms->samples [0] >> 8 ;
-
-		blockindex = 7 ;
-		byte = 0 ;
-
-		/* Encode the samples as 4 bit. */
-		
-		for (k = 2 ; k < pms->samplesperblock ; k++)
-		{	predict = (pms->samples [k-1] * AdaptCoeff1 [bpred [0]] + pms->samples [k-2] * AdaptCoeff2 [bpred [0]]) >> 8 ;
-			errordelta = (pms->samples [k] - predict) / idelta [0] ;
-			if (errordelta < -8)
-				errordelta = -8 ;
-			else if (errordelta > 7)
-				errordelta = 7 ;
-			newsamp = predict + (idelta [0] * errordelta) ;
-			if (newsamp > 32767)
-				newsamp = 32767 ;
-			else if (newsamp < -32768)
-				newsamp = -32768 ;
-			if (errordelta < 0)
-				errordelta += 0x10 ;
-				
-			byte = (byte << 4) | (errordelta & 0xF) ;
-			if (k % 2)
-			{	pms->block [blockindex++] = byte ;
-				byte = 0 ;
-				} ;
-
-			idelta [0] = (idelta [0] * AdaptationTable [errordelta]) >> 8 ;
-			if (idelta [0] < 16)
-				idelta [0] = 16 ;
-			pms->samples [k] = newsamp ;
-			} ;
-		}
-	else
-	{	/* Stereo file. */
-		pms->block [0]	= bpred [0] ;	
-		pms->block [1]	= bpred [1] ;	
-
-		pms->block [2]	= idelta [0] & 0xFF ;
-		pms->block [3]	= idelta [0] >> 8 ;
-		pms->block [4]	= idelta [1] & 0xFF ;
-		pms->block [5]	= idelta [1] >> 8 ;
-		
-		pms->block [6]	= pms->samples [2] & 0xFF ;
-		pms->block [7]	= pms->samples [2] >> 8 ;
-		pms->block [8]	= pms->samples [3] & 0xFF ;
-		pms->block [9]	= pms->samples [3] >> 8 ;
-
-		pms->block [10]	= pms->samples [0] & 0xFF ;
-		pms->block [11]	= pms->samples [0] >> 8 ;
-		pms->block [12]	= pms->samples [1] & 0xFF ;
-		pms->block [13]	= pms->samples [1] >> 8 ;
-	
-		blockindex = 14 ;
-		byte = 0 ;
-		chan = 1 ;
-		
-		for (k = 4 ; k < 2 * pms->samplesperblock ; k++)
-		{	chan = k & 1 ;
-
-			predict = (pms->samples [k-2] * AdaptCoeff1 [bpred [chan]] + pms->samples [k-4] * AdaptCoeff2 [bpred [chan]]) >> 8 ;
-			errordelta = (pms->samples [k] - predict) / idelta [chan] ;
-
-
-			if (errordelta < -8)
-				errordelta = -8 ;
-			else if (errordelta > 7)
-				errordelta = 7 ;
-			newsamp = predict + (idelta [chan] * errordelta) ;
-			if (newsamp > 32767)
-				newsamp = 32767 ;
-			else if (newsamp < -32768)
-				newsamp = -32768 ;
-			if (errordelta < 0)
-				errordelta += 0x10 ;
-				
-			byte = (byte << 4) | (errordelta & 0xF) ;
-
-			if (chan)
-			{	pms->block [blockindex++] = byte ;
-				byte = 0 ;
-				} ;
-
-			idelta [chan] = (idelta [chan] * AdaptationTable [errordelta]) >> 8 ;
-			if (idelta [chan] < 16)
-				idelta [chan] = 16 ;
-			pms->samples [k] = newsamp ;
-			} ;
-		} ;
-
-	/* Write the block to disk. */
-
-	if ((k = fwrite (pms->block, 1, pms->blocksize, psf->file)) != pms->blocksize)
-		psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, pms->blocksize) ;
-		
-	memset (pms->samples, 0, pms->samplesperblock * sizeof (short)) ;
-
-	pms->blockcount ++ ;
-	pms->samplecount = 0 ;
-			
-	return 1 ;
-} /* msadpcm_encode_block */
-
-static int 
-msadpcm_write (SF_PRIVATE *psf, MSADPCM_PRIVATE *pms, short *ptr, int len)
-{	int		count, total = 0, index = 0 ;
-	
-	while (index < len)
-	{	count = (pms->samplesperblock - pms->samplecount) * pms->channels ;
-
-		if (count > len - index)
-			count = len - index ;
-
-		memcpy (&(pms->samples [pms->samplecount * pms->channels]), &(ptr [index]), count * sizeof (short)) ;
-		index += count ;
-		pms->samplecount += count / pms->channels ;
-		total = index ;
-
-		if (pms->samplecount >= pms->samplesperblock)
-			msadpcm_encode_block (psf, pms) ;	
-		} ;
-
-	return total ;		
-} /* msadpcm_write */
-
-static int		
-msadpcm_write_s (SF_PRIVATE *psf, short *ptr, int len)
-{	MSADPCM_PRIVATE *pms ; 
-	int				total ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	total = msadpcm_write (psf, pms, ptr, len) ;
-
-	return total ;
-} /* msadpcm_write_s */
-
-static int		
-msadpcm_write_i  (SF_PRIVATE *psf, int *ptr, int len)
-{	MSADPCM_PRIVATE *pms ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = (short) ptr [index+k] ;
-		count = msadpcm_write (psf, pms, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* msadpcm_write_i */
-
-static int
-msadpcm_write_f  (SF_PRIVATE *psf, float *ptr, int len)
-{	MSADPCM_PRIVATE *pms ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	float		normfact ;
-	
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	normfact = (psf->norm_float == SF_TRUE) ? ((float) 0x8000) : 1.0 ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = FLOAT_TO_SHORT (normfact * ptr [index+k]) ;
-		count = msadpcm_write (psf, pms, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* msadpcm_write_f */
-
-static int		
-msadpcm_write_d  (SF_PRIVATE *psf, double *ptr, int len, int normalize)
-{	MSADPCM_PRIVATE *pms ; 
-	short		*sptr ;
-	int			k, bufferlen, writecount = 0, count ;
-	int			index = 0, total = 0 ;
-	double 		normfact ;
-	
-	normfact = (normalize ? ((double) 0x8000) : 1.0) ;
-
-	if (! psf->fdata)
-		return 0 ;
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-	
-	sptr = (short*) psf->buffer ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
-	while (len > 0)
-	{	writecount = (len >= bufferlen) ? bufferlen : len ;
-		for (k = 0 ; k < writecount ; k++)
-			sptr [k] = DOUBLE_TO_SHORT (normfact * ptr [index+k]) ;
-		count = msadpcm_write (psf, pms, sptr, writecount) ;
-		index += writecount ;
-		total += count ;
-		len -= writecount ;
-		} ;
-	return total ;
-} /* msadpcm_write_d */
-
-/*========================================================================================
-*/
-
-static int
-msadpcm_write_header (SF_PRIVATE  *psf)
-{	int  k, fmt_size, blockalign, samplesperblock, bytespersec, extrabytes ;
-
-	blockalign      = srate2blocksize (psf->sf.samplerate * psf->sf.channels) ;	
-	samplesperblock = 2 + 2 * (blockalign - 7 * psf->sf.channels) / psf->sf.channels ;
-	bytespersec     = (psf->sf.samplerate * blockalign) / samplesperblock ;
-	
-	/* Reset the current header length to zero. */
-	psf->header [0] = 0 ;
-	psf->headindex = 0 ;
-	fseek (psf->file, 0, SEEK_SET) ;
-
-	/* RIFF marker, length, WAVE and 'fmt ' markers. */		
-	psf_binheader_writef (psf, "mlmm", RIFF_MARKER, psf->filelength - 8, WAVE_MARKER, fmt_MARKER) ;
-
-	/* fmt chunk. */
-	extrabytes = 2 + 2 + 7 * (2 + 2) ;
-	fmt_size   = 2 + 2 + 4 + 4 + 2 + 2 + 2 + extrabytes ;
-	
-	/* fmt : size, WAV format type, channels. */
-	psf_binheader_writef (psf, "lww", fmt_size, WAVE_FORMAT_MS_ADPCM, psf->sf.channels) ;
-
-	/* fmt : samplerate, bytespersec. */
-	psf_binheader_writef (psf, "ll", psf->sf.samplerate, bytespersec) ;
-
-	/* fmt : blockalign, bitwidth, extrabytes, samplesperblock. */
-	psf_binheader_writef (psf, "wwwww", blockalign, 4, extrabytes, samplesperblock, 7) ;
-	
-	for (k = 0 ; k < 7 ; k++)
-		psf_binheader_writef (psf, "ww", AdaptCoeff1 [k], AdaptCoeff2 [k]) ;
-
-	/* Fact chunk. */	
-	psf_binheader_writef (psf, "mll", fact_MARKER, sizeof (int), psf->sf.samples) ;
-
-	/* DATA chunk. */
-	psf_binheader_writef (psf, "ml", data_MARKER, psf->datalength) ;
-
-	fwrite (psf->header, psf->headindex, 1, psf->file) ;
-
-	psf->dataoffset = psf->headindex ;
-
-	psf->datalength  = (psf->sf.samples / samplesperblock) * samplesperblock ;
-	if (psf->sf.samples % samplesperblock)
-		psf->datalength += samplesperblock ;
-
-	return 0 ;
-} /* msadpcm_write_header */
-
-static int	
-msadpcm_close	(SF_PRIVATE  *psf)
-{	MSADPCM_PRIVATE *pms ; 
-
-	if (! psf->fdata)
-		return 0 ;
-
-	pms = (MSADPCM_PRIVATE*) psf->fdata ;
-
-	if (psf->mode == SF_MODE_WRITE)
-	{	/*  Now we know static int for certain the length of the file we can
-		**  re-write the header.
-		*/
-		 
-		if (pms->samplecount && pms->samplecount < pms->samplesperblock)
-			msadpcm_encode_block (psf, pms) ;	
-
-		fseek (psf->file, 0, SEEK_END) ;
-		psf->filelength = ftell (psf->file) ;
-
-		psf->sf.samples = pms->samplesperblock * pms->blockcount ;
-		psf->datalength = psf->filelength - psf->dataoffset ;
-
-		msadpcm_write_header (psf) ;
-		} ;
-
-	if (psf->fdata)
-		free (psf->fdata) ;
-	psf->fdata = NULL ;
-
-	return 0 ;
-} /* msadpcm_close */
-
-/*========================================================================================
-** Static functions.
-*/
-
-static	unsigned int 
-srate2blocksize (unsigned int srate_chan_product)
-{	if (srate_chan_product < 12000)
-		return 256 ;
-	if (srate_chan_product < 23000)
-		return 512 ;
-	if (srate_chan_product < 44000)
-		return 1024 ;
-	return 2048 ;
-} /* srate2blocksize */
-
-/*----------------------------------------------------------------------------------------
-**	Choosing the block predictor.
-**	Each block requires a predictor and an idelta for each channel. 
-**	The predictor is in the range [0..6] which is an index into the	two AdaptCoeff tables. 
-**	The predictor is chosen by trying all of the possible predictors on a small set of
-**	samples at the beginning of the block. The predictor with the smallest average
-**	abs (idelta) is chosen as the best predictor for this block. 
-**	The value of idelta is chosen to to give a 4 bit code value of +/- 4 (approx. half the 
-**	max. code value). If the average abs (idelta) is zero, the sixth predictor is chosen.
-**	If the value of idelta is less then 16 it is set to 16.
-**
-**	Microsoft uses an IDELTA_COUNT (number of sample pairs used to choose best predictor)
-**	value of 3. The best possible results would be obtained by using all the samples to
-**	choose the predictor.
-*/
-
-#define		IDELTA_COUNT	3
-
-static	void	
-choose_predictor (unsigned int channels, short *data, int *block_pred, int *idelta)
-{	unsigned int	chan, k, bpred, idelta_sum, best_bpred, best_idelta ;
-	
-	for (chan = 0 ; chan < channels; chan++)
-	{	best_bpred = best_idelta = 0 ;
-
-		for (bpred = 0 ; bpred < 7 ; bpred++)
-		{	idelta_sum = 0 ;
-			for (k = 2 ; k < 2 + IDELTA_COUNT ; k++)
-				idelta_sum += abs (data [k*channels] - ((data [(k-1)*channels] * AdaptCoeff1 [bpred] + data [(k-2)*channels] * AdaptCoeff2 [bpred]) >> 8)) ;
-			idelta_sum /= (4 * IDELTA_COUNT) ;
-			
-			if (bpred == 0 || idelta_sum < best_idelta)
-			{	best_bpred = bpred ;
-				best_idelta = idelta_sum ;
-				} ;
-				
-			if (! idelta_sum)
-			{	best_bpred = bpred ;
-				best_idelta = 16 ;
-				break ;
-				} ;
-		
-			} ; /* for bpred ... */
-		if (best_idelta < 16)
-			best_idelta = 16 ;
-	
-		block_pred [chan] = best_bpred ;
-		idelta [chan]     = best_idelta ;
-		} ;
-
-	return ;
-} /* choose_predictor */