Add iOS support
authorAnthony Green <green@moxielogic.com>
Wed, 9 Feb 2011 00:20:09 +0000 (19:20 -0500)
committerAnthony Green <green@moxielogic.com>
Wed, 9 Feb 2011 00:20:09 +0000 (19:20 -0500)
54 files changed:
1  2 
.pc/applied-patches
.pc/ios/.timestamp
.pc/ios/ChangeLog
.pc/ios/ChangeLog.libffi
.pc/ios/ChangeLog.libgcj
.pc/ios/ChangeLog.v1
.pc/ios/LICENSE
.pc/ios/Makefile.am
.pc/ios/Makefile.in
.pc/ios/README
.pc/ios/acinclude.m4
.pc/ios/aclocal.m4
.pc/ios/compile
.pc/ios/config.guess
.pc/ios/config.sub
.pc/ios/configure
.pc/ios/configure.ac
.pc/ios/configure.host
.pc/ios/depcomp
.pc/ios/fficonfig.h.in
.pc/ios/install-sh
.pc/ios/libffi.pc.in
.pc/ios/libtool-version
.pc/ios/ltmain.sh
.pc/ios/mdate-sh
.pc/ios/missing
.pc/ios/msvcc.sh
.pc/ios/src/arm/ffi.c
.pc/ios/src/arm/ffitarget.h
.pc/ios/src/arm/sysv.S
.pc/ios/src/closures.c
.pc/ios/src/debug.c
.pc/ios/src/dlmalloc.c
.pc/ios/src/java_raw_api.c
.pc/ios/src/prep_cif.c
.pc/ios/src/raw_api.c
.pc/ios/src/types.c
.pc/ios/stamp-h.in
.pc/ios/texinfo.tex
ChangeLog
Makefile.am
Makefile.in
configure
configure.ac
fficonfig.h.in
include/Makefile.in
include/ffi.h.in
man/Makefile.in
patches/ios
patches/series
src/arm/ffi.c
src/arm/sysv.S
src/closures.c
testsuite/Makefile.in

@@@ -5,10 -13,4 +5,11 @@@ win64-struct-arg
  stdcall-x86-closure-fix
  ml64-safeseh
  debug-build
 +win64-underscore
 +x86_pcrel_test
 +aix-ibm-xlc
 +fix-grammar
 +sparc-v8-aggregate-returns
 +hpux-mallinfo
 +copyright-updates
++ios
index 0000000,e69de29..e69de29
mode 000000,100644..100644
--- /dev/null
index 0000000,0000000..46b65aa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4454 @@@
++2011-02-08  Oren Held  <orenhe@il.ibm.com>
++
++      * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
++      redefinition of mallinfo on HP-UX.
++
++2011-02-08  Ginn Chen  <ginn.chen@oracle.com>
++
++      * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
++      aggregate return ABI.
++
++2011-02-08  Ed  <ed@kdtc.net>
++
++      * src/powerpc/asm.h: Fix grammar nit in comment.
++
++2011-02-08  Uli Link  <ul.mcamafia@linkitup.de>
++
++      * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
++
++2011-02-08  Rafael Avila de Espindola  <respindola@mozilla.com>
++
++      * configure.ac: Fix x86 test for pc related relocs.
++      * confifure: Rebuilt.
++
++2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
++
++      * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
++      Handle case when CPU variant does not have long double support.
++      * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
++      and cores with soft floating point.
++
++2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
++
++      * configure.ac: Add mips*-*-rtems* support.
++      * configure: Regenerate.
++      * src/mips/ffitarget.h: Ensure needed constants are available
++      for targets which do not have sgidefs.h.
++
++2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
++
++      PR target/40125
++      * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
++      * configure: Regenerate.
++
++2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
++
++      PR libffi/29152
++      PR libffi/42378
++      * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
++      update comments.
++      * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
++      (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
++      * src/powerpc/darwin.S: Provide Darwin64 implementation,
++      update comments.
++      * src/powerpc/ffi_darwin.c: Likewise.
++
++2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
++      backslashes.
++      (libffi_cv_as_string_pseudo_op): Likewise.
++      * configure: Regenerate.
++
++2010-12-03  Chung-Lin Tang  <cltang@codesourcery.com>
++
++      * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
++      (ffi_closure_VFP): Same.
++      (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
++      directive.
++
++2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
++      (PRIuPTR): Define.
++
++2010-11-29  Richard Henderson  <rth@redhat.com>
++          Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
++      (.eh_frame): Use FDE_ENCODING.
++      (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
++
++2010-11-22  Jacek Caban <jacek@codeweavers.com>
++
++      * configure.ac: Check for symbol underscores on mingw-w64.
++      * configure: Rebuilt.
++      * src/x86/win64.S: Correctly access extern symbols in respect to
++      underscores.
++
++2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * testsuite/lib/libffi-dg.exp: Rename ...
++      * testsuite/lib/libffi.exp: ... to this.
++      * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
++      * libffi/testsuite/libffi.special/special.exp: Likewise.
++
++2010-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
++
++      * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
++      code, new parameter, and return value. Update comments.
++      (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
++      call to layout_vfp_args().
++      (ffi_call_SYSV): Update declaration.
++      (ffi_call_VFP): New declaration.
++      (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
++      when ABI is FFI_VFP.
++      (ffi_closure_VFP): New declaration.
++      (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
++      ffi_prep_incoming_args_SYSV().
++      (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
++      case handling.
++      (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
++      construction under VFP hard-float.
++      (rec_vfp_type_p): New function.
++      (vfp_type_p): Same.
++      (place_vfp_arg): Same.
++      (layout_vfp_args): Same.
++      * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
++      based on __ARM_PCS_VFP.
++      (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
++      fields.
++      (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
++      (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
++      * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
++      direct call. Move function pointer load upwards.
++      (ffi_call_VFP): New function.
++      (ffi_closure_VFP): Same.
++
++      * testsuite/lib/libffi-dg.exp (check-flags): New function.
++      (dg-skip-if): New function.
++      * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
++      and compiler options include -mfloat-abi=hard.
++      * testsuite/libffi.call/cls_longdouble_va.c: Same.
++
++2010-10-01  Jakub Jelinek  <jakub@redhat.com>
++
++      PR libffi/45677
++      * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
++      a multiple of 8.
++      * testsuite/libffi.call/many2.c: New test.
++
++2010-08-20  Mark Wielaard  <mjw@redhat.com>
++
++      * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
++      returns NULL.
++
++2010-08-09  Andreas Tobler  <andreast@fgznet.ch>
++
++      * configure.ac: Add target powerpc64-*-freebsd*.
++      * configure: Regenerate.
++      * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
++      -mlong-double-128 only to linux targets.
++      * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
++      * testsuite/libffi.call/cls_longdouble.c: Likewise.
++      * testsuite/libffi.call/huge_struct.c: Likewise.
++
++2010-08-05  Dan Witte  <dwitte@mozilla.com>
++
++        * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
++        debug CRT when --enable-debug is given.
++        * configure.ac: Define it.
++        * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
++
++2010-08-04  Dan Witte  <dwitte@mozilla.com>
++
++      * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
++      platforms.
++      * src/x86/ffi.c: Remove redundant ifdef checks.
++      * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
++      for X86_ANY so return value space doesn't get added twice.
++
++2010-08-03  Neil Rashbrooke <neil@parkwaycc.co.uk>
++
++      * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
++
++2010-07-22  Dan Witte  <dwitte@mozilla.com>
++
++      * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
++      * src/prep_cif.c: Fix ABI assertion.
++        * src/cris/ffi.c: Ditto.
++
++2010-07-10  Evan Phoenix  <evan@fallingsnow.net>
++
++      * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
++
++2010-07-07  Dan Horák <dan@danny.cz>
++
++      * include/ffi.h.in: Protect #define with #ifndef.
++      * src/powerpc/ffitarget.h: Ditto.
++      * src/s390/ffitarget.h: Ditto.
++      * src/sparc/ffitarget.h: Ditto.
++
++2010-07-07   Neil Roberts <neil@linux.intel.com>
++
++      * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
++      16-bytes.
++
++2010-07-02  Jakub Jelinek  <jakub@redhat.com>
++
++      * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
++      * Makefile.in: Regenerated.
++
++2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
++      output, too.
++      (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
++      (libffi_cv_as_string_pseudo_op): Check for .string.
++      * configure: Regenerate.
++      * fficonfig.h.in: Regenerate.
++      * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
++
++2010-05-11  Dan Witte  <dwitte@mozilla.com>
++
++      * doc/libffi.tex: Document previous change.
++
++2010-05-11  Makoto Kato <m_kato@ga2.so-net.ne.jp>
++
++      * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
++
++2010-05-05  Michael Kohler <michaelkohler@live.com>
++
++      * src/dlmalloc.c (dlfree): Fix spelling.
++      * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
++      * configure.ac: Ditto.
++      * configure: Rebuilt.
++
++2010-04-13  Dan Witte  <dwitte@mozilla.com>
++
++      * msvcc.sh: Build with -W3 instead of -Wall.
++      * src/powerpc/ffi_darwin.c: Remove build warnings.
++      * src/x86/ffi.c: Ditto.
++      * src/x86/ffitarget.h: Ditto.
++
++2010-04-12  Dan Witte  <dwitte@mozilla.com>
++          Walter Meinl <wuno@lsvw.de>
++
++      * configure.ac: Add OS/2 support.
++      * configure: Rebuilt.
++      * src/closures.c: Ditto.
++      * src/dlmalloc.c: Ditto.
++      * src/x86/win32.S: Ditto.
++
++2010-04-07  Jakub Jelinek  <jakub@redhat.com>
++
++      * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
++
++2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * Makefile.in: Regenerate.
++      * aclocal.m4: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * man/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2010-03-30  Dan Witte  <dwitte@mozilla.com>
++
++      * msvcc.sh: Disable build warnings.
++      * README (tested): Clarify windows build procedure.
++
++2010-03-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
++      * configure: Regenerate.
++      * fficonfig.h.in: Regenerate.
++      * libffi/src/x86/unix64.S (.eh_frame)
++      [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
++
++2010-03-14  Matthias Klose  <doko@ubuntu.com>
++
++      * src/x86/ffi64.c: Fix typo in comment.
++      * src/x86/ffi.c: Use /* ... */ comment style.
++
++2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * doc/libffi.texi (The Closure API): Fix typo.
++      * doc/libffi.info: Remove.
++
++2010-02-15  Matthias Klose  <doko@ubuntu.com>
++
++      * src/arm/sysv.S (__ARM_ARCH__): Define for processor
++      __ARM_ARCH_7EM__.
++
++2010-01-15  Anthony Green  <green@redhat.com>
++
++      * README: Add notes on building with Microsoft Visual C++.
++
++2010-01-15  Daniel Witte  <dwitte@mozilla.com>
++
++      * msvcc.sh: New file.
++
++      * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
++      * src/x86/ffi.c: Tweak function declaration and remove excess
++      parens.
++      * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
++      ffi_closure.
++
++      * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
++      function ffi_call_win32 on X86_WIN32.
++      * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
++      (ffi_call_STDCALL): Remove.
++
++      * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
++      to ffi_prep_cif_machdep for x86.
++      * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
++
++2010-01-15  Oliver Kiddle  <okiddle@yahoo.co.uk>
++
++      * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
++      Sun Studio compiler compatibility.
++
++2010-01-12  Conrad Irwin <conrad.irwin@gmail.com>
++
++      * doc/libffi.texi: Add closure example.
++
++2010-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      PR libffi/40701
++      * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
++      PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
++      * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
++      alpha*-dec-osf*.
++      * testsuite/libffi.call/cls_align_uint64.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/return_ll1.c: Likewise.
++      * testsuite/libffi.call/stret_medium2.c: Likewise.
++      * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
++      MAP_FAILED to char *.
++
++2010-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
++
++2009-12-31  Anthony Green  <green@redhat.com>
++
++      * README: Update for libffi 3.0.9.
++
++2009-12-27  Matthias Klose  <doko@ubuntu.com>
++
++      * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
++      appropriate.
++      * configure: Rebuilt.
++
++2009-12-26  Anthony Green  <green@redhat.com>
++
++      * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
++      avr32*-*-*.
++      * testsuite/libffi.call/cls_double_va.c: Ditto.
++
++2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
++      and inttypes.h.
++      * testsuite/libffi.special/unwindtest.cc: Ditto.
++
++2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * configure.ac: Add amd64-*-openbsd*.
++      * configure: Rebuilt.
++      * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
++      openbsd programs with -lpthread.
++
++2009-12-26  Anthony Green  <green@redhat.com>
++
++      * testsuite/libffi.call/cls_double_va.c,
++      testsuite/libffi.call/cls_longdouble.c,
++      testsuite/libffi.call/cls_longdouble_va.c,
++      testsuite/libffi.call/cls_pointer.c,
++      testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
++      mips*-*-* and arm*-*-*.
++      * testsuite/libffi.call/cls_align_longdouble_split.c,
++      testsuite/libffi.call/cls_align_longdouble_split2.c,
++      testsuite/libffi.call/stret_medium2.c,
++      testsuite/libffi.call/stret_medium.c,
++      testsuite/libffi.call/stret_large.c,
++      testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
++
++2009-12-31  Kay Tietz  <ktietz70@googlemail.com>
++
++      * testsuite/libffi.call/ffitest.h,
++      testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
++      definitions.
++
++2009-12-31  Carlo Bramini  <carlo.bramix@libero.it>
++
++      * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
++      * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
++      * configure: Rebuilt.
++      * Makefile.in: Rebuilt.
++
++2009-12-31  Anthony Green  <green@redhat.com>
++          Blake Chaffin.
++
++      * testsuite/libffi.call/huge_struct.c: New test case from Blake
++      Chaffin @ Apple.
++
++2009-12-28  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
++      local variables.
++      (aix_adjust_aggregate_sizes): New function.
++      (ffi_prep_cif_machdep): Call it.
++
++2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
++      * configure: Regenerate.
++      * fficonfig.h.in: Likewise.
++      * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
++      Solaris/x86.
++
++2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
++
++      * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
++      when a float arguments is passed in memory.
++      (ffi_closure_helper_SYSV): Mark general registers as used up when
++      a 64bit or soft-float long double argument is passed in memory.
++
++2009-12-25  Matthias Klose  <doko@ubuntu.com>
++
++      * man/ffi_call.3: Fix #include in examples.
++      * doc/libffi.texi: Add dircategory.
++
++2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
++
++      * include/ffi.h.in: Placed '__GNUC__' ifdef around
++      '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
++      IRIX MIPSPro c99.
++      * include/ffi_common.h: Added '__sgi' define to non
++      '__attribute__((__mode__()))' integer typedefs.
++      * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
++      ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
++      (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
++      FFI_LONGDOUBLE support and alignment(N32 only).
++      * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
++      fixed non '__attribute__((__mode__()))' integer typedefs.
++      * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
++      since they are Linux/GNU Assembler specific.
++
++2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
++
++      * configure.ac, Makefile.am, src/avr32/ffi.c,
++      src/avr32/ffitarget.h,
++      src/avr32/sysv.S: Add AVR32 port.
++      * configure, Makefile.in: Rebuilt.
++
++2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
++      * configure: Regenerate.
++
++2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
++
++2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
++      type on HP-UX.
++
++2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
++      double' arguments.
++
++2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
++
++2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      PR libffi/40700
++      * src/closures.c [X86_64 && __sun__ && __svr4__]
++      (FFI_MMAP_EXEC_WRIT): Define.
++
++2009-12-08  David Daney  <ddaney@caviumnetworks.com>
++
++      * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
++      * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
++      * testsuite/libffi.call/stret_large.c: Same.
++      * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
++      * testsuite/libffi.call/stret_large2.c: Same.
++      * testsuite/libffi.call/stret_medium2.c: Same.
++
++2009-12-07  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
++      typo.
++
++2009-12-05  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
++      code.
++      * src/powerpc/aix_closure.S: Same.
++
++2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * Makefile.in: Regenerate.
++      * configure: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * man/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2009-12-04  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
++      linux64_closure.S.
++
++2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR libffi/41908
++      * src/x86/ffi64.c (classify_argument): Update from
++      gcc/config/i386/i386.c.
++      (ffi_closure_unix64_inner): Do not use the address of two consecutive
++      SSE registers directly.
++      * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
++      for x86_64 linux targets.
++
++2009-12-04  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
++      pfr for long double split between fpr13 and stack.
++
++2009-12-03  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
++      fparg_count twice for long double.
++
++2009-12-03  David Edelsohn  <edelsohn@gnu.org>
++
++      PR libffi/42243
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
++
++2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
++
++      * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
++      Remove xfails for x86 linux targets.
++
++2009-12-02  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
++      case.
++
++2009-12-01  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
++      register usage.  Call ffi_prep_args directly.  Add long double
++      return value support.
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
++      applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
++      Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
++      (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
++      mode.
++      (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
++      into case.
++      * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
++      Allocate result area between params and FPRs.
++
++2009-11-30  David Edelsohn  <edelsohn@gnu.org>
++
++      PR target/35484
++      * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
++      AIX64.
++      * src/powerpc/aix.S: Implement AIX64 version.
++      * src/powerpc/aix_closure.S: Implement AIX64 version.
++      (ffi_closure_ASM): Use extsb, lha and displament addresses.
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
++      support.
++      (ffi_prep_cif_machdep): Same.
++      (ffi_call): Same.
++      (ffi_closure_helper_DARWIN): Same.
++
++2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
++
++      PR libffi/41908
++      * testsuite/libffi.call/testclosure.c: New test.
++
++2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
++
++      * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
++      assembly version use of ___chkstk.
++
++2009-09-23  Matthias Klose  <doko@ubuntu.com>
++
++      PR libffi/40242, PR libffi/41443
++      * src/arm/sysv.S (__ARM_ARCH__): Define for processors
++      __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
++      __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
++      Change the conditionals to __SOFTFP__ || __ARM_EABI__
++      for -mfloat-abi=softfp to work.
++
++2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
++
++      PR testsuite/32843 (strikes again)
++      * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
++      enable proper extension on char and short.
++
++2009-09-15  David Daney  <ddaney@caviumnetworks.com>
++
++      * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
++      handling for FFI_TYPE_POINTER.
++      * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
++      FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
++      FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
++      FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
++      (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
++      (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
++      * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
++      structure and pointer returns.
++      (ffi_closure_N32): Add handling for pointer returns.
++      * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
++      calc_n32_return_struct_flags): Handle soft-float.
++      (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
++      (ffi_call_N32): Declare proper argument types.
++      (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
++      soft-float.
++
++2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * configure.ac (AC_PREREQ): Bump to 2.64.
++
++2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * Makefile.am (install-html, install-pdf): Remove.
++      * Makefile.in: Regenerate.
++
++      * Makefile.in: Regenerate.
++      * aclocal.m4: Regenerate.
++      * configure: Regenerate.
++      * fficonfig.h.in: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * man/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
++
++2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
++
++      PR libffi/40807
++      * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
++      return types for X86_WIN32.
++      * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
++      (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
++      _ffi_closure_STDCALL): Likewise.
++
++      * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
++      (dlmmap, dlmunmap): Also use these functions on Cygwin.
++
++2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
++
++      PR testsuite/40699
++      PR testsuite/40707
++      PR testsuite/40709
++      * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
++      2009-06-30 commits.
++
++2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
++
++      * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
++      to "" before adding paths.  (This reinstates an assignment that
++      was removed by my 2009-06-30 commit, but changes the initial
++      value from "." to "".)
++
++2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
++
++      PR testsuite/40601
++      * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
++      gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
++      empty.
++
++2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
++
++      * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
++      to ld_library_path.  Use add_path.  Add just find_libgcc_s
++      to ld_library_path, not every libgcc multilib directory.
++
++2009-06-16  Wim Lewis  <wiml@hhhh.org>
++
++      * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
++      supposed to be callee-saved.
++      * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
++      return buffer for odd-size structs.
++
++2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
++
++      PR libffi/40444
++      * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
++      allow_stack_execute for Darwin.
++
++2009-06-16  Andrew Haley  <aph@redhat.com>
++
++      * configure.ac (TARGETDIR): Add missing blank lines.
++      * configure: Regenerate.
++
++2009-06-16  Andrew Haley  <aph@redhat.com>
++
++      * testsuite/libffi.call/cls_align_sint64.c,
++      testsuite/libffi.call/cls_align_uint64.c,
++      testsuite/libffi.call/cls_longdouble_va.c,
++      testsuite/libffi.call/cls_ulonglong.c,
++      testsuite/libffi.call/return_ll1.c,
++      testsuite/libffi.call/stret_medium2.c: Fix printf format
++      specifiers.
++      * testsuite/libffi.call/ffitest.h,
++      testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
++
++2009-06-15  Andrew Haley  <aph@redhat.com>
++
++      * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
++      * testsuite/libffi.call/err_bad_abi.c: Likewise.
++
++2009-06-12  Andrew Haley  <aph@redhat.com>
++
++      * Makefile.am: Remove info_TEXINFOS.
++
++2009-06-12  Andrew Haley  <aph@redhat.com>
++
++      * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
++      testsuite/libffi.call/cls_align_uint64.c,
++      testsuite/libffi.call/cls_ulonglong.c,
++      testsuite/libffi.call/return_ll1.c,
++      testsuite/libffi.call/stret_medium2.c: Fix printf format
++      specifiers.
++      testsuite/libffi.special/unwindtest.cc: include stdint.h.
++
++2009-06-11  Timothy Wall  <twall@users.sf.net>
++
++      * Makefile.am,
++      configure.ac,
++      include/ffi.h.in,
++      include/ffi_common.h,
++      src/closures.c,
++      src/dlmalloc.c,
++      src/x86/ffi.c,
++      src/x86/ffitarget.h,
++      src/x86/win64.S (new),
++      README: Added win64 support (mingw or MSVC)
++      * Makefile.in,
++      include/Makefile.in,
++      man/Makefile.in,
++      testsuite/Makefile.in,
++      configure,
++      aclocal.m4: Regenerated
++      * ltcf-c.sh: properly escape cygwin/w32 path
++      * man/ffi_call.3: Clarify size requirements for return value.
++      * src/x86/ffi64.c: Fix filename in comment.
++      * src/x86/win32.S: Remove unused extern.
++
++      * testsuite/libffi.call/closure_fn0.c,
++      testsuite/libffi.call/closure_fn1.c,
++      testsuite/libffi.call/closure_fn2.c,
++      testsuite/libffi.call/closure_fn3.c,
++      testsuite/libffi.call/closure_fn4.c,
++      testsuite/libffi.call/closure_fn5.c,
++      testsuite/libffi.call/closure_fn6.c,
++      testsuite/libffi.call/closure_stdcall.c,
++      testsuite/libffi.call/cls_12byte.c,
++      testsuite/libffi.call/cls_16byte.c,
++      testsuite/libffi.call/cls_18byte.c,
++      testsuite/libffi.call/cls_19byte.c,
++      testsuite/libffi.call/cls_1_1byte.c,
++      testsuite/libffi.call/cls_20byte.c,
++      testsuite/libffi.call/cls_20byte1.c,
++      testsuite/libffi.call/cls_24byte.c,
++      testsuite/libffi.call/cls_2byte.c,
++      testsuite/libffi.call/cls_3_1byte.c,
++      testsuite/libffi.call/cls_3byte1.c,
++      testsuite/libffi.call/cls_3byte2.c,
++      testsuite/libffi.call/cls_4_1byte.c,
++      testsuite/libffi.call/cls_4byte.c,
++      testsuite/libffi.call/cls_5_1_byte.c,
++      testsuite/libffi.call/cls_5byte.c,
++      testsuite/libffi.call/cls_64byte.c,
++      testsuite/libffi.call/cls_6_1_byte.c,
++      testsuite/libffi.call/cls_6byte.c,
++      testsuite/libffi.call/cls_7_1_byte.c,
++      testsuite/libffi.call/cls_7byte.c,
++      testsuite/libffi.call/cls_8byte.c,
++      testsuite/libffi.call/cls_9byte1.c,
++      testsuite/libffi.call/cls_9byte2.c,
++      testsuite/libffi.call/cls_align_double.c,
++      testsuite/libffi.call/cls_align_float.c,
++      testsuite/libffi.call/cls_align_longdouble.c,
++      testsuite/libffi.call/cls_align_longdouble_split.c,
++      testsuite/libffi.call/cls_align_longdouble_split2.c,
++      testsuite/libffi.call/cls_align_pointer.c,
++      testsuite/libffi.call/cls_align_sint16.c,
++      testsuite/libffi.call/cls_align_sint32.c,
++      testsuite/libffi.call/cls_align_sint64.c,
++      testsuite/libffi.call/cls_align_uint16.c,
++      testsuite/libffi.call/cls_align_uint32.c,
++      testsuite/libffi.call/cls_align_uint64.c,
++      testsuite/libffi.call/cls_dbls_struct.c,
++      testsuite/libffi.call/cls_double.c,
++      testsuite/libffi.call/cls_double_va.c,
++      testsuite/libffi.call/cls_float.c,
++      testsuite/libffi.call/cls_longdouble.c,
++      testsuite/libffi.call/cls_longdouble_va.c,
++      testsuite/libffi.call/cls_multi_schar.c,
++      testsuite/libffi.call/cls_multi_sshort.c,
++      testsuite/libffi.call/cls_multi_sshortchar.c,
++      testsuite/libffi.call/cls_multi_uchar.c,
++      testsuite/libffi.call/cls_multi_ushort.c,
++      testsuite/libffi.call/cls_multi_ushortchar.c,
++      testsuite/libffi.call/cls_pointer.c,
++      testsuite/libffi.call/cls_pointer_stack.c,
++      testsuite/libffi.call/cls_schar.c,
++      testsuite/libffi.call/cls_sint.c,
++      testsuite/libffi.call/cls_sshort.c,
++      testsuite/libffi.call/cls_uchar.c,
++      testsuite/libffi.call/cls_uint.c,
++      testsuite/libffi.call/cls_ulonglong.c,
++      testsuite/libffi.call/cls_ushort.c,
++      testsuite/libffi.call/err_bad_abi.c,
++      testsuite/libffi.call/err_bad_typedef.c,
++      testsuite/libffi.call/float2.c,
++      testsuite/libffi.call/huge_struct.c,
++      testsuite/libffi.call/nested_struct.c,
++      testsuite/libffi.call/nested_struct1.c,
++      testsuite/libffi.call/nested_struct10.c,
++      testsuite/libffi.call/nested_struct2.c,
++      testsuite/libffi.call/nested_struct3.c,
++      testsuite/libffi.call/nested_struct4.c,
++      testsuite/libffi.call/nested_struct5.c,
++      testsuite/libffi.call/nested_struct6.c,
++      testsuite/libffi.call/nested_struct7.c,
++      testsuite/libffi.call/nested_struct8.c,
++      testsuite/libffi.call/nested_struct9.c,
++      testsuite/libffi.call/problem1.c,
++      testsuite/libffi.call/return_ldl.c,
++      testsuite/libffi.call/return_ll1.c,
++      testsuite/libffi.call/stret_large.c,
++      testsuite/libffi.call/stret_large2.c,
++      testsuite/libffi.call/stret_medium.c,
++      testsuite/libffi.call/stret_medium2.c,
++      testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
++      of checking for MMAP.  Use intptr_t instead of long casts.
++
++2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
++      * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
++      * testsuite/libffi.call/err_bad_typedef.c: Likewise.
++
++2009-06-09  Andrew Haley  <aph@redhat.com>
++
++      * src/x86/freebsd.S: Add missing file.
++
++2009-06-08  Andrew Haley  <aph@redhat.com>
++
++      Import from libffi 3.0.8:
++
++      * doc/libffi.texi: New file.
++      * doc/libffi.info: Likewise.
++      * doc/stamp-vti: Likewise.
++      * man/Makefile.am: New file.
++      * man/ffi_call.3: New file.
++
++      * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
++      src/dlmalloc.c.
++      (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
++
++      * configure.ac: Bump version to 3.0.8.
++      parisc*-*-linux*: Add.
++      i386-*-freebsd* | i386-*-openbsd*: Add.
++      powerpc-*-beos*: Add.
++      AM_CONDITIONAL X86_FREEBSD: Add.
++      AC_CONFIG_FILES: Add man/Makefile.
++
++      * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
++
++2009-06-08  Andrew Haley  <aph@redhat.com>
++
++      * README: Import from libffi 3.0.8.
++
++2009-06-08  Andrew Haley  <aph@redhat.com>
++
++      * testsuite/libffi.call/err_bad_abi.c: Add xfails.
++      * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
++      * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
++      * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
++
++      * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
++      * testsuite/libffi.call/stret_medium.c: Likewise.
++      * testsuite/libffi.call/stret_large2.c: Likewise.
++      * testsuite/libffi.call/stret_large.c:  Likewise.
++
++2008-12-26  Timothy Wall  <twall@users.sf.net>
++
++      * testsuite/libffi.call/cls_longdouble.c,
++      testsuite/libffi.call/cls_longdouble_va.c,
++      testsuite/libffi.call/cls_align_longdouble.c,
++      testsuite/libffi.call/cls_align_longdouble_split.c,
++      testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
++      failures on x86_64 cygwin/mingw.
++
++2008-12-22  Timothy Wall  <twall@users.sf.net>
++
++      * testsuite/libffi.call/closure_fn0.c,
++      testsuite/libffi.call/closure_fn1.c,
++      testsuite/libffi.call/closure_fn2.c,
++      testsuite/libffi.call/closure_fn3.c,
++      testsuite/libffi.call/closure_fn4.c,
++      testsuite/libffi.call/closure_fn5.c,
++      testsuite/libffi.call/closure_fn6.c,
++      testsuite/libffi.call/closure_loc_fn0.c,
++      testsuite/libffi.call/closure_stdcall.c,
++      testsuite/libffi.call/cls_align_pointer.c,
++      testsuite/libffi.call/cls_pointer.c,
++      testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
++      pointer to integer (intptr_t).
++      * testsuite/libffi.call/cls_longdouble.c: disable for win64.
++
++2008-07-24  Anthony Green  <green@redhat.com>
++
++      * testsuite/libffi.call/cls_dbls_struct.c,
++      testsuite/libffi.call/cls_double_va.c,
++      testsuite/libffi.call/cls_longdouble.c,
++      testsuite/libffi.call/cls_longdouble_va.c,
++      testsuite/libffi.call/cls_pointer.c,
++      testsuite/libffi.call/cls_pointer_stack.c,
++      testsuite/libffi.call/err_bad_abi.c: Clean up failures from
++      compiler warnings.
++
++2008-03-04  Anthony Green  <green@redhat.com>
++          Blake Chaffin
++          hos@tamanegi.org
++
++      * testsuite/libffi.call/cls_align_longdouble_split2.c
++        testsuite/libffi.call/cls_align_longdouble_split.c
++        testsuite/libffi.call/cls_dbls_struct.c
++        testsuite/libffi.call/cls_double_va.c
++        testsuite/libffi.call/cls_longdouble.c
++        testsuite/libffi.call/cls_longdouble_va.c
++        testsuite/libffi.call/cls_pointer.c
++        testsuite/libffi.call/cls_pointer_stack.c
++        testsuite/libffi.call/err_bad_abi.c
++        testsuite/libffi.call/err_bad_typedef.c
++        testsuite/libffi.call/stret_large2.c
++        testsuite/libffi.call/stret_large.c
++        testsuite/libffi.call/stret_medium2.c
++        testsuite/libffi.call/stret_medium.c: New tests from Apple.
++
++2009-06-05  Andrew Haley  <aph@redhat.com>
++
++      * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
++      libffi.
++
++2009-06-04  Andrew Haley  <aph@redhat.com>
++
++      * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
++      stdcall changes.
++
++2008-02-26  Anthony Green  <green@redhat.com>
++          Thomas Heller  <theller@ctypes.org>
++
++      * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
++      comment.
++
++2008-02-03  Timothy Wall  <twall@users.sf.net>
++
++      * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
++        offset based on code pointer, not data pointer.
++
++2008-01-31  Timothy Wall <twall@users.sf.net>
++
++      * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
++      closures.
++      * src/x86/ffitarget.h: Increase size of trampoline for stdcall
++      closures.
++      * src/x86/win32.S: Add assembly for stdcall closure.
++      * src/x86/ffi.c: Initialize stdcall closure trampoline.
++
++2009-06-04  Andrew Haley  <aph@redhat.com>
++
++      * include/ffi.h.in: Change void (*)() to void (*)(void).
++      * src/x86/ffi.c: Likewise.
++
++2009-06-04  Andrew Haley  <aph@redhat.com>
++
++      * src/powerpc/ppc_closure.S: Insert licence header.
++      * src/powerpc/linux64_closure.S: Likewise.
++      * src/m68k/sysv.S: Likewise.
++
++      * src/sh64/ffi.c: Change void (*)() to void (*)(void).
++      * src/powerpc/ffi.c: Likewise.
++      * src/powerpc/ffi_darwin.c: Likewise.
++      * src/m32r/ffi.c: Likewise.
++      * src/sh64/ffi.c: Likewise.
++      * src/x86/ffi64.c: Likewise.
++      * src/alpha/ffi.c: Likewise.
++      * src/alpha/osf.S: Likewise.
++      * src/frv/ffi.c: Likewise.
++      * src/s390/ffi.c: Likewise.
++      * src/pa/ffi.c: Likewise.
++      * src/pa/hpux32.S: Likewise.
++      * src/ia64/unix.S: Likewise.
++      * src/ia64/ffi.c: Likewise.
++      * src/sparc/ffi.c: Likewise.
++      * src/mips/ffi.c: Likewise.
++      * src/sh/ffi.c: Likewise.
++
++2008-02-15  David Daney  <ddaney@avtrex.com>
++
++      * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
++      Define (conditionally), and use it to include cachectl.h.
++      (ffi_prep_closure_loc): Fix cache flushing.
++      * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
++
++2009-06-04  Andrew Haley  <aph@redhat.com>
++
++      include/ffi.h.in,
++      src/arm/ffitarget.h,
++      src/arm/ffi.c,
++      src/arm/sysv.S,
++      src/powerpc/ffitarget.h,
++      src/closures.c,
++      src/sh64/ffitarget.h,
++      src/sh64/ffi.c,
++      src/sh64/sysv.S,
++      src/types.c,
++      src/x86/ffi64.c,
++      src/x86/ffitarget.h,
++      src/x86/win32.S,
++      src/x86/darwin.S,
++      src/x86/ffi.c,
++      src/x86/sysv.S,
++      src/x86/unix64.S,
++      src/alpha/ffitarget.h,
++      src/alpha/ffi.c,
++      src/alpha/osf.S,
++      src/m68k/ffitarget.h,
++      src/frv/ffitarget.h,
++      src/frv/ffi.c,
++      src/s390/ffitarget.h,
++      src/s390/sysv.S,
++      src/cris/ffitarget.h,
++      src/pa/linux.S,
++      src/pa/ffitarget.h,
++      src/pa/ffi.c,
++      src/raw_api.c,
++      src/ia64/ffitarget.h,
++      src/ia64/unix.S,
++      src/ia64/ffi.c,
++      src/ia64/ia64_flags.h,
++      src/java_raw_api.c,
++      src/debug.c,
++      src/sparc/v9.S,
++      src/sparc/ffitarget.h,
++      src/sparc/ffi.c,
++      src/sparc/v8.S,
++      src/mips/ffitarget.h,
++      src/mips/n32.S,
++      src/mips/o32.S,
++      src/mips/ffi.c,
++      src/prep_cif.c,
++      src/sh/ffitarget.h,
++      src/sh/ffi.c,
++      src/sh/sysv.S: Update license text.
++
++2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
++
++      * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
++      (.eh_frame):  Add FDE for it.
++
++2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
++
++      * configure.ac:  Also check if assembler supports pc-relative
++      relocs on X86_WIN32 targets.
++      * configure:  Regenerate.
++      * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
++      (_ffi_call_SYSV):  Add missing function type symbol .def and
++      add EH markup labels.
++      (_ffi_call_STDCALL):  Likewise.
++      (_ffi_closure_SYSV):  Likewise.
++      (_ffi_closure_raw_SYSV):  Likewise.
++      (.eh_frame):  Add hand-crafted EH data.
++
++2009-04-09  Jakub Jelinek  <jakub@redhat.com>
++
++      * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
++      version 3 of the GNU General Public License and to point readers
++      at the COPYING3 file and the FSF's license web page.
++      * testsuite/libffi.call/call.exp: Likewise.
++      * testsuite/libffi.special/special.exp: Likewise.
++
++2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * configure: Regenerate.
++
++2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      PR libffi/26048
++      * configure.ac (HAVE_AS_X86_PCREL): New test.
++      * configure: Regenerate.
++      * fficonfig.h.in: Regenerate.
++      * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
++      RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
++      RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
++      (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
++      * src/x86/unix64.S (.Lstore_table): Move to .text section.
++      (.Lload_table): Likewise.
++      (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
++
++2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * configure: Regenerate.
++
++2008-11-21  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
++      signed/unsigned int8/16 return values.
++      * src/sparc/v8.S (ffi_call_v8): Likewise.
++      (ffi_closure_v8): Likewise.
++
++2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
++          Steve Ellcey  <sje@cup.hp.com>
++
++      * configure: Regenerate for new libtool.
++      * Makefile.in: Ditto.
++      * include/Makefile.in: Ditto.
++      * aclocal.m4: Ditto.
++
++2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
++      FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
++      Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
++      Adjust copyright notice.
++      * src/powerpc/ffi.c: Add two new flags to indicate if we have one
++      register or two register to use for FFI_SYSV structs.
++      (ffi_prep_cif_machdep): Pass the right register flag introduced above.
++      (ffi_closure_helper_SYSV): Fix the return type for
++      FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
++      Adjust copyright notice.
++
++2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
++      int.
++
++2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * configure: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2008-06-07  Joseph Myers  <joseph@codesourcery.com>
++
++      * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
++      powerpc-*-beos*): Remove.
++      * configure: Regenerate.
++
++2008-05-09  Julian Brown  <julian@codesourcery.com>
++
++      * Makefile.am (LTLDFLAGS): New.
++      (libffi_la_LDFLAGS): Use above.
++      * Makefile.in: Regenerate.
++
++2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
++
++      PR bootstrap/35457
++      * aclocal.m4: Regenerate.
++      * configure: Regenerate.
++
++2008-03-26  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/sysv.S: Add .note.GNU-stack on Linux.
++      * src/sh64/sysv.S: Likewise.
++
++2008-03-26  Daniel Jacobowitz  <dan@debian.org>
++
++      * src/arm/sysv.S: Fix ARM comment marker.
++
++2008-03-26  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/alpha/osf.S: Add .note.GNU-stack on Linux.
++      * src/s390/sysv.S: Likewise.
++      * src/powerpc/ppc_closure.S: Likewise.
++      * src/powerpc/sysv.S: Likewise.
++      * src/x86/unix64.S: Likewise.
++      * src/x86/sysv.S: Likewise.
++      * src/sparc/v8.S: Likewise.
++      * src/sparc/v9.S: Likewise.
++      * src/m68k/sysv.S: Likewise.
++      * src/arm/sysv.S: Likewise.
++
++2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
++
++      * aclocal.m4: Regenerate.
++      * configure: Likewise.
++      * Makefile.in: Likewise.
++      * include/Makefile.in: Likewise.
++      * testsuite/Makefile.in: Likewise.
++
++2008-02-12  Bjoern Koenig  <bkoenig@alpha-tierchen.de>
++          Andreas Tobler  <a.tobler@schweiz.org>
++
++      * configure.ac: Add amd64-*-freebsd* target.
++      * configure: Regenerate.
++
++2008-01-30  H.J. Lu  <hongjiu.lu@intel.com>
++
++      PR libffi/34612
++      * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
++      returning struct.
++
++      * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
++      tests.
++
++2008-01-24  David Edelsohn  <edelsohn@gnu.org>
++
++      * configure: Regenerate.
++
++2008-01-06  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
++
++2008-01-05  Andreas Tobler  <a.tobler@schweiz.org>
++
++      PR testsuite/32843
++      * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
++      signed/unsigned int8/16 for X86_DARWIN.
++      Updated copyright info.
++      Handle one and two byte structs with special cif->flags.
++      * src/x86/ffitarget.h: Add special types for one and two byte structs.
++      Updated copyright info.
++      * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
++      sysv.S
++      Remove code to pop args from the stack after call.
++      Special-case signed/unsigned for int8/16, one and two byte structs.
++      (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
++      FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
++      FFI_TYPE_SINT32.
++      Updated copyright info.
++
++2007-12-08  David Daney  <ddaney@avtrex.com>
++
++      * src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with
++      SUBU, add with ADDU and use smaller code sequences.
++
++2007-12-07  David Daney  <ddaney@avtrex.com>
++
++      * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
++      type.
++
++2007-12-06  David Daney  <ddaney@avtrex.com>
++
++      * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
++      defined.
++      (ffi_java_raw): New typedef.
++      (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
++      ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
++      ffi_java_raw.
++      (ffi_java_raw_closure) : Same.
++      (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
++      parameter types.
++      * src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
++      FFI_SIZEOF_JAVA_RAW.
++      (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
++      Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
++      sizeof(ffi_java_raw) for alignment calculations.
++      (ffi_java_ptrarray_to_raw): Same.
++      (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
++      if FFI_SIZEOF_JAVA_RAW == 4.
++      (ffi_java_raw_to_rvalue): Same.
++      (ffi_java_raw_call): Change type of raw to ffi_java_raw.
++      (ffi_java_translate_args): Same.
++      (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
++      parameter types.
++      * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
++
++2007-12-06  David Daney  <ddaney@avtrex.com>
++
++      * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
++      pointer values.
++
++2007-12-01  Andreas Tobler  <a.tobler@schweiz.org>
++
++      PR libffi/31937
++      * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
++      Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
++      * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
++      set the NUM_FPR_ARG_REGISTERS according to.
++      Add support for potential soft-float support under hard-float
++      architecture.
++      (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
++      FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
++      to the FFI_LINUX_SOFT_FLOAT ABI.
++      (ffi_prep_cif_machdep): Likewise.
++      (ffi_closure_helper_SYSV): Likewise.
++      * src/powerpc/ppc_closure.S: Make sure not to store float/double
++      on archs where __NO_FPRS__ is true.
++      Add FFI_TYPE_UINT128 support.
++      * src/powerpc/sysv.S: Add support for soft-float long-double-128.
++      Adjust copyright notice.
++
++2007-11-25  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
++      * include/ffi_common.h: ... here.
++      Update copyright.
++
++2007-11-17  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
++      * src/powerpc/linux64.S: Likewise.
++      * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
++      * testsuite/libffi.call/return_ldl.c: New test.
++
++2007-09-04    <aph@redhat.com>
++
++      * src/arm/sysv.S (UNWIND): New.
++      (Whole file): Conditionally compile unwinder directives.
++      * src/arm/sysv.S: Add unwinder directives.
++
++      * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
++      Only treat r0 as a struct address if we're actually returning a
++      struct by address.
++      Only copy the bytes that are actually within a struct.
++      (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
++      is returned in r0, not passed by address.
++      (ffi_call): Allocate a word-sized temporary for the case where
++      a composite is returned in r0.
++      (ffi_prep_incoming_args_SYSV): Align as necessary.
++
++2007-08-05  Steven Newbury  <s_j_newbury@yahoo.co.uk>
++
++      * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
++      directly using the sys_cacheflush syscall.
++
++2007-07-27  Andrew Haley  <aph@redhat.com>
++
++      * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
++
++2007-09-03  Maciej W. Rozycki  <macro@linux-mips.org>
++
++      * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
++      * configure.ac: Likewise.
++      * Makefile.in: Regenerate.
++      * include/Makefile.in: Likewise.
++      * testsuite/Makefile.in: Likewise.
++      * configure: Likewise.
++
++2007-08-24  David Daney  <ddaney@avtrex.com>
++
++      * testsuite/libffi.call/return_sl.c: New test.
++
++2007-08-10  David Daney  <ddaney@avtrex.com>
++
++      * testsuite/libffi.call/cls_multi_ushort.c,
++      testsuite/libffi.call/cls_align_uint16.c,
++      testsuite/libffi.call/nested_struct1.c,
++      testsuite/libffi.call/nested_struct3.c,
++      testsuite/libffi.call/cls_7_1_byte.c,
++      testsuite/libffi.call/nested_struct5.c,
++      testsuite/libffi.call/cls_double.c,
++      testsuite/libffi.call/nested_struct7.c,
++      testsuite/libffi.call/cls_sint.c,
++      testsuite/libffi.call/nested_struct9.c,
++      testsuite/libffi.call/cls_20byte1.c,
++      testsuite/libffi.call/cls_multi_sshortchar.c,
++      testsuite/libffi.call/cls_align_sint64.c,
++      testsuite/libffi.call/cls_3byte2.c,
++      testsuite/libffi.call/cls_multi_schar.c,
++      testsuite/libffi.call/cls_multi_uchar.c,
++      testsuite/libffi.call/cls_19byte.c,
++      testsuite/libffi.call/cls_9byte1.c,
++      testsuite/libffi.call/cls_align_float.c,
++      testsuite/libffi.call/closure_fn1.c,
++      testsuite/libffi.call/problem1.c,
++      testsuite/libffi.call/closure_fn3.c,
++      testsuite/libffi.call/cls_sshort.c,
++      testsuite/libffi.call/closure_fn5.c,
++      testsuite/libffi.call/cls_align_double.c,
++      testsuite/libffi.call/nested_struct.c,
++      testsuite/libffi.call/cls_2byte.c,
++      testsuite/libffi.call/nested_struct10.c,
++      testsuite/libffi.call/cls_4byte.c,
++      testsuite/libffi.call/cls_6byte.c,
++      testsuite/libffi.call/cls_8byte.c,
++      testsuite/libffi.call/cls_multi_sshort.c,
++      testsuite/libffi.call/cls_align_sint16.c,
++      testsuite/libffi.call/cls_align_uint32.c,
++      testsuite/libffi.call/cls_20byte.c,
++      testsuite/libffi.call/cls_float.c,
++      testsuite/libffi.call/nested_struct2.c,
++      testsuite/libffi.call/cls_5_1_byte.c,
++      testsuite/libffi.call/nested_struct4.c,
++      testsuite/libffi.call/cls_24byte.c,
++      testsuite/libffi.call/nested_struct6.c,
++      testsuite/libffi.call/cls_64byte.c,
++      testsuite/libffi.call/nested_struct8.c,
++      testsuite/libffi.call/cls_uint.c,
++      testsuite/libffi.call/cls_multi_ushortchar.c,
++      testsuite/libffi.call/cls_schar.c,
++      testsuite/libffi.call/cls_uchar.c,
++      testsuite/libffi.call/cls_align_uint64.c,
++      testsuite/libffi.call/cls_ulonglong.c,
++      testsuite/libffi.call/cls_align_longdouble.c,
++      testsuite/libffi.call/cls_1_1byte.c,
++      testsuite/libffi.call/cls_12byte.c,
++      testsuite/libffi.call/cls_3_1byte.c,
++      testsuite/libffi.call/cls_3byte1.c,
++      testsuite/libffi.call/cls_4_1byte.c,
++      testsuite/libffi.call/cls_6_1_byte.c,
++      testsuite/libffi.call/cls_16byte.c,
++      testsuite/libffi.call/cls_18byte.c,
++      testsuite/libffi.call/closure_fn0.c,
++      testsuite/libffi.call/cls_9byte2.c,
++      testsuite/libffi.call/closure_fn2.c,
++      testsuite/libffi.call/closure_fn4.c,
++      testsuite/libffi.call/cls_ushort.c,
++      testsuite/libffi.call/closure_fn6.c,
++      testsuite/libffi.call/cls_5byte.c,
++      testsuite/libffi.call/cls_align_pointer.c,
++      testsuite/libffi.call/cls_7byte.c,
++      testsuite/libffi.call/cls_align_sint32.c,
++      testsuite/libffi.special/unwindtest_ffi_call.cc,
++      testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
++
++2007-08-10  David Daney  <ddaney@avtrex.com>
++
++      PR libffi/28313
++      * configure.ac: Don't treat mips64 as a special case.
++      * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
++      * configure: Regenerate
++      * Makefile.in: Ditto.
++      * fficonfig.h.in: Ditto.
++      * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
++      (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
++      (FFI_DEFAULT_ABI): Set for n64 case.
++      (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
++      * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
++      (ffi_closure_N32): New function.
++      (.eh_frame): New section
++      * src/mips/o32.S: Clean up comments.
++      (ffi_closure_O32): Pass ffi_closure parameter in $12.
++      * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
++      _MIPS_SIM == _ABIN32 throughout.
++      (FFI_MIPS_STOP_HERE): New, use in place of
++      ffi_stop_here.
++      (ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
++      to support n32/n64 ABIs.
++      (calc_n32_struct_flags): Rewrite.
++      (calc_n32_return_struct_flags): Remove unused variable.  Reverse
++      position of flag bits.
++      (ffi_prep_cif_machdep): Rewrite n32 portion.
++      (ffi_call): Enable for n64.  Add special handling for small structure
++      return values.
++      (ffi_prep_closure_loc): Add n32 and n64 support.
++      (ffi_closure_mips_inner_O32): Add cast to silence warning.
++      (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
++
++2007-08-08  David Daney  <ddaney@avtrex.com>
++
++      * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
++      * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
++      specifiers.
++      * testsuite/libffi.call/nested_struct1.c (main): Ditto.
++      * testsuite/libffi.call/cls_sint.c (main): Ditto.
++      * testsuite/libffi.call/nested_struct9.c (main): Ditto.
++      * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
++      * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn1.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn3.c (main): Ditto.
++      * testsuite/libffi.call/return_dbl2.c (main): Ditto.
++      * testsuite/libffi.call/cls_sshort.c (main): Ditto.
++      * testsuite/libffi.call/return_fl3.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn5.c (main): Ditto.
++      * testsuite/libffi.call/nested_struct.c (main): Ditto.
++      * testsuite/libffi.call/nested_struct10.c (main): Ditto.
++      * testsuite/libffi.call/return_ll1.c (main): Ditto.
++      * testsuite/libffi.call/cls_8byte.c (main): Ditto.
++      * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
++      * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
++      * testsuite/libffi.call/cls_20byte.c (main): Ditto.
++      * testsuite/libffi.call/nested_struct2.c (main): Ditto.
++      * testsuite/libffi.call/cls_24byte.c (main): Ditto.
++      * testsuite/libffi.call/nested_struct6.c (main): Ditto.
++      * testsuite/libffi.call/cls_uint.c (main): Ditto.
++      * testsuite/libffi.call/cls_12byte.c (main): Ditto.
++      * testsuite/libffi.call/cls_16byte.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn0.c (main): Ditto.
++      * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn2.c (main): Ditto.
++      * testsuite/libffi.call/return_dbl1.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn4.c (main): Ditto.
++      * testsuite/libffi.call/closure_fn6.c (main): Ditto.
++      * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
++
++2007-08-07  Andrew Haley  <aph@redhat.com>
++
++      * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
++      checkin.
++
++2007-08-06  Andrew Haley  <aph@redhat.com>
++
++      PR testsuite/32843
++      * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
++      FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
++      FFI_TYPE_SINT32.
++
++2007-08-02  David Daney  <ddaney@avtrex.com>
++
++      * testsuite/libffi.call/return_ul.c (main): Define return type as
++      ffi_arg.  Use proper printf conversion specifier.
++
++2007-07-30  Andrew Haley  <aph@redhat.com>
++
++      PR testsuite/32843
++      * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
++      signed/unsigned int8/16.
++      * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
++      Use a jump table.
++      Remove code to pop args from the stack after call.
++      Special-case signed/unsigned int8/16.
++      * testsuite/libffi.call/return_sc.c (main): Revert.
++
++2007-07-26  Richard Guenther  <rguenther@suse.de>
++
++      PR testsuite/32843
++      * testsuite/libffi.call/return_sc.c (main): Verify call
++      result as signed char, not ffi_arg.
++
++2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
++      * configure: Regenerate.
++
++2007-07-11  David Daney  <ddaney@avtrex.com>
++
++      * src/mips/ffi.c: Don't include sys/cachectl.h.
++      (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
++      cacheflush().
++
++2007-05-18  Aurelien Jarno  <aurelien@aurel32.net>
++
++      * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
++      from (ffi_prep_closure): ... this.
++      (FFI_INIT_TRAMPOLINE): Adjust.
++
++2005-12-31  Phil Blundell  <pb@reciva.com>
++
++      * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
++      ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
++      * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
++      * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
++      (FFI_CLOSURES): Enable closure support.
++
++2007-07-03  Andrew Haley  <aph@hedges.billgatliff.com>
++
++      * testsuite/libffi.call/cls_multi_ushort.c,
++      testsuite/libffi.call/cls_align_uint16.c,
++      testsuite/libffi.call/nested_struct1.c,
++      testsuite/libffi.call/nested_struct3.c,
++      testsuite/libffi.call/cls_7_1_byte.c,
++      testsuite/libffi.call/cls_double.c,
++      testsuite/libffi.call/nested_struct5.c,
++      testsuite/libffi.call/nested_struct7.c,
++      testsuite/libffi.call/cls_sint.c,
++      testsuite/libffi.call/nested_struct9.c,
++      testsuite/libffi.call/cls_20byte1.c,
++      testsuite/libffi.call/cls_multi_sshortchar.c,
++      testsuite/libffi.call/cls_align_sint64.c,
++      testsuite/libffi.call/cls_3byte2.c,
++      testsuite/libffi.call/cls_multi_schar.c,
++      testsuite/libffi.call/cls_multi_uchar.c,
++      testsuite/libffi.call/cls_19byte.c,
++      testsuite/libffi.call/cls_9byte1.c,
++      testsuite/libffi.call/cls_align_float.c,
++      testsuite/libffi.call/closure_fn1.c,
++      testsuite/libffi.call/problem1.c,
++      testsuite/libffi.call/closure_fn3.c,
++      testsuite/libffi.call/cls_sshort.c,
++      testsuite/libffi.call/closure_fn5.c,
++      testsuite/libffi.call/cls_align_double.c,
++      testsuite/libffi.call/cls_2byte.c,
++      testsuite/libffi.call/nested_struct.c,
++      testsuite/libffi.call/nested_struct10.c,
++      testsuite/libffi.call/cls_4byte.c,
++      testsuite/libffi.call/cls_6byte.c,
++      testsuite/libffi.call/cls_8byte.c,
++      testsuite/libffi.call/cls_multi_sshort.c,
++      testsuite/libffi.call/cls_align_uint32.c,
++      testsuite/libffi.call/cls_align_sint16.c,
++      testsuite/libffi.call/cls_float.c,
++      testsuite/libffi.call/cls_20byte.c,
++      testsuite/libffi.call/cls_5_1_byte.c,
++      testsuite/libffi.call/nested_struct2.c,
++      testsuite/libffi.call/cls_24byte.c,
++      testsuite/libffi.call/nested_struct4.c,
++      testsuite/libffi.call/nested_struct6.c,
++      testsuite/libffi.call/cls_64byte.c,
++      testsuite/libffi.call/nested_struct8.c,
++      testsuite/libffi.call/cls_uint.c,
++      testsuite/libffi.call/cls_multi_ushortchar.c,
++      testsuite/libffi.call/cls_schar.c,
++      testsuite/libffi.call/cls_uchar.c,
++      testsuite/libffi.call/cls_align_uint64.c,
++      testsuite/libffi.call/cls_ulonglong.c,
++      testsuite/libffi.call/cls_align_longdouble.c,
++      testsuite/libffi.call/cls_1_1byte.c,
++      testsuite/libffi.call/cls_12byte.c,
++      testsuite/libffi.call/cls_3_1byte.c,
++      testsuite/libffi.call/cls_3byte1.c,
++      testsuite/libffi.call/cls_4_1byte.c,
++      testsuite/libffi.call/cls_6_1_byte.c,
++      testsuite/libffi.call/cls_16byte.c,
++      testsuite/libffi.call/cls_18byte.c,
++      testsuite/libffi.call/closure_fn0.c,
++      testsuite/libffi.call/cls_9byte2.c,
++      testsuite/libffi.call/closure_fn2.c,
++      testsuite/libffi.call/closure_fn4.c,
++      testsuite/libffi.call/cls_ushort.c,
++      testsuite/libffi.call/closure_fn6.c,
++      testsuite/libffi.call/cls_5byte.c,
++      testsuite/libffi.call/cls_align_pointer.c,
++      testsuite/libffi.call/cls_7byte.c,
++      testsuite/libffi.call/cls_align_sint32.c,
++      testsuite/libffi.special/unwindtest_ffi_call.cc,
++      testsuite/libffi.special/unwindtest.cc: Enable for ARM.
++
++2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
++
++      * aclocal.m4: Regenerated.
++
++2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
++
++      * configure: Regenerate.
++
++2007-05-23  Steve Ellcey  <sje@cup.hp.com>
++
++      * Makefile.in: Regenerate.
++      * configure: Regenerate.
++      * aclocal.m4: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2007-05-10  Roman Zippel <zippel@linux-m68k.org>
++
++      * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
++      ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
++      * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
++      * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
++      (FFI_CLOSURES): Enable closure support.
++
++2007-05-10  Roman Zippel <zippel@linux-m68k.org>
++
++      * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
++      * configure: Regenerate.
++      * fficonfig.h.in: Regenerate.
++      * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
++      CFI_OFFSET,CFI_DEF_CFA): New macros.
++      (ffi_call_SYSV): Add callframe annotation.
++
++2007-05-10  Roman Zippel <zippel@linux-m68k.org>
++
++      * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
++      numerous test suite failures.
++      * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
++
++2007-04-11  Paolo Bonzini  <bonzini@gnu.org>
++
++      * Makefile.am (EXTRA_DIST): Bring up to date.
++      * Makefile.in: Regenerate.
++      * src/frv/eabi.S: Remove RCS keyword.
++
++2007-04-06  Richard Henderson  <rth@redhat.com>
++
++      * configure.ac: Tidy target case.
++      (HAVE_LONG_DOUBLE): Allow the target to override.
++      * configure: Regenerate.
++      * include/ffi.h.in: Don't define ffi_type_foo if
++      LIBFFI_HIDE_BASIC_TYPES is defined.
++      (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
++      to ffi_type_double.
++      * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
++      (FFI_TYPEDEF, ffi_type_void): Mark the data const.
++      (ffi_type_longdouble): Special case for Alpha.  Don't define
++      if long double == double.
++
++      * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
++      (ffi_prep_cif_machdep): Handle it as the 128-bit type.
++      (ffi_call, ffi_closure_osf_inner): Likewise.
++      (ffi_closure_osf_inner): Likewise.  Mark hidden.
++      (ffi_call_osf, ffi_closure_osf): Mark hidden.
++      * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
++      * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
++      (load_table): Handle 128-bit long double.
++
++      * testsuite/libffi.call/float4.c: Add -mieee for alpha.
++
++2007-04-06  Tom Tromey  <tromey@redhat.com>
++
++      PR libffi/31491:
++      * README: Fixed bug in example.
++
++2007-04-03  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/closures.c: Include sys/statfs.h.
++      (_GNU_SOURCE): Define on Linux.
++      (FFI_MMAP_EXEC_SELINUX): Define.
++      (selinux_enabled): New variable.
++      (selinux_enabled_check): New function.
++      (is_selinux_enabled): Define.
++      (dlmmap): Use it.
++
++2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
++
++      * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
++      Use 'volatile float sum' to create sum of floats to avoid false
++      negative due to excess precision on ix86 targets.
++      (main): Ditto.
++
++2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
++
++      * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
++      patch.
++      (ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
++
++2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
++
++      * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
++      (ffi_prep_closure_loc): New.
++      (ffi_prep_raw_closure_loc): New.
++      (ffi_prep_java_raw_closure_loc): New.
++      * src/closures.c: New file.
++      * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
++      Replace sflags with exec_offset.
++      [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
++      sub_segment_exec_offset): New macros.
++      (get_segment_flags, set_segment_flags, check_segment_merge): New
++      macros.
++      (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
++      (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
++      destroy_mspace): Use new macros.
++      (sys_alloc): Silence warning.
++      * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
++      * Makefile.in: Rebuilt.
++      * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
++      terms of ffi_prep_closure_loc.
++      * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
++      from...
++      (ffi_prep_raw_closure): ... this.  Re-implement in terms of the
++      renamed version.
++      * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
++      adjusted from...
++      (ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
++      the renamed version.
++      * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
++      (ffi_prep_closure): ... this.
++      * src/pa/ffi.c: Likewise.
++      * src/cris/ffi.c: Likewise.  Adjust.
++      * src/frv/ffi.c: Likewise.
++      * src/ia64/ffi.c: Likewise.
++      * src/mips/ffi.c: Likewise.
++      * src/powerpc/ffi_darwin.c: Likewise.
++      * src/s390/ffi.c: Likewise.
++      * src/sh/ffi.c: Likewise.
++      * src/sh64/ffi.c: Likewise.
++      * src/sparc/ffi.c: Likewise.
++      * src/x86/ffi64.c: Likewise.
++      * src/x86/ffi.c: Likewise.
++      (FFI_INIT_TRAMPOLINE): Adjust.
++      (ffi_prep_raw_closure_loc): Renamed and adjusted from...
++      (ffi_prep_raw_closure): ... this.
++      * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
++      (ffi_prep_closure): ... this.
++      (flush_icache): Adjust.
++
++2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
++
++      * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
++      Lea's malloc.
++
++2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
++
++      * Makefile.am: Add dummy install-pdf target.
++      * Makefile.in: Regenerate
++
++2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
++
++      * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
++      ffi_closure_helper_SYSV): Add long double handling.
++
++2007-02-02  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
++      immediately after bctrl instruction.
++
++2007-01-18  Alexandre Oliva  <aoliva@redhat.com>
++
++      * Makefile.am (all-recursive, install-recursive,
++      mostlyclean-recursive, clean-recursive, distclean-recursive,
++      maintainer-clean-recursive): Add missing targets.
++      * Makefile.in: Rebuilt.
++
++2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>
++
++      * configure.ac: Add TARGET for x86_64-*-darwin*.
++      * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
++      for X86_DARWIN.
++      * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
++      * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
++      * configure: Regenerate.
++      * Makefile.in: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++      * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
++      ffi_call only.
++
++2006-12-13  Andreas Tobler <a.tobler@schweiz.org>
++
++      * aclocal.m4: Regenerate with aclocal -I .. as written in the
++      Makefile.am.
++
++2006-10-31  Geoffrey Keating  <geoffk@apple.com>
++
++      * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
++      (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
++      Darwin.
++      * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
++      * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
++
++2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
++          Sandro Tolaini  <tolaini@libero.it>
++
++      * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
++      conditional.
++      * configure: Regenerated.
++      * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
++      (EXTRA_DIST): Add src/x86/darwin.S.
++      * Makefile.in: Regenerated.
++      * include/Makefile.in: Regenerated.
++      * testsuite/Makefile.in: Regenerated.
++
++      * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
++      X86_WIN32, and additionally align stack to 16 bytes.
++      * src/x86/darwin.S: New, based on sysv.S.
++      * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
++
++2006-09-12  David Daney  <ddaney@avtrex.com>
++
++      PR libffi/23935
++      * include/Makefile.am: Install both ffi.h and ffitarget.h in
++      $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
++      * aclocal.m4: Regenerated for automake 1.9.6.
++      * Makefile.in: Regenerated.
++      * include/Makefile.in: Regenerated.
++      * testsuite/Makefile.in: Regenerated.
++
++2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * include/ffi_common.h (struct): Revert accidental commit.
++
++2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * include/ffi_common.h: Remove lint directives.
++      * include/ffi.h.in: Likewise.
++
++2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
++
++      * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
++      for 32-bit architectures.
++      * testsuite/libffi.call/return_ul.c: New test case.
++
++2006-07-19  David Daney  <ddaney@avtrex.com>
++
++      * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
++      xfail remains for mips64.
++
++2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
++
++      * Makefile.am: Add install-html target. Add install-html to .PHONY
++      * Makefile.in: Regenerate.
++      * aclocal.m4: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
++      stack slot.
++
++2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * README: Remove notice about 'Crazy Comments'.
++      * src/debug.c: Remove lint directives. Cleanup white spaces.
++      * src/java_raw_api.c: Likewise.
++      * src/prep_cif.c: Likewise.
++      * src/raw_api.c: Likewise.
++      * src/ffitest.c: Delete. No longer needed, all test cases migrated
++      to the testsuite.
++      * src/arm/ffi.c: Remove lint directives.
++      * src/m32r/ffi.c: Likewise.
++      * src/pa/ffi.c: Likewise.
++      * src/powerpc/ffi.c: Likewise.
++      * src/powerpc/ffi_darwin.c: Likewise.
++      * src/sh/ffi.c: Likewise.
++      * src/sh64/ffi.c: Likewise.
++      * src/x86/ffi.c: Likewise.
++      * testsuite/libffi.call/float2.c: Likewise.
++      * testsuite/libffi.call/promotion.c: Likewise.
++      * testsuite/libffi.call/struct1.c: Likewise.
++
++2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/pa/hpux32.S: Correct unwind offset calculation for
++      ffi_closure_pa32.
++      * src/pa/linux.S: Likewise.
++
++2006-04-12  James E Wilson  <wilson@specifix.com>
++
++      PR libgcj/26483
++      * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
++      (hfa_type_load): Call stf_spill.
++      (hfa_type_store): Call ldf_fill.
++      (ffi_call): Adjust calls to above routines.  Add local temps for
++      macro result.
++
++2006-04-10  Matthias Klose  <doko@debian.org>
++
++      * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
++      directory names containing underscores.
++
++2006-04-07  James E Wilson  <wilson@specifix.com>
++
++      * testsuite/libffi.call/float4.c: New testcase.
++
++2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++          Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * Makefile.am: Add PA_HPUX port.
++      * Makefile.in: Regenerate.
++      * include/Makefile.in: Likewise.
++      * testsuite/Makefile.in: Likewise.
++      * configure.ac: Add PA_HPUX rules.
++      * configure: Regenerate.
++      * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
++      Add PA_HPUX and PA64_HPUX.
++      Rename FFI_LINUX ABI to FFI_PA32 ABI.
++      (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
++      (FFI_TYPE_SMALL_STRUCT2): Define.
++      (FFI_TYPE_SMALL_STRUCT4): Likewise.
++      (FFI_TYPE_SMALL_STRUCT8): Likewise.
++      (FFI_TYPE_SMALL_STRUCT3): Redefine.
++      (FFI_TYPE_SMALL_STRUCT5): Likewise.
++      (FFI_TYPE_SMALL_STRUCT6): Likewise.
++      (FFI_TYPE_SMALL_STRUCT7): Likewise.
++      * src/pa/ffi.c (ROUND_DOWN): Delete.
++      (fldw, fstw, fldd, fstd): Use '__asm__'.
++      (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
++      FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
++      (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
++      Simplify incrementing of stack slot variable. Change type of local
++      'n' to unsigned int.
++      (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
++      double on PA_HPUX.
++      (ffi_prep_cif_machdep): Likewise.
++      (ffi_call): Likewise.
++      (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
++      return type to ffi_status. Simplify incrementing of stack slot
++      variable. Only copy floating point argument registers when PA_LINUX
++      is true. Reformat debug statement.
++      Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
++      FFI_TYPE_SMALL_STRUCT8.
++      (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
++      declaration.
++      (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
++      Add nops to cache flush.  Add trampoline for PA_HPUX.
++      * src/pa/hpux32.S: New file.
++      * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
++      ffi_prep_args_LINUX to ffi_prep_args_pa32.
++      Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
++      unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
++      argument type checks so that common argument types appear first.
++      (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
++      ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
++
++2006-03-24  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
++      for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
++      * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
++      FFI_TYPE_LONGDOUBLE.
++      (ffi_prep_args64): Assert using IBM extended double.
++      (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
++      Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
++      (ffi_call): Handle FFI_LINUX.
++      (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
++      gpr3 return pointer as for struct return.  Handle FFI_LINUX
++      FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
++      unnecessarily.
++      * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
++      for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
++      Don't use r6 as pointer to results, instead use sp offset.  Don't
++      make a special call to load lr with case table address, instead
++      use offset from previous call.
++      * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
++      * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
++      return.
++
++2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
++      passed with FP registers correctly.
++      (ffi_closure_helper_SYSV): Likewise.
++      * src/sh64/sysv.S: Likewise.
++
++2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
++      args and userdata unused.
++      (closure_test_fn1): Mark cif and userdata unused.
++      (main): Remove unused res.
++
++2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
++      -O2, -O3, -Os and the warning flags -W -Wall.
++      * testsuite/libffi.special/special.exp: Likewise.
++      * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
++      unused parameter unused for gcc or else do nothing.
++      * testsuite/libffi.special/ffitestcxx.h: Likewise.
++      * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
++      and userdata unused.
++      * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
++      * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
++      * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
++      * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
++      * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
++      * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
++      * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
++      * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
++      * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
++      * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
++      * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
++      * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
++      * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
++      * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
++      * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
++      * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
++      * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
++      * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
++      * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
++      * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
++      * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
++      * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
++      * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
++      * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
++      void* to avoid compiler warning.
++      (main): Likewise.
++      (cls_struct_align_gn): Mark cif and userdata unused.
++      * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
++      Likewise.
++      * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
++      * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
++      * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
++      data unused.
++      (main): Cast res_call to silence gcc.
++      * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
++      data unused.
++      (main): Cast res_call to silence gcc.
++      * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
++      and data unused.
++      (main): Cast res_call to silence gcc.
++      * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
++      data unused.
++      (main): Cast res_call to silence gcc.
++      * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
++      data unused.
++      (main): Cast res_call to silence gcc.
++      * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
++      and data unused.
++      (main): Cast res_call to silence gcc.
++      * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
++      userdata unused.
++      (cls_ret_schar_fn): Cast printf parameter to silence gcc.
++      * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
++      userdata unused.
++      (cls_ret_sint_fn): Cast printf parameter to silence gcc.
++      * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
++      userdata unused.
++      (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
++      * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
++      userdata unused.
++      (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
++      * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
++      userdata unused.
++      (cls_ret_uint_fn): Cast printf parameter to silence gcc.
++      * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
++      and userdata unused.
++      * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
++      userdata unused.
++      (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
++      * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
++      * testsuite/libffi.call/float1.c (main): Remove unused variable i.
++      Cleanup white spaces.
++      * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
++      * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
++      cif and userdata unused.
++      * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
++      Likewise.
++      * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
++      * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
++      formatters to silence gcc.
++      (B_gn): Mark cif and userdata unused.
++      * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
++      unused.
++      * testsuite/libffi.call/nested_struct4.c: Mention related PR.
++      (B_gn): Mark cif and userdata unused.
++      * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
++      unused.
++      * testsuite/libffi.call/nested_struct6.c: Mention related PR.
++      (B_gn): Mark cif and userdata unused.
++      * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
++      unused.
++      * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
++      * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
++      * testsuite/libffi.call/problem1.c (stub): Likewise.
++      * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
++      gcc.
++      * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
++      in the last commit for this test case in the test case itself.
++      * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
++      unused.
++      * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
++      * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
++      * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
++      * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
++      * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
++      * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
++
++2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/sysv.S: Fix register numbers in the FDE for
++      ffi_closure_SYSV.
++
++2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
++      declaration to avoid a false negative on ix86. See PR323.
++
++2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
++      and cast integer to void * if needed.  Update the pointer to
++      the FP register saved area correctly.
++
++2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
++      is fixed.
++      * testsuite/libffi.call/nested_struct4.c: Likewise.
++
++2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/return_dbl.c: New test case.
++      * testsuite/libffi.call/return_dbl1.c: Likewise.
++      * testsuite/libffi.call/return_dbl2.c: Likewise.
++      * testsuite/libffi.call/return_fl.c: Likewise.
++      * testsuite/libffi.call/return_fl1.c: Likewise.
++      * testsuite/libffi.call/return_fl2.c: Likewise.
++      * testsuite/libffi.call/return_fl3.c: Likewise.
++      * testsuite/libffi.call/closure_fn6.c: Likewise.
++
++      * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
++      definition.
++      * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
++      here to be used by other test cases too.
++
++      * testsuite/libffi.call/nested_struct10.c: New test case.
++      * testsuite/libffi.call/nested_struct9.c: Likewise.
++      * testsuite/libffi.call/nested_struct8.c: Likewise.
++      * testsuite/libffi.call/nested_struct7.c: Likewise.
++      * testsuite/libffi.call/nested_struct6.c: Likewise.
++      * testsuite/libffi.call/nested_struct5.c: Likewise.
++      * testsuite/libffi.call/nested_struct4.c: Likewise.
++
++2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * configure.ac: Enable libffi for sparc64-*-freebsd*.
++      * configure: Rebuilt.
++
++2006-01-18  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
++      instead do the shifting inline.
++      * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
++      shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
++      and 8 byte structs, for the remaining struct sizes don't call
++      __lshrdi3, instead do the shifting inline.
++
++2005-12-07  Thiemo Seufer  <ths@networkno.de>
++
++      * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
++      missing parentheses.
++      * src/mips/o32.S (ffi_call_O32): Code formatting. Define
++      and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
++      (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
++      A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
++      V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
++      FA_0_0_OFF2.
++      * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
++      endianness bugs.
++      (ffi_prep_closure): Improve trampoline instruction scheduling.
++      (ffi_closure_mips_inner_O32): Fix endianness bugs.
++
++2005-12-03  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/powerpc/ffi.c: Formatting.
++      (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
++      (ffi_prep_args64): Likewise.
++
++2005-09-30  Geoffrey Keating  <geoffk@apple.com>
++
++      * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
++      darwin, use -shared-libgcc not -lgcc_s, and explain why.
++
++2005-09-26  Tom Tromey  <tromey@redhat.com>
++
++      * testsuite/libffi.call/float1.c (value_type): New typedef.
++      (CANARY): New define.
++      (main): Check for result buffer overflow.
++      * src/powerpc/linux64.S: Handle linux64 long double returns.
++      * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
++      (ffi_prep_cif_machdep): Handle linux64 long double returns.
++
++2005-08-25  Alan Modra  <amodra@bigpond.net.au>
++
++      PR target/23404
++      * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
++      homed fp args.
++      (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
++
++2005-08-11  Jakub Jelinek  <jakub@redhat.com>
++
++      * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
++      (AH_BOTTOM): Add FFI_HIDDEN definition.
++      * configure: Rebuilt.
++      * fficonfig.h.in: Rebuilt.
++      * src/powerpc/ffi.c (hidden): Remove.
++      (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
++      ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
++      * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
++      .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
++      * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
++      add FFI_HIDDEN to its prototype.
++      (ffi_closure_SYSV_inner): New.
++      * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
++      * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
++
++2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
++
++      PR libffi/21819:
++      * configure: Rebuilt.
++      * configure.ac: Handle i*86-*-gnu*.
++
++2005-08-09  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
++      DW_CFA_offset_extended_sf rather than
++      DW_CFA_GNU_negative_offset_extended.
++      * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
++
++2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
++
++      * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
++      on sh3.
++      (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
++      * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
++      partially on register.
++      (ffi_closure_helper_SYSV): Likewise.
++      (ffi_prep_cif_machdep): Don't set too many cif->flags.
++
++2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/ffi.c (ffi_call): Handle small structures correctly.
++      Remove empty line.
++      * src/sh64/ffi.c (simple_type): Remove.
++      (return_type): Handle small structures correctly.
++      (ffi_prep_args): Likewise.
++      (ffi_call): Likewise.
++      (ffi_closure_helper_SYSV): Likewise.
++      * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
++      Emit position independent code if PIC and remove wrong datalabel
++      prefixes from EH data.
++
++2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
++      * Makefile.in: Regenerate.
++      * include/Makefile.in: Likewise.
++      * testsuite/Makefile.in: Likewise.
++      * configure.ac: Add POWERPC_FREEBSD rules.
++      * configure: Regenerate.
++      * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
++      (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
++      * src/powerpc/ffi.c: Add flags to handle small structure returns
++      in ffi_call_SYSV.
++      (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
++      Aka FFI_SYSV.
++      (ffi_closure_helper_SYSV): Likewise.
++      * src/powerpc/ppc_closure.S: Add return types for small structures.
++      * src/powerpc/sysv.S: Add bits to handle small structures for
++      final SYSV 4 ABI.
++
++2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/cls_5_1_byte.c: New test file.
++      * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
++      * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
++
++2005-07-05  Randolph Chung  <tausq@debian.org>
++
++      * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
++      as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
++      structures.  Kill compilation warnings.
++      (ffi_closure_inner_LINUX): Print return values as hex in debug
++      message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
++      Properly handle 5-7 byte structure returns.
++      * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
++      (FFI_TYPE_SMALL_STRUCT2): Remove.
++      (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
++      (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
++      * src/pa/linux.S: Mark source file as using PA1.1 assembly.
++      (checksmst1, checksmst2): Remove.
++      (checksmst3): Optimize handling of 3-byte struct returns.
++      (checksmst567): Properly handle 5-7 byte struct returns.
++
++2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      PR libgcj/21943
++      * src/mips/n32.S: Enforce PIC code.
++      * src/mips/o32.S: Likewise.
++
++2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
++      * configure: Regenerate.
++
++2005-06-01  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
++      to call ffi_closure_helper_SYSV.  Append @local instead.
++      * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
++
++2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
++      Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
++      * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
++      * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
++      include/Makefile.in, testsuite/Makefile.in: Regenerate.
++
++2005-05-09  Mike Stump  <mrs@apple.com>
++
++      * configure: Regenerate.
++
++2005-05-08  Richard Henderson  <rth@redhat.com>
++
++      PR libffi/21285
++      * src/alpha/osf.S: Update unwind into to match code.
++
++2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
++          Richard Henderson  <rth@redhat.com>
++
++      * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
++      bit 11 of flags.
++      (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
++      (ffi_prep_closure): Set carry bit if sse-used flag set.
++      * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
++      Only load sse registers if ssecount non-zero.
++      (ffi_closure_unix64): Only save sse registers if carry set on entry.
++
++2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
++
++      * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
++      powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
++      * configure: Regenerate.
++
++2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
++
++      * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
++      have Tcl8.3-compatible intermediate variable.
++
++2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
++          Hans-Peter Nilsson  <hp@axis.com>
++
++      * Makefile.am: Add CRIS support.
++      * configure.ac: Likewise.
++      * Makefile.in, configure, testsuite/Makefile.in,
++      include/Makefile.in: Regenerate.
++      * src/cris: New directory.
++      * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
++      * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
++
++      * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
++      \r?\n in output tests.
++
++2005-04-12  Mike Stump  <mrs@apple.com>
++
++      * configure: Regenerate.
++
++2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
++
++      * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
++
++2005-03-30  Steve Ellcey  <sje@cup.hp.com>
++
++      * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
++      (ffi_sarg) Ditto.
++      * src/ia64/unix.S (ffi_closure_unix): Extend gp
++      to 64 bits in ILP32 mode.
++      Load 64 bits even for short data.
++
++2005-03-23  Mike Stump  <mrs@apple.com>
++
++      * src/powerpc/darwin.S: Update for -m64 multilib.
++      * src/powerpc/darwin_closure.S: Likewise.
++
++2005-03-21  Zack Weinberg  <zack@codesourcery.com>
++
++      * configure.ac: Do not invoke TL_AC_GCC_VERSION.
++      Do not set tool_include_dir.
++      * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
++      Regenerate.
++      * include/Makefile.am: Set gcc_version and toollibffidir.
++      * include/Makefile.in: Regenerate.
++
++2005-02-22  Andrew Haley  <aph@redhat.com>
++
++      * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
++      odd-numbered register pairs for 64-bit integer types.
++
++2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      PR libffi/20104
++      * testsuite/libffi.call/return_ll1.c: New test case.
++
++2005-02-11  Janis Johnson  <janis187@us.ibm.com>
++
++      * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
++      * testsuite/libffi.call/float.c: Ditto.
++      * testsuite/libffi.call/float2.c: Ditto.
++      * testsuite/libffi.call/float3.c: Ditto.
++
++2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
++
++2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
++
++      * testsuite/libffi.special/special.exp (cxx_options): Add
++      -shared-libgcc.
++
++2004-12-31  Richard Henderson  <rth@redhat.com>
++
++      * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
++      (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
++      offset parameters with a type parameter; deduce size and structure
++      alignment.  Update all users.
++
++2004-12-31  Richard Henderson  <rth@redhat.com>
++
++      * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
++      (FFI_TYPE_LONGDOUBLE): Fix for ia64.
++      * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
++      into ffi_prep_closure.
++      * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
++      from scratch.
++
++2004-12-27  Richard Henderson  <rth@redhat.com>
++
++      * src/x86/unix64.S: Fix typo in unwind info.
++
++2004-12-25  Richard Henderson  <rth@redhat.com>
++
++      * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
++      (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
++      (merge_classes): Check for it.
++      (SSE_CLASS_P): New.
++      (classify_argument): Pass byte_offset by value; perform all updates
++      inside struct case.
++      (examine_argument): Add classes argument; handle
++      X86_64_COMPLEX_X87_CLASS.
++      (ffi_prep_args): Merge into ...
++      (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
++      (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
++      (ffi_fill_return_value): Remove.
++      (ffi_prep_closure): Remove dead assert.
++      (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
++      Rewrite to use struct register_args instead of va_list.  Create
++      flags for handling structure returns.
++      * src/x86/unix64.S: Remove dead strings.
++      (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
++      stack frame with ffi_call.  Handle structure returns properly.
++      (float2sse, floatfloat2sse, double2sse): Remove.
++      (sse2float, sse2double, sse2floatfloat): Remove.
++      (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
++      to handle structure returns properly.
++
++2004-12-08  David Edelsohn  <edelsohn@gnu.org>
++
++      * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
++      PICFLAG.
++      * Makefile.in: Regenerated.
++
++2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
++
++      * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
++      * configure, aclocal.m4, Makefile.in: Regenerate.
++      * include/Makefile.in, testsuite/Makefile.in: Regenerate.
++
++2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * configure: Regenerate for libtool change.
++
++2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * configure: Regenerate for libtool reversion.
++
++2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * configure: Regenerate for libtool change.
++
++2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
++
++2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
++
++      * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
++      of jal.  Use an absolute encoding for the frame information.
++
++2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
++
++      * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
++      * acinclude.m4: Delete logic for sincludes.
++      * aclocal.m4, Makefile.in, configure: Regenerate.
++      * include/Makefile: Likewise.
++      * testsuite/Makefile: Likewise.
++
++2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
++
++      * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
++      on a 8-byte boundary.
++      * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
++
++2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
++
++      * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
++      long long values.  Round stack allocation to a multiple of 8 bytes
++      for ATPCS compatibility.
++      * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
++      names.  Handle returning long long types.  Add Thumb and interworking
++      support.  Improve soft-float code.
++
++2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
++
++      * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
++      (libffi_exit): New function.
++      (libffi_init): Build the testglue wrapper if needed.
++
++2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
++
++      PR other/18138
++      * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
++
++2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
++
++      * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
++
++2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
++      * testsuite/libffi.call/float3.c: New test case.
++
++2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
++      the function returning a structure pointed with R2.
++      * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
++      the structure return value if T bit set.  Emit position
++      independent code and EH data if PIC.
++
++2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
++
++      * Makefile.am: Add m32r support.
++      * configure.ac: Likewise.
++      * Makefile.in: Regenerate.
++      * confiugre: Regenerate.
++      * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
++      (uint64, sint64, double, longdouble)
++      * src/m32r: New directory.
++      * src/m32r/ffi.c: New file.
++      * src/m32r/sysv.S: Likewise.
++      * src/m32r/ffitarget.h: Likewise.
++
++2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * testsuite/libffi.call/negint.c: New test case.
++
++2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
++
++      PR libgcj/17465
++      * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
++      Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
++      LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
++      DYLD_LIBRARY_PATH.
++
++2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/many_win32.c: Remove whitespaces.
++      * testsuite/libffi.call/promotion.c: Likewise.
++      * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
++      whitespaces.
++      * testsuite/libffi.call/return_sc.c: Likewise.
++      * testsuite/libffi.call/return_uc.c: Likewise.
++
++2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/darwin.S: Fix comments and identation.
++      * src/powerpc/darwin_closure.S: Likewise.
++
++2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
++      (ffi_prep_args): Handle longdouble arguments.
++      (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
++      longdouble.
++      (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
++      * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
++      values.
++      * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
++      * src/types.c: Defined longdouble size and alignment for darwin.
++
++2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/aix.S: Remove whitespaces.
++      * src/powerpc/aix_closure.S: Likewise.
++      * src/powerpc/asm.h: Likewise.
++      * src/powerpc/ffi.c: Likewise.
++      * src/powerpc/ffitarget.h: Likewise.
++      * src/powerpc/linux64.S: Likewise.
++      * src/powerpc/linux64_closure.S: Likewise.
++      * src/powerpc/ppc_closure.S: Likewise.
++      * src/powerpc/sysv.S: Likewise.
++
++2004-08-30  Anthony Green  <green@redhat.com>
++
++      * Makefile.am: Add frv support.
++      * Makefile.in, testsuite/Makefile.in: Rebuilt.
++      * configure.ac: Read configure.host.
++      * configure.in: Read configure.host.
++      * configure.host: New file.  frv-elf needs libgloss.
++      * include/ffi.h.in: Force ffi_closure to have a nice big (8)
++      alignment.  This is needed to frv and shouldn't harm the others.
++      * include/ffi_common.h (ALIGN_DOWN): New macro.
++      * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
++
++2004-08-24  David Daney  <daney@avtrex.com>
++
++      * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
++      * testsuite/libffi.call/closure_fn1.c: Likewise.
++      * testsuite/libffi.call/closure_fn2.c  Likewise.
++      * testsuite/libffi.call/closure_fn3.c: Likewise.
++      * testsuite/libffi.call/closure_fn4.c: Likewise.
++      * testsuite/libffi.call/closure_fn5.c: Likewise.
++      * testsuite/libffi.call/cls_18byte.c: Likewise.
++      * testsuite/libffi.call/cls_19byte.c: Likewise.
++      * testsuite/libffi.call/cls_1_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte1.c: Likewise.
++      * testsuite/libffi.call/cls_24byte.c: Likewise.
++      * testsuite/libffi.call/cls_2byte.c: Likewise.
++      * testsuite/libffi.call/cls_3_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_3byte1.c: Likewise.
++      * testsuite/libffi.call/cls_3byte2.c: Likewise.
++      * testsuite/libffi.call/cls_4_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_4byte.c: Likewise.
++      * testsuite/libffi.call/cls_64byte.c: Likewise.
++      * testsuite/libffi.call/cls_6byte.c: Likewise.
++      * testsuite/libffi.call/cls_7byte.c: Likewise.
++      * testsuite/libffi.call/cls_8byte.c: Likewise.
++      * testsuite/libffi.call/cls_9byte1.c: Likewise.
++      * testsuite/libffi.call/cls_9byte2.c: Likewise.
++      * testsuite/libffi.call/cls_align_double.c: Likewise.
++      * testsuite/libffi.call/cls_align_float.c: Likewise.
++      * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
++      * testsuite/libffi.call/cls_align_pointer.c: Likewise.
++      * testsuite/libffi.call/cls_align_sint16.c: Likewise.
++      * testsuite/libffi.call/cls_align_sint32.c: Likewise.
++      * testsuite/libffi.call/cls_align_sint64.c: Likewise.
++      * testsuite/libffi.call/cls_align_uint16.c: Likewise.
++      * testsuite/libffi.call/cls_align_uint32.c: Likewise.
++      * testsuite/libffi.call/cls_align_uint64.c: Likewise.
++      * testsuite/libffi.call/cls_double.c: Likewise.
++      * testsuite/libffi.call/cls_float.c: Likewise.
++      * testsuite/libffi.call/cls_multi_schar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
++      * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
++      * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
++      * testsuite/libffi.call/cls_schar.c: Likewise.
++      * testsuite/libffi.call/cls_sint.c: Likewise.
++      * testsuite/libffi.call/cls_sshort.c: Likewise.
++      * testsuite/libffi.call/cls_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_uint.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/cls_ushort.c: Likewise.
++      * testsuite/libffi.call/nested_struct.c: Likewise.
++      * testsuite/libffi.call/nested_struct1.c: Likewise.
++      * testsuite/libffi.call/nested_struct2.c: Likewise.
++      * testsuite/libffi.call/nested_struct3.c: Likewise.
++      * testsuite/libffi.call/problem1.c: Likewise.
++      * testsuite/libffi.special/unwindtest.cc: Likewise.
++      * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
++      to zero.
++      * testsuite/libffi.call/cls_16byte.c: Likewise.
++      * testsuite/libffi.call/cls_5byte.c: Likewise.
++
++2004-08-23  David Daney <daney@avtrex.com>
++
++      PR libgcj/13141
++      * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
++      * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
++      (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
++      parameters and return types.
++      (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
++      (ffi_prep_closure): Ditto.
++      (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
++      alignment calculations.
++      * src/mips/o32.S (ffi_closure_O32): Don't use floating point
++      instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
++
++2004-08-14  Casey Marshall <csm@gnu.org>
++
++      * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
++      contain `FFI_TYPE_UINT64' as return type for any 64-bit
++      integer (O32 ABI only).
++      (ffi_prep_closure): new function.
++      (ffi_closure_mips_inner_O32): new function.
++      * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
++      `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
++      * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
++      64 bit integers correctly.
++      (ffi_closure_O32): new function.
++      Added DWARF-2 unwind info for both functions.
++
++2004-08-10  Andrew Haley  <aph@redhat.com>
++
++      * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
++
++2004-08-01  Robert Millan  <robertmh@gnu.org>
++
++      * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
++      * configure: Regenerate.
++
++2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
++
++      * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
++      and mmap() explicitly instead of relying on preset autoconf cache
++      variables.
++      * aclocal.m4: Regenerate.
++      * configure: Regenerate.
++
++2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
++      (ffi_check_float_struct): Remove unused prototype.
++
++2004-06-30  Geoffrey Keating  <geoffk@apple.com>
++
++      * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
++      character on Darwin, use '\n\t' instead.
++
++2004-06-26  Matthias Klose  <doko@debian.org>
++
++      * libtool-version: Fix typo in revision/age.
++
++2004-06-17  Matthias Klose  <doko@debian.org>
++
++      * libtool-version: New.
++      * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
++      * Makefile.in: Regenerate.
++
++2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
++
++      * Makefile.am: Remove useless multilib rules.
++      * Makefile.in: Regenerate.
++      * aclocal.m4: Regenerate with automake 1.8.5.
++      * configure.ac: Remove useless multilib configury.
++      * configure: Regenerate.
++
++2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
++
++      * .cvsignore: New file.
++
++2004-06-10  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
++      fp_done.
++      (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
++      changed from 8.
++
++2004-06-06  Sean McNeil  <sean@mcneil.com>
++
++      * configure.ac: Add x86_64-*-freebsd* support.
++      * configure: Regenerate.
++
++2004-04-26  Joe Buck <jbuck@welsh-buck.org>
++
++      Bug 15093
++      * configure.ac: Test for existence of mmap and sys/mman.h before
++      checking blacklist.  Fix suggested by Jim Wilson.
++      * configure: Regenerate.
++
++2004-04-26  Matt Austern  <austern@apple.com>
++
++      * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
++      FDE location.
++      * src/powerpc/darwin_closure.S: Likewise.
++
++2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
++      error. Reported by Thomas Heller <theller@python.net>.
++      * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
++      * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
++
++2004-03-20  Matthias Klose  <doko@debian.org>
++
++      * src/pa/linux.S: Fix typo.
++
++2004-03-19  Matthias Klose  <doko@debian.org>
++
++      * Makefile.am: Update.
++      * Makefile.in: Regenerate.
++      * src/pa/ffi.h.in: Remove.
++      * src/pa/ffitarget.h: New file.
++
++2004-02-10  Randolph Chung  <tausq@debian.org>
++
++      * Makefile.am: Add PA support.
++      * Makefile.in: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * configure.ac: Add PA target.
++      * configure: Regenerate.
++      * src/pa/ffi.c: New file.
++      * src/pa/ffi.h.in: Add PA support.
++      * src/pa/linux.S: New file.
++      * prep_cif.c: Add PA support.
++
++2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
++
++      * src/types.c: Fix alignment size of X86_WIN32 case int64 and
++      double.
++      * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
++      with ecif->cif->flags.
++      (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
++      with cif->flags.
++      (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
++      (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
++      * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
++      sc_retstruct2b): Add for 1 or 2-bytes struct case.
++
++2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
++
++      * configure.in: Rename file to ...
++      * configure.ac: ... this.
++      * fficonfig.h.in: Regenerate.
++      * Makefile.in: Regenerate.
++      * include/Makefile.in: Regenerate.
++      * testsuite/Makefile.in: Regenerate.
++
++2004-03-12  Matt Austern  <austern@apple.com>
++
++      * src/powerpc/darwin.S: Fix EH information so it corresponds to
++      changes in EH format resulting from addition of linkonce support.
++      * src/powerpc/darwin_closure.S: Likewise.
++
++2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
++          Paolo Bonzini  <bonzini@gnu.org>
++
++      * Makefile.am (AUTOMAKE_OPTIONS): Set them.
++      Remove VPATH. Remove rules for object files. Remove multilib support.
++      (AM_CCASFLAGS): Add.
++      * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
++      (AC_PREREQ): Bump version to 2.59.
++      (AC_INIT): Fill with version info and bug address.
++      (ORIGINAL_LD_FOR_MULTILIBS): Remove.
++      (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
++      De-precious CC so that the right flags are passed down to multilibs.
++      (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
++      (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
++      (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
++      * configure: Rebuilt.
++      * aclocal.m4: Likewise.
++      * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
++      * fficonfig.h.in: Likewise.
++
++2004-03-11  Andreas Schwab  <schwab@suse.de>
++
++      * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
++      arguments from fp registers only for the first 8 parameter slots.
++      Don't convert a float parameter when passed in memory.
++
++2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
++
++      * configure: Regenerate for config/accross.m4 correction.
++
++2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
++
++      * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
++      ecif->cif->bytes to bytes.
++      (ffi_prep_cif_machdep): Add braces around nested if statement.
++
++2004-02-09  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/types.c (pointer): POWERPC64 has 8 byte pointers.
++
++      * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
++      (ffi_closure_helper_LINUX64): Fix typo.
++      * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
++      for powerpc64-*-*.
++      * testsuite/libffi.call/float.c: Likewise.
++      * testsuite/libffi.call/float2.c: Likewise.
++
++2004-02-08  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
++      long double function return and long double arg handling.
++      (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
++      Use "end_pfr" instead of "nf".  Correct long double handling.
++      Localise "temp".
++      * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
++      return value.
++      * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
++      space for long double return value.  Adjust stack frame and offsets.
++      Load f2 long double return.
++
++2004-02-07  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/types.c: Use 16 byte long double for POWERPC64.
++
++2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
++
++      * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
++      when the structure return address is passed in %o0.
++      (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
++      (ffi_v9_layout_struct): Align the field following a nested structure
++      on a word boundary.  Use memmove instead of memcpy.
++      (ffi_call): Update call to ffi_V9_return_struct.
++      (ffi_prep_closure): Define 'ctx' only for V8.
++      (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
++      and ffi_closure_sparc_inner_v9.
++      (ffi_closure_sparc_inner_v8): Return long doubles by reference.
++      Always skip the structure return address.  For structures and long
++      doubles, copy the argument directly.
++      (ffi_closure_sparc_inner_v9): Skip the structure return address only
++      if required.  Shift the maximum floating-point slot accordingly.  For
++      big structures, copy the argument directly; otherwise, left-justify the
++      argument and call ffi_v9_layout_struct to lay out the structure on
++      the stack.
++      * src/sparc/v8.S: Undef STACKFRAME before defining it.
++      (ffi_closure_v8): Pass the structure return address.  Update call to
++      ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
++      Skip the 'unimp' insn when returning long doubles and structures.
++      * src/sparc/v9.S: Undef STACKFRAME before defining it.
++      (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
++      FFI_TYPE_INT handling.  Load structures both in integers and
++      floating-point registers on return.
++      * README: Update status of the SPARC port.
++
++2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
++      as of type ffi_arg.
++      * testsuite/libffi.call/struct3.c (main): Fix CHECK.
++
++2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
++      value as of type ffi_arg, not unsigned int.
++
++2004-01-21  Michael Ritzert  <ritzert@t-online.de>
++
++      * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
++      of the LHS.
++
++2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
++      Solaris.
++
++2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
++      to void *.
++
++2003-12-10  Richard Henderson  <rth@redhat.com>
++
++      * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
++      size_t instead of int.
++
++2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
++
++      * testsuite/libffi.call/many_win32.c: Include <float.h>.
++      * testsuite/libffi.call/many_win32.c (main): Replace variable
++      int i with unsigned long ul.
++
++      * testsuite/libffi.call/cls_align_uint64.c: New test case.
++      * testsuite/libffi.call/cls_align_sint64.c: Likewise.
++      * testsuite/libffi.call/cls_align_uint32.c: Likewise.
++      * testsuite/libffi.call/cls_align_sint32.c: Likewise.
++      * testsuite/libffi.call/cls_align_uint16.c: Likewise.
++      * testsuite/libffi.call/cls_align_sint16.c: Likewise.
++      * testsuite/libffi.call/cls_align_float.c: Likewise.
++      * testsuite/libffi.call/cls_align_double.c: Likewise.
++      * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
++      * testsuite/libffi.call/cls_align_pointer.c: Likewise.
++
++2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
++
++      PR other/13221
++      * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
++      Align arguments to 32 bits.
++
++2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      PR other/13221
++      * testsuite/libffi.call/cls_multi_sshort.c: New test case.
++      * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_schar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
++      * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
++
++      * testsuite/libffi.special/unwindtest.cc: Cosmetics.
++
++2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
++      * testsuite/libffi.special/ffitestcxx.h: Likewise.
++
++2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * Makefile.in: Rebuilt.
++      * configure: Likewise.
++      * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
++      the right type.
++
++2003-11-21  Andreas Jaeger  <aj@suse.de>
++          Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
++      * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
++      * Makefile.in: Rebuilt.
++      * aclocal.m4: Likewise.
++      * configure: Likewise.
++      * fficonfig.h.in: Likewise.
++      * testsuite/lib/libffi-dg.exp: Add include dir.
++      * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
++      * testsuite/libffi.special/ffitestcxx.h: Likewise.
++      * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
++      for ffi_closure if available.
++      * testsuite/libffi.call/closure_fn1.c: Likewise.
++      * testsuite/libffi.call/closure_fn2.c: Likewise.
++      * testsuite/libffi.call/closure_fn3.c: Likewise.
++      * testsuite/libffi.call/closure_fn4.c: Likewise.
++      * testsuite/libffi.call/closure_fn5.c: Likewise.
++      * testsuite/libffi.call/cls_12byte.c: Likewise.
++      * testsuite/libffi.call/cls_16byte.c: Likewise.
++      * testsuite/libffi.call/cls_18byte.c: Likewise.
++      * testsuite/libffi.call/cls_19byte.c: Likewise.
++      * testsuite/libffi.call/cls_1_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte1.c: Likewise.
++      * testsuite/libffi.call/cls_24byte.c: Likewise.
++      * testsuite/libffi.call/cls_2byte.c: Likewise.
++      * testsuite/libffi.call/cls_3_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_3byte1.c: Likewise.
++      * testsuite/libffi.call/cls_3byte2.c: Likewise.
++      * testsuite/libffi.call/cls_4_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_4byte.c: Likewise.
++      * testsuite/libffi.call/cls_5byte.c: Likewise.
++      * testsuite/libffi.call/cls_64byte.c: Likewise.
++      * testsuite/libffi.call/cls_6byte.c: Likewise.
++      * testsuite/libffi.call/cls_7byte.c: Likewise.
++      * testsuite/libffi.call/cls_8byte.c: Likewise.
++      * testsuite/libffi.call/cls_9byte1.c: Likewise.
++      * testsuite/libffi.call/cls_9byte2.c: Likewise.
++      * testsuite/libffi.call/cls_double.c: Likewise.
++      * testsuite/libffi.call/cls_float.c: Likewise.
++      * testsuite/libffi.call/cls_schar.c: Likewise.
++      * testsuite/libffi.call/cls_sint.c: Likewise.
++      * testsuite/libffi.call/cls_sshort.c: Likewise.
++      * testsuite/libffi.call/cls_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_uint.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/cls_ushort.c: Likewise.
++      * testsuite/libffi.call/nested_struct.c: Likewise.
++      * testsuite/libffi.call/nested_struct1.c: Likewise.
++      * testsuite/libffi.call/nested_struct2.c: Likewise.
++      * testsuite/libffi.call/nested_struct3.c: Likewise.
++      * testsuite/libffi.call/problem1.c: Likewise.
++      * testsuite/libffi.special/unwindtest.cc: Likewise.
++
++2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
++
++2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
++      Add -lgcc_s to additional flags.
++
++2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * configure.in, include/Makefile.am: PR libgcj/11147, install
++      the ffitarget.h header file in a gcc versioned and target
++      dependent place.
++      * configure: Regenerated.
++      * Makefile.in, include/Makefile.in: Likewise.
++      * testsuite/Makefile.in: Likewise.
++
++2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/closure_fn0.c: Print result and check
++      with dg-output to make debugging easier.
++      * testsuite/libffi.call/closure_fn1.c: Likewise.
++      * testsuite/libffi.call/closure_fn2.c: Likewise.
++      * testsuite/libffi.call/closure_fn3.c: Likewise.
++      * testsuite/libffi.call/closure_fn4.c: Likewise.
++      * testsuite/libffi.call/closure_fn5.c: Likewise.
++      * testsuite/libffi.call/cls_12byte.c: Likewise.
++      * testsuite/libffi.call/cls_16byte.c: Likewise.
++      * testsuite/libffi.call/cls_18byte.c: Likewise.
++      * testsuite/libffi.call/cls_19byte.c: Likewise.
++      * testsuite/libffi.call/cls_1_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte1.c: Likewise.
++      * testsuite/libffi.call/cls_24byte.c: Likewise.
++      * testsuite/libffi.call/cls_2byte.c: Likewise.
++      * testsuite/libffi.call/cls_3_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_3byte1.c: Likewise.
++      * testsuite/libffi.call/cls_3byte2.c: Likewise.
++      * testsuite/libffi.call/cls_4_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_4byte.c: Likewise.
++      * testsuite/libffi.call/cls_5byte.c: Likewise.
++      * testsuite/libffi.call/cls_64byte.c: Likewise.
++      * testsuite/libffi.call/cls_6byte.c: Likewise.
++      * testsuite/libffi.call/cls_7byte.c: Likewise.
++      * testsuite/libffi.call/cls_8byte.c: Likewise.
++      * testsuite/libffi.call/cls_9byte1.c: Likewise.
++      * testsuite/libffi.call/cls_9byte2.c: Likewise.
++      * testsuite/libffi.call/cls_double.c: Likewise.
++      * testsuite/libffi.call/cls_float.c: Likewise.
++      * testsuite/libffi.call/cls_schar.c: Likewise.
++      * testsuite/libffi.call/cls_sint.c: Likewise.
++      * testsuite/libffi.call/cls_sshort.c: Likewise.
++      * testsuite/libffi.call/cls_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_uint.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/cls_ushort.c: Likewise.
++      * testsuite/libffi.call/problem1.c: Likewise.
++
++      * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
++      static.
++
++2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/cls_9byte2.c: New test case.
++      * testsuite/libffi.call/cls_9byte1.c: Likewise.
++      * testsuite/libffi.call/cls_64byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte1.c: Likewise.
++      * testsuite/libffi.call/cls_19byte.c: Likewise.
++      * testsuite/libffi.call/cls_18byte.c: Likewise.
++      * testsuite/libffi.call/closure_fn4.c: Likewise.
++      * testsuite/libffi.call/closure_fn5.c: Likewise.
++      * testsuite/libffi.call/cls_schar.c: Likewise.
++      * testsuite/libffi.call/cls_sint.c: Likewise.
++      * testsuite/libffi.call/cls_sshort.c: Likewise.
++      * testsuite/libffi.call/nested_struct2.c: Likewise.
++      * testsuite/libffi.call/nested_struct3.c: Likewise.
++
++2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/cls_double.c: Do a check on the result.
++      * testsuite/libffi.call/cls_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_uint.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/cls_ushort.c: Likewise.
++      * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
++
++2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/prep_cif.c (ffi_prep_cif): Move the validity check after
++      the initialization.
++
++2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
++      FFI_ASSERT(FALSE) with FFI_ASSERT(0).
++
++2003-10-22  David Daney  <ddaney@avtrex.com>
++
++      * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
++      __attribute__((__mode__(__SI__))) and friends.
++
++2003-10-22  Andreas Schwab  <schwab@suse.de>
++
++      * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
++
++2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * configure.in: AC_LINK_FILES(ffitarget.h).
++      * configure: Regenerate.
++      * Makefile.in: Likewise.
++      * include/Makefile.in: Likewise.
++      * testsuite/Makefile.in: Likewise.
++      * fficonfig.h.in: Likewise.
++
++2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
++          Richard Henderson  <rth@redhat.com>
++
++      Avoid that ffi.h includes fficonfig.h.
++
++      * Makefile.am (EXTRA_DIST): Include ffitarget.h files
++      (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
++      (TARGET_SRC_MIPS_SGI): Removed.
++      (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
++      (MIPS_SGI): Removed.
++      (CLEANFILES): Removed.
++      (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
++      targets.
++      * acconfig.h: Removed.
++      * configure.in: Compute sizeofs only for double and long double.
++      Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
++      into AC_DEFINE instead of using acconfig.h.  Create
++      include/ffitarget.h instead of include/fficonfig.h.  Rename
++      MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
++      AC_DEFINE EH_FRAME_FLAGS.
++      * include/Makefile.am (DISTCLEANFILES): New automake macro.
++      (hack_DATA): Add ffitarget.h.
++      * include/ffi.h.in: Remove all system specific definitions.
++      Declare raw API even if it is not installed, why bother?
++      Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
++      not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
++      ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
++      (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
++      * include/ffi_common.h (bool): Do not define.
++      (ffi_assert): Accept failed assertion.
++      (ffi_type_test): Return void and accept file/line.
++      (FFI_ASSERT): Pass stringized failed assertion.
++      (FFI_ASSERT_AT): New macro.
++      (FFI_ASSERT_VALID_TYPE): New macro.
++      (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
++      UINT64, SINT64): Define here with gcc's __attribute__ macro
++      instead of in ffi.h
++      (FLOAT32, ALIGN): Define here instead of in ffi.h
++      * include/ffi-mips.h: Removed.  Its content moved to
++      src/mips/ffitarget.h after separating assembly and C sections.
++      * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
++      src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
++      src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
++      src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
++      SIZEOF_ARG -> FFI_SIZEOF_ARG.
++      * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
++      * src/debug.c (ffi_assert): Accept stringized failed assertion.
++      (ffi_type_test): Rewritten.
++      * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
++      FFI_ASSERT_VALID_TYPE.
++      * src/alpha/ffitarget.h, src/arm/ffitarget.h,
++      src/ia64/ffitarget.h, src/m68k/ffitarget.h,
++      src/mips/ffitarget.h, src/powerpc/ffitarget.h,
++      src/s390/ffitarget.h, src/sh/ffitarget.h,
++      src/sh64/ffitarget.h, src/sparc/ffitarget.h,
++      src/x86/ffitarget.h: New files.
++      * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
++      src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
++      src/powerpc/aix.S, src/powerpc/darwin.S,
++      src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
++      src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
++      src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
++      src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
++      src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
++      include fficonfig.h
++
++2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
++      _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
++
++2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
++      Used when FFI_DEBUG = 1.
++
++2003-10-14  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
++      and align.
++
++2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
++      FFI_MIPS_O32 for O32 ABI.
++
++2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
++      SPARC64. Cleanup whitespaces.
++
++2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
++      strongarm, xscale. Cleanup whitespaces.
++      * testsuite/libffi.call/closure_fn1.c: Likewise.
++      * testsuite/libffi.call/closure_fn2.c: Likewise.
++      * testsuite/libffi.call/closure_fn3.c: Likewise.
++      * testsuite/libffi.call/cls_12byte.c: Likewise.
++      * testsuite/libffi.call/cls_16byte.c: Likewise.
++      * testsuite/libffi.call/cls_1_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte.c: Likewise.
++      * testsuite/libffi.call/cls_24byte.c: Likewise.
++      * testsuite/libffi.call/cls_2byte.c: Likewise.
++      * testsuite/libffi.call/cls_3_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_3byte1.c: Likewise.
++      * testsuite/libffi.call/cls_3byte2.c: Likewise.
++      * testsuite/libffi.call/cls_4_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_4byte.c: Likewise.
++      * testsuite/libffi.call/cls_5byte.c: Likewise.
++      * testsuite/libffi.call/cls_6byte.c: Likewise.
++      * testsuite/libffi.call/cls_7byte.c: Likewise.
++      * testsuite/libffi.call/cls_8byte.c: Likewise.
++      * testsuite/libffi.call/cls_double.c: Likewise.
++      * testsuite/libffi.call/cls_float.c: Likewise.
++      * testsuite/libffi.call/cls_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_uint.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/cls_ushort.c: Likewise.
++      * testsuite/libffi.call/nested_struct.c: Likewise.
++      * testsuite/libffi.call/nested_struct1.c: Likewise.
++      * testsuite/libffi.call/problem1.c: Likewise.
++      * testsuite/libffi.special/unwindtest.cc: Likewise.
++      * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
++
++2003-09-18  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/aix.S: Cleanup whitespaces.
++      * src/powerpc/aix_closure.S: Likewise.
++
++2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
++      * src/powerpc/darwin_closure.S: Likewise.
++      * src/powerpc/ffi_darwin.c: Likewise.
++
++2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
++          David Edelsohn  <edelsohn@gnu.org>
++
++      * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
++      * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
++      parameter stack.
++      * src/powerpc/darwin_closure.S: Likewise.
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
++      according to the Darwin/AIX ABI.
++      (ffi_prep_cif_machdep): Likewise.
++      (ffi_closure_helper_DARWIN): Likewise.
++      Remove the outgoing parameter stack logic. Simplify the evaluation
++      of the different CASE types.
++      (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
++      statement in the trampoline code.
++
++2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
++      for the register size.
++      (ffi_closure_helper_SYSV): Handle the structure return value
++      address correctly.
++      (ffi_closure_helper_SYSV): Return the appropriate type when
++      the registers are used for the structure return value.
++      * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
++      the 64-bit return value.  Update copyright years.
++
++2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
++      srcdir for ffi_mips.h.
++
++2003-09-12  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/prep_cif.c (initialize_aggregate): Include tail padding in
++      structure size.
++      * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
++      placement of float result.
++      * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
++      cast of "resp" for big-endian 64 bit machines.
++
++2003-09-11  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/types.c (double, longdouble): Merge identical SH and ARM
++      typedefs, and add POWERPC64.
++      * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
++      struct split over gpr and rest.
++      (ffi_prep_cif_machdep): Correct intarg_count for structures.
++      * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
++
++2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
++      passing correctly.
++
++2003-09-09  Alan Modra  <amodra@bigpond.net.au>
++
++      * configure: Regenerate.
++
++2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * Makefile.am: Remove build rules for ffitest.
++      * Makefile.in: Rebuilt.
++
++2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
++      about implicit declaration of abort().
++
++2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
++      * Makefile.in: Rebuilt.
++      * configure.in: Add dejagnu test framework.
++      * configure: Rebuilt.
++
++      * testsuite/Makefile.am: New file.
++      * testsuite/Makefile.in: Built
++      * testsuite/lib/libffi-dg.exp: New file.
++      * testsuite/config/default.exp: Likewise.
++      * testsuite/libffi.call/call.exp: Likewise.
++      * testsuite/libffi.call/ffitest.h: Likewise.
++      * testsuite/libffi.call/closure_fn0.c: Likewise.
++      * testsuite/libffi.call/closure_fn1.c: Likewise.
++      * testsuite/libffi.call/closure_fn2.c: Likewise.
++      * testsuite/libffi.call/closure_fn3.c: Likewise.
++      * testsuite/libffi.call/cls_1_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_3_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_4_1byte.c: Likewise.
++      * testsuite/libffi.call/cls_2byte.c: Likewise.
++      * testsuite/libffi.call/cls_3byte1.c: Likewise.
++      * testsuite/libffi.call/cls_3byte2.c: Likewise.
++      * testsuite/libffi.call/cls_4byte.c: Likewise.
++      * testsuite/libffi.call/cls_5byte.c: Likewise.
++      * testsuite/libffi.call/cls_6byte.c: Likewise.
++      * testsuite/libffi.call/cls_7byte.c: Likewise.
++      * testsuite/libffi.call/cls_8byte.c: Likewise.
++      * testsuite/libffi.call/cls_12byte.c: Likewise.
++      * testsuite/libffi.call/cls_16byte.c: Likewise.
++      * testsuite/libffi.call/cls_20byte.c: Likewise.
++      * testsuite/libffi.call/cls_24byte.c: Likewise.
++      * testsuite/libffi.call/cls_double.c: Likewise.
++      * testsuite/libffi.call/cls_float.c: Likewise.
++      * testsuite/libffi.call/cls_uchar.c: Likewise.
++      * testsuite/libffi.call/cls_uint.c: Likewise.
++      * testsuite/libffi.call/cls_ulonglong.c: Likewise.
++      * testsuite/libffi.call/cls_ushort.c: Likewise.
++      * testsuite/libffi.call/float.c: Likewise.
++      * testsuite/libffi.call/float1.c: Likewise.
++      * testsuite/libffi.call/float2.c: Likewise.
++      * testsuite/libffi.call/many.c: Likewise.
++      * testsuite/libffi.call/many_win32.c: Likewise.
++      * testsuite/libffi.call/nested_struct.c: Likewise.
++      * testsuite/libffi.call/nested_struct1.c: Likewise.
++      * testsuite/libffi.call/pyobjc-tc.c: Likewise.
++      * testsuite/libffi.call/problem1.c: Likewise.
++      * testsuite/libffi.call/promotion.c: Likewise.
++      * testsuite/libffi.call/return_ll.c: Likewise.
++      * testsuite/libffi.call/return_sc.c: Likewise.
++      * testsuite/libffi.call/return_uc.c: Likewise.
++      * testsuite/libffi.call/strlen.c: Likewise.
++      * testsuite/libffi.call/strlen_win32.c: Likewise.
++      * testsuite/libffi.call/struct1.c: Likewise.
++      * testsuite/libffi.call/struct2.c: Likewise.
++      * testsuite/libffi.call/struct3.c: Likewise.
++      * testsuite/libffi.call/struct4.c: Likewise.
++      * testsuite/libffi.call/struct5.c: Likewise.
++      * testsuite/libffi.call/struct6.c: Likewise.
++      * testsuite/libffi.call/struct7.c: Likewise.
++      * testsuite/libffi.call/struct8.c: Likewise.
++      * testsuite/libffi.call/struct9.c: Likewise.
++      * testsuite/libffi.special/special.exp: New file.
++      * testsuite/libffi.special/ffitestcxx.h: Likewise.
++      * testsuite/libffi.special/unwindtest.cc: Likewise.
++
++
++2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
++      copyright years.
++
++2003-08-02  Alan Modra  <amodra@bigpond.net.au>
++
++      * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
++      structure passing.
++      (ffi_closure_helper_LINUX64): Likewise.
++      * src/powerpc/linux64.S: Remove code writing to parm save area.
++      * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
++      address in lr from ffi_closure_helper_LINUX64 call to calculate
++      table address.  Optimize function tail.
++
++2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/sparc/ffi.c: Handle all floating point registers.
++      * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
++
++2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
++
++      * README: Note that libffi is not part of GCC.  Update the project
++      URL and status.
++
++2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
++
++      * src/powerpc/ppc_closure.S: Include ffi.h.
++
++2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
++      Use C style comments.
++
++2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
++
++      * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
++      * Makefile.in: Regenerate.
++      * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
++      * configure: Regenerate.
++      * include/ffi.h.in: Add SHmedia support.
++      * src/sh64/ffi.c: New file.
++      * src/sh64/sysv.S: New file.
++
++2003-05-16  Jakub Jelinek  <jakub@redhat.com>
++
++      * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
++      should be read-only.
++      * configure: Rebuilt.
++      * fficonfig.h.in: Rebuilt.
++      * include/ffi.h.in (EH_FRAME_FLAGS): Define.
++      * src/alpha/osf.S: Use EH_FRAME_FLAGS.
++      * src/powerpc/linux64.S: Likewise.
++      * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
++      * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
++      if -fpic/-fPIC/-mrelocatable.
++      * src/powerpc/powerpc_closure.S: Likewise.
++      * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
++      #write in .eh_frame flags.
++      * src/sparc/v9.S: Likewise.
++      * src/x86/unix64.S: Use EH_FRAME_FLAGS.
++      * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
++      * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
++
++2003-05-07  Jeff Sturm  <jsturm@one-point.com>
++
++      Fixes PR bootstrap/10656
++      * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
++      support for .register pseudo-op.
++      * src/sparc/v8.S: Use it.
++      * fficonfig.h.in: Rebuilt.
++      * configure: Rebuilt.
++
++2003-04-18  Jakub Jelinek  <jakub@redhat.com>
++
++      * include/ffi.h.in (POWERPC64): Define if 64-bit.
++      (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
++      Make it the default on POWERPC64.
++      (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
++      * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
++      * configure: Rebuilt.
++      * src/powerpc/ffi.c (hidden): Define.
++      (ffi_prep_args_SYSV): Renamed from
++      ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
++      (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
++      ASM_NEEDS_REGISTERS64): New.
++      (ffi_prep_args64): New function.
++      (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
++      (ffi_call): Likewise.
++      (ffi_prep_closure): Likewise.
++      (flush_icache): Surround by #ifndef POWERPC64.
++      (ffi_dblfl): New union type.
++      (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
++      (ffi_closure_helper_LINUX64): New function.
++      * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
++      __powerpc64__.
++      * src/powerpc/sysv.S: Likewise.
++      (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
++      * src/powerpc/linux64.S: New file.
++      * src/powerpc/linux64_closure.S: New file.
++      * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
++      src/powerpc/linux64_closure.S.
++      (TARGET_SRC_POWERPC): Likewise.
++
++      * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
++      closure_test_fn3): Fix result printing on big-endian 64-bit
++      machines.
++      (main): Print tst2_arg instead of uninitialized tst2_result.
++
++      * src/ffitest.c (main): Hide what closure pointer really points to
++      from the compiler.
++
++2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
++
++      * configure.in (arm-*-netbsdelf*): Add configuration.
++      (configure): Regenerated.
++
++2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
++
++      * include/Makefile.in: Regenerate.
++
++2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
++
++      * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
++      bit mode.
++      * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
++      Receive closure pointer through parameter, read args using
++      __builtin_dwarf_cfa.
++      (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
++
++2003-03-12  Andreas Schwab  <schwab@suse.de>
++
++      * configure.in: Avoid trailing /. in toolexeclibdir.
++      * configure: Rebuilt.
++
++2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
++
++      * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
++
++2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
++
++      * libffi/src/powerpc/darwin_closure.S:
++      Fix alignement bug, allocate 8 bytes for the result.
++      * libffi/src/powerpc/aix_closure.S:
++      Likewise.
++      * libffi/src/powerpc/ffi_darwin.c:
++      Update stackframe description for aix/darwin_closure.S.
++
++2003-02-06  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
++      attribute.
++
++2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
++          Andreas Schwab  <schwab@suse.de>
++
++      * configure.in: Adjust command to source config-ml.in to account
++      for changes to the libffi_basedir definition.
++      (libffi_basedir): Remove ${srcdir} from value and include trailing
++      slash if nonempty.
++
++      * configure: Regenerate.
++
++2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
++
++      * src/powerpc/ppc_closure.S: Recode to fit shared libs.
++
++2003-01-28  Andrew Haley  <aph@redhat.com>
++
++      * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
++      * src/x86/ffi64.c (ffi_prep_closure): New.
++      (ffi_closure_UNIX64_inner): New.
++      * src/x86/unix64.S (ffi_closure_UNIX64): New.
++
++2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
++
++      * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
++      Remove USE_LIBDIR conditional.
++      * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
++      * Makefile.in, configure: Rebuilt.
++
++2003-01027  David Edelsohn  <edelsohn@gnu.org>
++
++      * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
++      * Makefile.in: Regenerate.
++
++2003-01-22  Andrew Haley  <aph@redhat.com>
++
++      * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
++      unwind info.
++
++2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/darwin.S: Add unwind info.
++      * src/powerpc/darwin_closure.S: Likewise.
++
++2003-01-14  Andrew Haley  <aph@redhat.com>
++
++      * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
++      (ffi_prep_cif_machdep): Likewise.
++      * src/x86/unix64.S: Add unwind info.
++
++2003-01-14  Andreas Jaeger  <aj@suse.de>
++
++      * src/ffitest.c (main): Only use ffi_closures if those are
++      supported.
++
++2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
++
++      * libffi/src/ffitest.c
++       add closure testcases
++
++2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
++
++      * libffi/src/powerpc/ffi.c
++       fix alignment bug for float (4 byte aligned iso 8 byte)
++
++2003-01-09  Geoffrey Keating  <geoffk@apple.com>
++
++      * src/powerpc/ffi_darwin.c: Remove RCS version string.
++      * src/powerpc/darwin.S: Remove RCS version string.
++
++2003-01-03  Jeff Sturm  <jsturm@one-point.com>
++
++      * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
++      * src/ffitest.c (main): Use static storage for closure.
++      * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
++      * src/sparc/v8.S (ffi_closure_v8): New.
++      * src/sparc/v9.S (ffi_closure_v9): New.
++
++2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
++
++      * include/ffi.h.in: Added FFI_STDCALL ffi_type
++        enumeration for X86_WIN32.
++      * src/x86/win32.S: Added ffi_call_STDCALL function
++        definition.
++      * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
++        switch cases for recognising FFI_STDCALL and
++        calling ffi_call_STDCALL if target is X86_WIN32.
++      * src/ffitest.c (my_stdcall_strlen/stdcall_many):
++        stdcall versions of the "my_strlen" and "many"
++        test functions (for X86_WIN32).
++        Added test cases to test stdcall invocation using
++        these functions.
++
++2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * src/sh/sysv.S: Add DWARF2 unwind info.
++
++2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * src/s390/sysv.S (.eh_frame section): Make section read-only.
++
++2002-11-26  Jim Wilson  <wilson@redhat.com>
++
++      * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
++
++2002-11-23  H.J. Lu <hjl@gnu.org>
++
++      * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
++      Include ../config/accross.m4.
++      * aclocal.m4; Rebuild.
++      * configure: Likewise.
++
++2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
++
++2002-11-11  DJ Delorie  <dj@redhat.com>
++
++      * configure.in: Look for common files in the right place.
++
++2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
++      raw data as _Jv_word values, not ffi_raw.
++      (ffi_java_ptrarray_to_raw): Likewise.
++      (ffi_java_rvalue_to_raw): New function.
++      (ffi_java_raw_call): Call it.
++      (ffi_java_raw_to_rvalue): New function.
++      (ffi_java_translate_args): Call it.
++      * src/ffitest.c (closure_test_fn): Interpret return value
++      as ffi_arg, not int.
++      * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
++      FFI_TYPE_POINTER case.
++      (ffi_closure_helper_SYSV): Likewise.  Also, assume return
++      values extended to word size.
++
++2002-10-02  Andreas Jaeger  <aj@suse.de>
++
++      * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
++
++2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
++
++      * include/ffi.h.in: Fix i386 win32 compilation.
++
++2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * configure.in: Add s390x-*-linux-* target.
++      * configure: Regenerate.
++      * include/ffi.h.in: Define S390X for s390x targets.
++      (FFI_CLOSURES): Define for s390/s390x.
++      (FFI_TRAMPOLINE_SIZE): Likewise.
++      (FFI_NATIVE_RAW_API): Likewise.
++      * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
++      * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
++      * src/s390/ffi.c: Major rework of existing code.  Add support for
++      s390x targets.  Add closure support.
++      * src/s390/sysv.S: Likewise.
++
++2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
++
++      * src/arm/sysv.S: Fix typo.
++
++2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
++
++      * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
++      has defined __USER_LABEL_PREFIX__, then use it in CNAME.
++      (ffi_call_SYSV): Handle soft-float.
++
++2002-09-27  Bo Thorsen  <bo@suse.de>
++
++      * include/ffi.h.in: Fix multilib x86-64 support.
++
++2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
++
++      * Makefile.am (all-multi): Fix multilib parallel build.
++
++2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * configure.in (sh[34]*-*-linux*): Add brackets.
++      * configure: Regenerate.
++
++2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
++
++      * Makefile.am: Add SH support.
++      * Makefile.in: Regenerate.
++      * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
++      * configure: Regenerate.
++      * include/ffi.h.in: Add SH support.
++      * src/sh/ffi.c: New file.
++      * src/sh/sysv.S: New file.
++      * src/types.c: Add SH support.
++
++2002-07-16  Bo Thorsen  <bo@suse.de>
++
++      * src/x86/ffi64.c: New file that adds x86-64 support.
++      * src/x86/unix64.S: New file that handles argument setup for
++      x86-64.
++      * src/x86/sysv.S: Don't use this on x86-64.
++      * src/x86/ffi.c: Don't use this on x86-64.
++      Remove unused vars.
++      * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
++      for x86-64.
++      * src/ffitest.c (struct6): New test that tests a special case in
++      the x86-64 ABI.
++      (struct7): Likewise.
++      (struct8): Likewise.
++      (struct9): Likewise.
++      (closure_test_fn): Silence warning about this when it's not used.
++      (main): Add the new tests.
++      (main): Fix a couple of wrong casts and silence some compiler warnings.
++      * include/ffi.h.in: Add x86-64 ABI definition.
++      * fficonfig.h.in: Regenerate.
++      * Makefile.am: Add x86-64 support.
++      * configure.in: Likewise.
++      * Makefile.in: Regenerate.
++      * configure: Likewise.
++
++2002-06-24  Bo Thorsen  <bo@suse.de>
++
++      * src/types.c: Merge settings for similar architectures.
++      Add x86-64 sizes and alignments.
++
++2002-06-23  Bo Thorsen  <bo@suse.de>
++
++      * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
++      * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
++      * src/mips/ffi.c (ffi_prep_args): Likewise.
++      * src/m68k/ffi.c (ffi_prep_args): Likewise.
++
++2002-07-18  H.J. Lu  (hjl@gnu.org)
++
++      * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
++      (libffi_la_SOURCES): Support MIPS_LINUX.
++      (libffi_convenience_la_SOURCES): Likewise.
++      * Makefile.in: Regenerated.
++
++      * configure.in (mips64*-*): Skip.
++      (mips*-*-linux*): New.
++      * configure: Regenerated.
++
++      * src/mips/ffi.c: Include <sgidefs.h>.
++
++2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
++
++      * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
++
++2002-05-27  Roger Sayle  <roger@eyesopen.com>
++
++      * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
++
++2002-05-27  Bo Thorsen  <bo@suse.de>
++
++      * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
++      fix formatting.
++
++2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
++
++      * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
++      beginning of function (for older apple cc).
++
++2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
++
++      * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
++      script entry, and set LD to it when configuring multilibs.
++      * configure: Rebuilt.
++
++2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
++
++      * configure.in (sparc64-*-netbsd*): Add target.
++      (sparc-*-netbsdelf*): Likewise.
++      * configure: Regenerate.
++
++2002-04-28  David S. Miller  <davem@redhat.com>
++
++      * configure.in, configure: Fix SPARC test in previous change.
++
++2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
++
++      * Makefile.am: Add Linux for S/390 support.
++      * Makefile.in: Regenerate.
++      * configure.in: Add Linux for S/390 support.
++      * configure: Regenerate.
++      * include/ffi.h.in: Add Linux for S/390 support.
++      * src/s390/ffi.c: New file from libffi CVS tree.
++      * src/s390/sysv.S: New file from libffi CVS tree.
++
++2002-04-28  Jakub Jelinek  <jakub@redhat.com>
++
++      * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
++      %r_disp32().
++      * src/sparc/v8.S: Use it.
++      * src/sparc/v9.S: Likewise.
++      * fficonfig.h.in: Rebuilt.
++      * configure: Rebuilt.
++
++2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
++
++      * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
++      correctly.
++      * src/ia64/unix.S: Add unwind information. Fix comments.
++      Save sp in a way that's compatible with unwind info.
++      (ffi_call_unix): Correctly restore sp in all cases.
++      * src/ia64/ffi.c: Add, fix comments.
++
++2002-04-08  Jakub Jelinek  <jakub@redhat.com>
++
++      * src/sparc/v8.S: Make .eh_frame dependent on target word size.
++
++2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
++
++      * configure.in (alpha*-*-netbsd*): Add target.
++      * configure: Regenerate.
++
++2002-04-04  Jeff Sturm  <jsturm@one-point.com>
++
++      * src/sparc/v8.S: Add unwind info.
++      * src/sparc/v9.S: Likewise.
++
++2002-03-30  Krister Walfridsson  <cato@df.lth.se>
++
++      * configure.in: Enable i*86-*-netbsdelf*.
++      * configure: Rebuilt.
++
++2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
++
++      PR other/2620
++      * src/mips/n32.s: Delete
++      * src/mips/o32.s: Delete
++
++2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
++
++      * configure.in: Enable alpha*-*-freebsd*.
++      * configure: Rebuilt.
++
++2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
++
++      * Makefile.am: libfficonvenience -> libffi_convenience.
++      * Makefile.in: Rebuilt.
++
++      * Makefile.am: Define ffitest_OBJECTS.
++      * Makefile.in: Rebuilt.
++
++2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
++          David Edelsohn  <edelsohn@gnu.org>
++
++      * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
++      (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
++      (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
++      * Makefile.in: Regenerate.
++      * include/ffi.h.in: Add AIX and Darwin closure definitions.
++      * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
++      (flush_icache, flush_range): New functions.
++      (ffi_closure_helper_DARWIN): New function.
++      * src/powerpc/aix_closure.S: New file.
++      * src/powerpc/darwin_closure.S: New file.
++
++2002-02-24  Jeff Sturm  <jsturm@one-point.com>
++
++      * include/ffi.h.in: Add typedef for ffi_arg.
++      * src/ffitest.c (main): Declare rint with ffi_arg.
++
++2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
++
++      * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
++      number of GPRs for floating-point arguments.
++
++2002-01-31  Anthony Green  <green@redhat.com>
++
++      * configure: Rebuilt.
++      * configure.in: Replace CHECK_SIZEOF and endian tests with
++      cross-compiler friendly macros.
++      * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
++      macros.
++
++2002-01-18  David Edelsohn  <edelsohn@gnu.org>
++
++      * src/powerpc/darwin.S (_ffi_call_AIX): New.
++      * src/powerpc/aix.S (ffi_call_DARWIN): New.
++
++2002-01-17  David Edelsohn  <edelsohn@gnu.org>
++
++      * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
++      (TARGET_SRC_POWERPC_AIX): New.
++      (POWERPC_AIX): New stanza.
++      * Makefile.in: Regenerate.
++      * configure.in: Add AIX case.
++      * configure: Regenerate.
++      * include/ffi.h.in (ffi_abi): Add FFI_AIX.
++      * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
++      size.  Fix "long double" support.
++      (ffi_call): Add FFI_AIX case.
++      * src/powerpc/aix.S: New.
++
++2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
++
++      Implement Darwin PowerPC ABI.
++      * configure.in: Handle powerpc-*-darwin*.
++      * Makefile.am: Set source files for POWERPC_DARWIN.
++      * configure: Rebuilt.
++      * Makefile.in: Rebuilt.
++      * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
++      POWERPC_DARWIN.
++      * src/powerpc/darwin.S: New file.
++      * src/powerpc/ffi_darwin.c: New file.
++
++2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
++
++2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * src/x86/sysv.S: Avoid gas-only .balign directive.
++      Use C style comments.
++
++2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
++      Fixes PR bootstrap/3563.
++
++2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
++
++2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
++
++      * configure.in: Recognize sparc*-sun-* host.
++      * configure: Regenerate.
++
++2001-06-06  Andrew Haley  <aph@redhat.com>
++
++      * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
++
++2001-06-03  Andrew Haley  <aph@redhat.com>
++
++      * src/alpha/osf.S: Add unwind info.
++      * src/powerpc/sysv.S: Add unwind info.
++      * src/powerpc/ppc_closure.S: Likewise.
++
++2000-05-31  Jeff Sturm  <jsturm@one-point.com>
++
++      * configure.in: Fix AC_ARG_ENABLE usage.
++      * configure: Rebuilt.
++
++2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
++
++      * configure.in: Remove warning about beta code.
++      * configure: Rebuilt.
++
++2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
++
++      * src/ia64/unix.S: Restore stack pointer when returning from
++      ffi_closure_UNIX.
++      * src/ia64/ffi.c: Fix typo in comment.
++
++2001-04-18  Jim Wilson  <wilson@redhat.com>
++
++      * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
++      to eliminate RAW DV.
++
++2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
++
++      * Makefile.am: Make a libtool convenience library.
++      * Makefile.in: Rebuilt.
++
++2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
++
++      * configure.in: Use different syntax for subdirectory creation.
++      * configure: Rebuilt.
++
++2001-03-27  Jon Beniston  <jon@beniston.com>
++
++      * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
++      * configure: Rebuilt.
++      * Makefile.am: Added X86_WIN32 target support.
++      * Makefile.in: Rebuilt.
++
++      * include/ffi.h.in: Added X86_WIN32 target support.
++
++      * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
++      * src/types.c: Added X86_WIN32 target support.
++
++      * src/x86/win32.S: New file. Based on sysv.S, but with EH
++      stuff removed and made to work with CygWin's gas.
++
++2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
++
++      * configure.in: Make target subdirectory in build dir.
++      * Makefile.am: Override suffix based rules to specify correct output
++      subdirectory.
++      * Makefile.in: Rebuilt.
++      * configure: Rebuilt.
++
++2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
++
++      * src/powerpc/ppc_closure.S: New file.
++      * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
++      involving long long and register pairs.
++      (ffi_prep_closure): New function.
++      (flush_icache): Likewise.
++      (ffi_closure_helper_SYSV): Likewise.
++      * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
++      (FFI_TRAMPOLINE_SIZE): Likewise.
++      (FFI_NATIVE_RAW_API): Likewise.
++      * Makefile.in: Rebuilt.
++      * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
++      (TARGET_SRC_POWERPC): Likewise.
++
++2001-03-19  Tom Tromey  <tromey@redhat.com>
++
++      * Makefile.in: Rebuilt.
++      * Makefile.am (ffitest_LDFLAGS): New macro.
++
++2001-03-02  Nick Clifton  <nickc@redhat.com>
++
++      * include/ffi.h.in: Remove RCS ident string.
++      * include/ffi_mips.h: Remove RCS ident string.
++      * src/debug.c: Remove RCS ident string.
++      * src/ffitest.c: Remove RCS ident string.
++      * src/prep_cif.c: Remove RCS ident string.
++      * src/types.c: Remove RCS ident string.
++      * src/alpha/ffi.c: Remove RCS ident string.
++      * src/alpha/osf.S: Remove RCS ident string.
++      * src/arm/ffi.c: Remove RCS ident string.
++      * src/arm/sysv.S: Remove RCS ident string.
++      * src/mips/ffi.c: Remove RCS ident string.
++      * src/mips/n32.S: Remove RCS ident string.
++      * src/mips/o32.S: Remove RCS ident string.
++      * src/sparc/ffi.c: Remove RCS ident string.
++      * src/sparc/v8.S: Remove RCS ident string.
++      * src/sparc/v9.S: Remove RCS ident string.
++      * src/x86/ffi.c: Remove RCS ident string.
++      * src/x86/sysv.S: Remove RCS ident string.
++
++2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
++
++      * include/ffi.h.in: Change sourceware.cygnus.com references to
++      gcc.gnu.org.
++
++2000-12-09  Richard Henderson  <rth@redhat.com>
++
++      * src/alpha/ffi.c (ffi_call): Simplify struct return test.
++      (ffi_closure_osf_inner): Index rather than increment avalue
++      and arg_types.  Give ffi_closure_osf the raw return value type.
++      * src/alpha/osf.S (ffi_closure_osf): Handle return value type
++      promotion.
++
++2000-12-07  Richard Henderson  <rth@redhat.com>
++
++      * src/raw_api.c (ffi_translate_args): Fix typo.
++      (ffi_prep_closure): Likewise.
++
++      * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
++      FFI_TRAMPOLINE_SIZE.
++      * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
++      cif->bytes for new ffi_call_osf implementation.
++      (ffi_prep_args): Absorb into ...
++      (ffi_call): ... here.  Do all stack allocation here and
++      avoid a callback function.
++      (ffi_prep_closure, ffi_closure_osf_inner): New.
++      * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
++      (ffi_closure_osf): New.
++
++2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
++
++      * config.guess, config.sub, install-sh: Removed.
++      * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
++      * Makefile.in: Rebuilt.
++
++      * acinclude.m4: Include libtool macros from the top level.
++      * aclocal.m4, configure: Rebuilt.
++
++2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
++
++      * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
++      * configure: Rebuilt.
++
++2000-05-11  Scott Bambrough  <scottb@netwinder.org>
++
++      * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
++      memory correctly.  Use conditional instructions, not branches where
++      possible.
++
++2000-05-04  Tom Tromey  <tromey@cygnus.com>
++
++      * configure: Rebuilt.
++      * configure.in: Match `arm*-*-linux-*'.
++      From Chris Dornan <cdornan@arm.com>.
++
++2000-04-28  Jakub Jelinek  <jakub@redhat.com>
++
++      * Makefile.am (SUBDIRS): Define.
++      (AM_MAKEFLAGS): Likewise.
++      (Multilib support.): Add section.
++      * Makefile.in: Rebuilt.
++      * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
++      New variables. Set for gcc using -print-multi-lib. Export them
++      to libtool.
++      (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
++      * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
++      for -shared links.
++      (extra_compiler_flags_value, extra_compiler_flags): Check these
++      for extra compiler options which need to be passed down in
++      compiler_flags.
++
++2000-04-16  Anthony Green  <green@redhat.com>
++
++      * configure: Rebuilt.
++      * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
++
++2000-04-14  Jakub Jelinek  <jakub@redhat.com>
++
++      * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
++      Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
++      * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
++      Replace all void * sizeofs with sizeof(int).
++      Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
++      different than DOUBLE.
++      Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
++      (ffi_prep_args_v9): New function.
++      (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
++      (ffi_V9_return_struct): New function.
++      (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
++      32bit code (not yet cross-arch calls).
++      * src/sparc/v8.S: Add struct return delay nop.
++      Handle long long.
++      * src/sparc/v9.S: New file.
++      * src/prep_cif.c (ffi_prep_cif): Return structure pointer
++      is used on sparc64 only for structures larger than 32 bytes.
++      Pass by reference for structures is done for structure arguments
++      larger than 16 bytes.
++      * src/ffitest.c (main): Use 64bit rint on sparc64.
++      Run long long tests on sparc.
++      * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
++      sparc64.
++      (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
++      on sparc64.
++      * configure.in (sparc-*-linux*): New supported target.
++      (sparc64-*-linux*): Likewise.
++      * configure: Rebuilt.
++      * Makefile.am: Add v9.S to SPARC files.
++      * Makefile.in: Likewise.
++      (LINK): Surround $(CCLD) into double quotes, so that multilib
++      compiles work correctly.
++
++2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
++
++      * configure: Rebuilt.
++      * configure.in: (i*86-*-solaris*): New libffi target. Patch
++      proposed by Bryce McKinlay.
++
++2000-03-20  Tom Tromey  <tromey@cygnus.com>
++
++      * Makefile.in: Hand edit for java_raw_api.lo.
++
++2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
++
++      * config.guess, config.sub: Update from the gcc tree.
++      Fix for PR libgcj/168.
++
++2000-03-03  Tom Tromey  <tromey@cygnus.com>
++
++      * Makefile.in: Fixed ia64 by hand.
++
++      * configure: Rebuilt.
++      * configure.in (--enable-multilib): New option.
++      (libffi_basedir): New subst.
++      (AC_OUTPUT): Added multilib code.
++
++2000-03-02  Tom Tromey  <tromey@cygnus.com>
++
++      * Makefile.in: Rebuilt.
++      * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
++      directory name.
++
++2000-02-25  Hans Boehm <boehm@acm.org>
++
++      * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
++      files.
++      * src/raw_api.c (ffi_translate_args): Fixed typo in argument
++      list.
++      (ffi_prep_raw_closure): Use ffi_translate_args, not
++      ffi_closure_translate.
++      * src/java_raw_api.c: New file.
++      * src/ffitest.c (closure_test_fn): New function.
++      (main): Define `rint' as long long on IA64.  Added new test when
++      FFI_CLOSURES is defined.
++      * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
++      (ffi_abi): Recognize IA64.
++      (ffi_raw): Added `flt' field.
++      Added "Java raw API" code.
++      * configure.in: Recognize ia64.
++      * Makefile.am (TARGET_SRC_IA64): New macro.
++      (libffi_la_common_SOURCES): Added java_raw_api.c.
++      (libffi_la_SOURCES): Define in IA64 case.
++
++2000-01-04  Tom Tromey  <tromey@cygnus.com>
++
++      * Makefile.in: Rebuilt with newer automake.
++
++1999-12-31  Tom Tromey  <tromey@cygnus.com>
++
++      * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
++
++1999-09-01  Tom Tromey  <tromey@cygnus.com>
++
++      * include/ffi.h.in: Removed PACKAGE and VERSION defines and
++      undefs.
++      * fficonfig.h.in: Rebuilt.
++      * configure: Rebuilt.
++      * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
++      Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
++      * acconfig.h: Don't #undef PACKAGE or VERSION.
++
++1999-08-09  Anthony Green  <green@cygnus.com>
++
++      * include/ffi.h.in: Try to work around messy header problem
++      with PACKAGE and VERSION.
++
++      * configure: Rebuilt.
++      * configure.in: Change version to 2.00-beta.
++
++      * fficonfig.h.in: Rebuilt.
++      * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
++
++      * src/x86/ffi.c (ffi_raw_call): Rename.
++
++1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
++
++      * src/x86/ffi.c (ffi_closure_SYSV): New function.
++      (ffi_prep_incoming_args_SYSV): Ditto.
++      (ffi_prep_closure): Ditto.
++      (ffi_closure_raw_SYSV): Ditto.
++      (ffi_prep_raw_closure): More ditto.
++      (ffi_call_raw): Final ditto.
++
++      * include/ffi.h.in: Add definitions for closure and raw API.
++
++      * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
++      FFI_TYPE_UINT64.
++
++      * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
++
++      * src/raw_api.c: New file.
++
++      * include/ffi.h.in (ffi_raw): New type.
++      (UINT_ARG, SINT_ARG): New defines.
++      (ffi_closure, ffi_raw_closure): New types.
++      (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
++
++      * configure.in: Add check for endianness and sizeof void*.
++
++      * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
++      instead of directly.
++
++      * configure: Rebuilt.
++
++Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
++
++      * configure.in: Add x86 and powerpc BeOS configurations.
++      From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
++
++1999-05-09  Anthony Green  <green@cygnus.com>
++
++      * configure.in: Add warning about this being beta code.
++      Remove src/Makefile.am from the picture.
++      * configure: Rebuilt.
++
++      * Makefile.am: Move logic from src/Makefile.am.  Add changes
++      to support libffi as a target library.
++      * Makefile.in: Rebuilt.
++
++      * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
++      Upgraded to new autoconf, automake, libtool.
++
++      * README: Tweaks.
++
++      * LICENSE: Update copyright date.
++
++      * src/Makefile.am, src/Makefile.in: Removed.
++
++1998-11-29  Anthony Green  <green@cygnus.com>
++
++      * include/ChangeLog: Removed.
++      * src/ChangeLog: Removed.
++      * src/mips/ChangeLog: Removed.
++      * src/sparc/ChangeLog: Remboved.
++      * src/x86/ChangeLog: Removed.
++
++      * ChangeLog.v1: Created.
index 0000000,3a4a137..f3ee8b0
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,580 +1,584 @@@
++2011-02-08  Andreas Tobler  <andreast@fgznet.ch>
++
++      * testsuite/lib/libffi.exp: Tweak for stand-alone mode.
++
+ 2009-12-25  Samuli Suominen  <ssuominen@gentoo.org>
+       * configure.ac: Undefine _AC_ARG_VAR_PRECIOUS for autoconf 2.64.
+       * configure: Rebuilt.
+       * fficonfig.h.in: Rebuilt.
+ 2009-06-16  Andrew Haley  <aph@redhat.com>
+       * testsuite/libffi.call/cls_align_sint64.c,
+       testsuite/libffi.call/cls_align_uint64.c,
+       testsuite/libffi.call/cls_longdouble_va.c,
+       testsuite/libffi.call/cls_ulonglong.c,
+       testsuite/libffi.call/return_ll1.c,
+       testsuite/libffi.call/stret_medium2.c: Fix printf format
+       specifiers.
+       * testsuite/libffi.call/huge_struct.c: Ad x86 XFAILs.
+       * testsuite/libffi.call/float2.c: Fix dg-excess-errors.
+       * testsuite/libffi.call/ffitest.h,
+       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
+ 2009-06-12  Andrew Haley  <aph@redhat.com>
+       * testsuite/libffi.call/cls_align_sint64.c,
+       testsuite/libffi.call/cls_align_uint64.c,
+       testsuite/libffi.call/cls_ulonglong.c,
+       testsuite/libffi.call/return_ll1.c,
+       testsuite/libffi.call/stret_medium2.c: Fix printf format
+       specifiers.
+       testsuite/libffi.special/unwindtest.cc: include stdint.h.
+ 2009-06-11  Timothy Wall  <twall@users.sf.net>
+       * Makefile.am,
+         configure.ac,
+         include/ffi.h.in,
+         include/ffi_common.h,
+         src/closures.c,
+         src/dlmalloc.c,
+         src/x86/ffi.c,
+         src/x86/ffitarget.h,
+         src/x86/win64.S (new),
+       README: Added win64 support (mingw or MSVC)
+         * Makefile.in,
+         include/Makefile.in,
+         man/Makefile.in,
+         testsuite/Makefile.in,
+         configure,
+         aclocal.m4: Regenerated
+         * ltcf-c.sh: properly escape cygwin/w32 path
+         * man/ffi_call.3: Clarify size requirements for return value.
+         * src/x86/ffi64.c: Fix filename in comment.
+         * src/x86/win32.S: Remove unused extern.
+         * testsuite/libffi.call/closure_fn0.c,
+         testsuite/libffi.call/closure_fn1.c,
+         testsuite/libffi.call/closure_fn2.c,
+         testsuite/libffi.call/closure_fn3.c,
+         testsuite/libffi.call/closure_fn4.c,
+         testsuite/libffi.call/closure_fn5.c,
+         testsuite/libffi.call/closure_fn6.c,
+       testsuite/libffi.call/closure_stdcall.c,
+       testsuite/libffi.call/cls_12byte.c,
+       testsuite/libffi.call/cls_16byte.c,
+       testsuite/libffi.call/cls_18byte.c,
+       testsuite/libffi.call/cls_19byte.c,
+       testsuite/libffi.call/cls_1_1byte.c,
+       testsuite/libffi.call/cls_20byte.c,
+       testsuite/libffi.call/cls_20byte1.c,
+       testsuite/libffi.call/cls_24byte.c,
+       testsuite/libffi.call/cls_2byte.c,
+       testsuite/libffi.call/cls_3_1byte.c,
+       testsuite/libffi.call/cls_3byte1.c,
+       testsuite/libffi.call/cls_3byte2.c,
+       testsuite/libffi.call/cls_4_1byte.c,
+       testsuite/libffi.call/cls_4byte.c,
+       testsuite/libffi.call/cls_5_1_byte.c,
+       testsuite/libffi.call/cls_5byte.c,
+       testsuite/libffi.call/cls_64byte.c,
+       testsuite/libffi.call/cls_6_1_byte.c,
+       testsuite/libffi.call/cls_6byte.c,
+       testsuite/libffi.call/cls_7_1_byte.c,
+       testsuite/libffi.call/cls_7byte.c,
+       testsuite/libffi.call/cls_8byte.c,
+       testsuite/libffi.call/cls_9byte1.c,
+       testsuite/libffi.call/cls_9byte2.c,
+       testsuite/libffi.call/cls_align_double.c,
+       testsuite/libffi.call/cls_align_float.c,
+       testsuite/libffi.call/cls_align_longdouble.c,
+       testsuite/libffi.call/cls_align_longdouble_split.c,
+       testsuite/libffi.call/cls_align_longdouble_split2.c,
+       testsuite/libffi.call/cls_align_pointer.c,
+       testsuite/libffi.call/cls_align_sint16.c,
+       testsuite/libffi.call/cls_align_sint32.c,
+       testsuite/libffi.call/cls_align_sint64.c,
+       testsuite/libffi.call/cls_align_uint16.c,
+       testsuite/libffi.call/cls_align_uint32.c,
+       testsuite/libffi.call/cls_align_uint64.c,
+       testsuite/libffi.call/cls_dbls_struct.c,
+       testsuite/libffi.call/cls_double.c,
+       testsuite/libffi.call/cls_double_va.c,
+       testsuite/libffi.call/cls_float.c,
+       testsuite/libffi.call/cls_longdouble.c,
+       testsuite/libffi.call/cls_longdouble_va.c,
+       testsuite/libffi.call/cls_multi_schar.c,
+       testsuite/libffi.call/cls_multi_sshort.c,
+       testsuite/libffi.call/cls_multi_sshortchar.c,
+       testsuite/libffi.call/cls_multi_uchar.c,
+       testsuite/libffi.call/cls_multi_ushort.c,
+       testsuite/libffi.call/cls_multi_ushortchar.c,
+       testsuite/libffi.call/cls_pointer.c,
+       testsuite/libffi.call/cls_pointer_stack.c,
+       testsuite/libffi.call/cls_schar.c,
+       testsuite/libffi.call/cls_sint.c,
+       testsuite/libffi.call/cls_sshort.c,
+       testsuite/libffi.call/cls_uchar.c,
+       testsuite/libffi.call/cls_uint.c,
+       testsuite/libffi.call/cls_ulonglong.c,
+       testsuite/libffi.call/cls_ushort.c,
+       testsuite/libffi.call/err_bad_abi.c,
+       testsuite/libffi.call/err_bad_typedef.c,
+       testsuite/libffi.call/float2.c,
+       testsuite/libffi.call/huge_struct.c,
+       testsuite/libffi.call/nested_struct.c,
+       testsuite/libffi.call/nested_struct1.c,
+       testsuite/libffi.call/nested_struct10.c,
+       testsuite/libffi.call/nested_struct2.c,
+       testsuite/libffi.call/nested_struct3.c,
+       testsuite/libffi.call/nested_struct4.c,
+       testsuite/libffi.call/nested_struct5.c,
+       testsuite/libffi.call/nested_struct6.c,
+       testsuite/libffi.call/nested_struct7.c,
+       testsuite/libffi.call/nested_struct8.c,
+       testsuite/libffi.call/nested_struct9.c,
+       testsuite/libffi.call/problem1.c,
+       testsuite/libffi.call/return_ldl.c,
+       testsuite/libffi.call/return_ll1.c,
+       testsuite/libffi.call/stret_large.c,
+       testsuite/libffi.call/stret_large2.c,
+       testsuite/libffi.call/stret_medium.c,
+       testsuite/libffi.call/stret_medium2.c,
+         testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
+         of checking for MMAP.  Use intptr_t instead of long casts.
+ 2009-06-04  Andrew Haley  <aph@redhat.com>
+       * src/powerpc/ffitarget.h: Fix misapplied merge from gcc.
+ 2009-06-04  Andrew Haley  <aph@redhat.com>
+       * src/mips/o32.S,
+       src/mips/n32.S: Fix licence formatting.
+ 2009-06-04  Andrew Haley  <aph@redhat.com>
+       * src/x86/darwin.S: Fix licence formatting.
+       src/x86/win32.S: Likewise.
+       src/sh64/sysv.S: Likewise.
+       src/sh/sysv.S: Likewise.
+ 2009-06-04  Andrew Haley  <aph@redhat.com>
+       * src/sh64/ffi.c: Remove lint directives.  Was missing from merge
+       of Andreas Tobler's patch from 2006-04-22.
+       
+ 2009-06-04  Andrew Haley  <aph@redhat.com>
+       * src/sh/ffi.c: Apply missing hunk from Alexandre Oliva's patch of
+       2007-03-07.
+ 2008-12-26  Timothy Wall  <twall@users.sf.net>
+       * testsuite/libffi.call/cls_longdouble.c,
+         testsuite/libffi.call/cls_longdouble_va.c,
+         testsuite/libffi.call/cls_align_longdouble.c,
+         testsuite/libffi.call/cls_align_longdouble_split.c,
+         testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
+         failures on x86_64 cygwin/mingw.
+ 2008-12-22  Timothy Wall  <twall@users.sf.net>
+       * testsuite/libffi.call/closure_fn0.c,
+         testsuite/libffi.call/closure_fn1.c,    
+         testsuite/libffi.call/closure_fn2.c,    
+         testsuite/libffi.call/closure_fn3.c,    
+         testsuite/libffi.call/closure_fn4.c,    
+         testsuite/libffi.call/closure_fn5.c,    
+         testsuite/libffi.call/closure_fn6.c,    
+         testsuite/libffi.call/closure_loc_fn0.c,    
+         testsuite/libffi.call/closure_stdcall.c,    
+         testsuite/libffi.call/cls_align_pointer.c,    
+         testsuite/libffi.call/cls_pointer.c,    
+         testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
+         pointer to integer (intptr_t).
+         * testsuite/libffi.call/cls_longdouble.c: disable for win64.
+       
+ 2008-12-19  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.8.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.
+ 2008-11-11  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.7.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.
+ 2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>
+       * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
+       FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
+       Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
+       Adjust copyright notice.
+       * src/powerpc/ffi.c: Add two new flags to indicate if we have one
+       register or two register to use for FFI_SYSV structs.
+       (ffi_prep_cif_machdep): Pass the right register flag introduced above.
+       (ffi_closure_helper_SYSV): Fix the return type for
+       FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
+       Adjust copyright notice.
+ 2008-07-24  Anthony Green  <green@redhat.com>
+       * testsuite/libffi.call/cls_dbls_struct.c,
+       testsuite/libffi.call/cls_double_va.c,
+       testsuite/libffi.call/cls_longdouble.c,
+       testsuite/libffi.call/cls_longdouble_va.c,
+       testsuite/libffi.call/cls_pointer.c,
+       testsuite/libffi.call/cls_pointer_stack.c,
+       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
+       compiler warnings.
+ 2008-07-17  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.6.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.  Add documentation.
+       * README: Update for new release.
+ 2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+       * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
+       int.
+ 2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+       * src/sh/sysv.S: Add .note.GNU-stack on Linux.
+       * src/sh64/sysv.S: Likewise.
+ 2008-04-03  Anthony Green  <green@redhat.com>
+       * libffi.pc.in (Libs): Add -L${libdir}.
+       * configure.ac: Bump version to 3.0.5.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.
+ 2008-04-03  Anthony Green  <green@redhat.com>
+           Xerces Ranby  <xerxes@zafena.se>
+       * include/ffi.h.in: Wrap definition of target architecture to
+       protect from double definitions.
+ 2008-03-22  Moriyoshi Koizumi  <moriyoshi@gmail.com>
+       * src/x86/ffi.c (ffi_prep_closure_loc): Fix for bug revealed in
+       closure_loc_fn0.c.
+       * testsuite/libffi.call/closure_loc_fn0.c (closure_loc_test_fn0):
+       New test.
+ 2008-03-04  Anthony Green  <green@redhat.com>
+           Blake Chaffin
+           hos@tamanegi.org
+       * testsuite/libffi.call/cls_align_longdouble_split2.c
+           testsuite/libffi.call/cls_align_longdouble_split.c
+           testsuite/libffi.call/cls_dbls_struct.c
+           testsuite/libffi.call/cls_double_va.c
+           testsuite/libffi.call/cls_longdouble.c
+           testsuite/libffi.call/cls_longdouble_va.c
+           testsuite/libffi.call/cls_pointer.c
+           testsuite/libffi.call/cls_pointer_stack.c
+           testsuite/libffi.call/err_bad_abi.c
+           testsuite/libffi.call/err_bad_typedef.c
+           testsuite/libffi.call/huge_struct.c
+           testsuite/libffi.call/stret_large2.c
+           testsuite/libffi.call/stret_large.c
+           testsuite/libffi.call/stret_medium2.c
+           testsuite/libffi.call/stret_medium.c: New tests from Apple.
+ 2008-02-26  Jakub Jelinek  <jakub@redhat.com>
+             Anthony Green  <green@redhat.com>
+       * src/alpha/osf.S: Add .note.GNU-stack on Linux.
+       * src/s390/sysv.S: Likewise.
+       * src/powerpc/linux64.S: Likewise.
+       * src/powerpc/linux64_closure.S: Likewise.
+       * src/powerpc/ppc_closure.S: Likewise.
+       * src/powerpc/sysv.S: Likewise.
+       * src/x86/unix64.S: Likewise.
+       * src/x86/sysv.S: Likewise.
+       * src/sparc/v8.S: Likewise.
+       * src/sparc/v9.S: Likewise.
+       * src/m68k/sysv.S: Likewise.
+       * src/ia64/unix.S: Likewise.
+       * src/arm/sysv.S: Likewise.
+ 2008-02-26  Anthony Green  <green@redhat.com>
+             Thomas Heller  <theller@ctypes.org>
+       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
+       comment.
+ 2008-02-26  Anthony Green  <green@redhat.org>
+             Thomas Heller  <theller@ctypes.org>
+       * include/ffi.h.in: Change void (*)() to void (*)(void).
+ 2008-02-26  Anthony Green  <green@redhat.org>
+             Thomas Heller  <theller@ctypes.org>
+       * src/alpha/ffi.c: Change void (*)() to void (*)(void).
+       src/alpha/osf.S, src/arm/ffi.c, src/frv/ffi.c, src/ia64/ffi.c,
+       src/ia64/unix.S, src/java_raw_api.c, src/m32r/ffi.c,
+       src/mips/ffi.c, src/pa/ffi.c, src/pa/hpux32.S, src/pa/linux.S,
+       src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/raw_api.c,
+       src/s390/ffi.c, src/sh/ffi.c, src/sh64/ffi.c, src/sparc/ffi.c,
+       src/x86/ffi.c, src/x86/unix64.S, src/x86/darwin64.S,
+       src/x86/ffi64.c: Ditto.
+ 2008-02-24  Anthony Green  <green@redhat.org>
+       * configure.ac: Accept openbsd*, not just openbsd.
+       Bump version to 3.0.4.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.
+ 2008-02-22  Anthony Green  <green@redhat.com>
+       * README: Clean up list of tested platforms.
+ 2008-02-22  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.3.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.  Clean up test docs.
+ 2008-02-22  Bjoern Koenig  <bkoenig@alpha-tierchen.de>
+           Andreas Tobler  <a.tobler@schweiz.org>
+       * configure.ac: Add amd64-*-freebsd* target.
+       * configure: Regenerate.
+ 2008-02-22  Thomas Heller <theller@ctypes.org>
+       * configure.ac: Add x86 OpenBSD support.
+       * configure: Rebuilt.
+ 2008-02-21  Thomas Heller <theller@ctypes.org>
+       * README: Change "make test" to "make check".
+ 2008-02-21  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.2.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.
+ 2008-02-21  Björn König <bkoenig@alpha-tierchen.de>
+       * src/x86/freebsd.S: New file.
+       * configure.ac: Add x86 FreeBSD support.
+       * Makefile.am: Ditto.
+ 2008-02-15  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.1.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * libtool-version: Increment revision.
+       * README: Update for new release.
+ 2008-02-15  David Daney        <ddaney@avtrex.com>
+       * src/mips/ffi.c: Remove extra '>' from include directive.
+       (ffi_prep_closure_loc): Use clear_location instead of tramp.
+ 2008-02-15  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 3.0.0.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+ 2008-02-15  David Daney        <ddaney@avtrex.com>
+       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
+       Define (conditionally), and use it to include cachectl.h.
+       (ffi_prep_closure_loc): Fix cache flushing.
+       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
+ 2008-02-15  Anthony Green  <green@redhat.com>
+         * man/ffi_call.3, man/ffi_prep_cif.3, man/ffi.3:
+       Update dates and remove all references to ffi_prep_closure.
+       * configure.ac: Bump version to 2.99.9.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+ 2008-02-15  Anthony Green  <green@redhat.com>
+       * man/ffi_prep_closure.3: Delete.
+       * man/Makefile.am (EXTRA_DIST): Remove ffi_prep_closure.3.
+       (man_MANS): Ditto.
+       * man/Makefile.in: Rebuilt.
+       * configure.ac: Bump version to 2.99.8.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 2.99.7.
+       * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
+       * include/ffi.h.in LICENSE src/debug.c src/closures.c
+           src/ffitest.c src/s390/sysv.S src/s390/ffitarget.h
+           src/types.c src/m68k/ffitarget.h src/raw_api.c src/frv/ffi.c
+           src/frv/ffitarget.h src/sh/ffi.c src/sh/sysv.S
+           src/sh/ffitarget.h src/powerpc/ffitarget.h src/pa/ffi.c
+           src/pa/ffitarget.h src/pa/linux.S src/java_raw_api.c
+           src/cris/ffitarget.h src/x86/ffi.c src/x86/sysv.S
+           src/x86/unix64.S src/x86/win32.S src/x86/ffitarget.h
+           src/x86/ffi64.c src/x86/darwin.S src/ia64/ffi.c
+           src/ia64/ffitarget.h src/ia64/ia64_flags.h src/ia64/unix.S
+           src/sparc/ffi.c src/sparc/v9.S src/sparc/ffitarget.h
+           src/sparc/v8.S src/alpha/ffi.c src/alpha/ffitarget.h
+           src/alpha/osf.S src/sh64/ffi.c src/sh64/sysv.S
+           src/sh64/ffitarget.h src/mips/ffi.c src/mips/ffitarget.h
+           src/mips/n32.S src/mips/o32.S src/arm/ffi.c src/arm/sysv.S
+           src/arm/ffitarget.h src/prep_cif.c: Update license text.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * README: Update tested platforms.
+       * configure.ac: Bump version to 2.99.6.
+       * configure: Rebuilt.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * configure.ac: Bump version to 2.99.5.
+       * configure: Rebuilt.
+       * Makefile.am (EXTRA_DIST): Add darwin64.S
+       * Makefile.in: Rebuilt.
+       * testsuite/lib/libffi-dg.exp: Remove libstdc++ bits from GCC tree.
+       * LICENSE: Update WARRANTY.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * libffi.pc.in (libdir): Fix libdir definition.
+       * configure.ac: Bump version to 2.99.4.
+       * configure: Rebuilt.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * README: Update.
+       * libffi.info: New file.
+       * doc/stamp-vti: New file.
+       * configure.ac: Bump version to 2.99.3.
+       * configure: Rebuilt.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * Makefile.am (SUBDIRS): Add man dir.
+       * Makefile.in: Rebuilt.
+       * configure.ac: Create Makefile.
+       * configure: Rebuilt.
+         * man/ffi_call.3 man/ffi_prep_cif.3 man/ffi_prep_closure.3
+           man/Makefile.am man/Makefile.in: New files.
+ 2008-02-14  Tom Tromey  <tromey@redhat.com>
+       * aclocal.m4, Makefile.in, configure, fficonfig.h.in: Rebuilt.
+       * mdate-sh, texinfo.tex: New files.
+       * Makefile.am (info_TEXINFOS): New variable.
+       * doc/libffi.texi: New file.
+       * doc/version.texi: Likewise.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * Makefile.am (AM_CFLAGS): Don't compile with -D$(TARGET).
+       (lib_LTLIBRARIES): Define.
+       (toolexeclib_LIBRARIES): Undefine.
+       * Makefile.in: Rebuilt.
+       * configure.ac: Reset version to 2.99.1.
+       * configure.in: Rebuilt.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * libffi.pc.in: Use @PACKAGE_NAME@ and @PACKAGE_VERSION@.
+       * configure.ac: Reset version to 2.99.1.
+       * configure.in: Rebuilt.
+       * Makefile.am (EXTRA_DIST): Add ChangeLog.libffi.
+       * Makefile.in: Rebuilt.
+       * LICENSE: Update copyright notice.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * include/Makefile.am (nodist_includes_HEADERS): Define.  Don't
+       distribute ffitarget.h or ffi.h from the build include dir.
+       * Makefile.in: Rebuilt.
+ 2008-02-14  Anthony Green  <green@redhat.com>
+       * include/Makefile.am (includesdir): Install headers under libdir.
+       (pkgconfigdir): Define. Install libffi.pc.
+       * include/Makefile.in: Rebuilt.
+       * libffi.pc.in: Create.
+       * libtool-version: Increment CURRENT
+       * configure.ac: Add libffi.pc.in
+       * configure: Rebuilt.
+ 2008-02-03  Anthony Green  <green@redhat.com>
+       * include/Makefile.am (includesdir): Fix header install with
+       DESTDIR.
+       * include/Makefile.in: Rebuilt.
+ 2008-02-03  Timothy Wall  <twall@users.sf.net>
+       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
+           offset based on code pointer, not data pointer.
+ 2008-02-01  Anthony Green  <green@redhat.com>
+       * include/Makefile.am: Fix header installs.
+       * Makefile.am: Ditto.
+       * include/Makefile.in: Rebuilt.
+       * Makefile.in: Ditto.
+ 2008-02-01  Anthony Green  <green@redhat.com>
+       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL,
+       FFI_INIT_TRAMPOLINE): Revert my broken changes to twall's last
+       patch.
+ 2008-01-31  Anthony Green  <green@redhat.com>
+       * Makefile.am (EXTRA_DIST): Add missing files.
+       * testsuite/Makefile.am: Ditto.
+       * Makefile.in, testsuite/Makefile.in: Rebuilt.
+ 2008-01-31  Timothy Wall <twall@users.sf.net>
+       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
+       closures.
+       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
+       closures.
+       * src/x86/win32.S: Add assembly for stdcall closure.
+       * src/x86/ffi.c: Initialize stdcall closure trampoline.
+ 2008-01-30  H.J. Lu <hongjiu.lu@intel.com>
+       PR libffi/34612
+       * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
+       returning struct.
+       * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
+       tests.
+ 2008-01-30  Anthony Green  <green@redhat.com>
+       * Makefile.am, include/Makefile.am: Move headers to
+       libffi_la_SOURCES for new automake.
+       * Makefile.in, include/Makefile.in: Rebuilt.
+       
+       * testsuite/lib/wrapper.exp: Copied from gcc tree to allow for 
+       execution outside of gcc tree.
+       * testsuite/lib/target-libpath.exp: Ditto.
+       * testsuite/lib/libffi-dg.exp: Many changes to allow for execution
+       outside of gcc tree.
index 0000000,ea5d02f..ea5d02f
mode 000000,100644..100644
--- /dev/null
index 0000000,369820c..369820c
mode 000000,100644..100644
--- /dev/null
diff --cc .pc/ios/LICENSE
index 0000000,0000000..7d12666
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++libffi - Copyright (c) 1996-2011  Anthony Green, Red Hat, Inc and others.
++See source files for details.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++``Software''), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be
++included in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
index 0000000,98b34ac..2457d4e
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,182 +1,197 @@@
 -ACLOCAL_AMFLAGS = -I .. -I ../config
+ ## Process this with automake to create Makefile.in
+ AUTOMAKE_OPTIONS = foreign subdir-objects
 -      src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
+ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
+       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
+       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
+       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+       src/ia64/unix.S \
+       src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+       src/mips/ffitarget.h \
+       src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+       src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+       src/powerpc/ffi.c src/powerpc/sysv.S \
+       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+       src/powerpc/ppc_closure.S src/powerpc/asm.h \
+       src/powerpc/aix.S src/powerpc/darwin.S \
+       src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+       src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+       src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+       src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+       src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+       src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+       src/sparc/ffi.c src/x86/darwin64.S \
 -      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++      src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/win64.S \
++      src/x86/darwin.S src/x86/freebsd.S \
+       src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+       src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
 -toolexeclib_LTLIBRARIES = libffi.la
++      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
++      src/dlmalloc.c \
++      src/moxie/ffi.c src/moxie/eabi.S \
++      libtool-version ChangeLog.libffi m4/libtool.m4 \
++      m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
++
++info_TEXINFOS = doc/libffi.texi
+ ## ################################################################
+ ##
+ ## This section is for make and multilib madness.
+ ##
+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
+ # values defined in terms of make variables, as is the case for CC and
+ # friends when we are called from the top level Makefile.
+ AM_MAKEFLAGS = \
+       "AR_FLAGS=$(AR_FLAGS)" \
+       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+       "CFLAGS=$(CFLAGS)" \
+       "CXXFLAGS=$(CXXFLAGS)" \
+       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+       "INSTALL=$(INSTALL)" \
+       "INSTALL_DATA=$(INSTALL_DATA)" \
+       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+       "JC1FLAGS=$(JC1FLAGS)" \
+       "LDFLAGS=$(LDFLAGS)" \
+       "LIBCFLAGS=$(LIBCFLAGS)" \
+       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+       "MAKE=$(MAKE)" \
+       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+       "PICFLAG=$(PICFLAG)" \
+       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+       "SHELL=$(SHELL)" \
+       "exec_prefix=$(exec_prefix)" \
+       "infodir=$(infodir)" \
+       "libdir=$(libdir)" \
++      "mandir=$(mandir)" \
+       "prefix=$(prefix)" \
+       "AR=$(AR)" \
+       "AS=$(AS)" \
+       "CC=$(CC)" \
+       "CXX=$(CXX)" \
+       "LD=$(LD)" \
+       "NM=$(NM)" \
+       "RANLIB=$(RANLIB)" \
+       "DESTDIR=$(DESTDIR)"
+ MAKEOVERRIDES=
 -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
 -
 -libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS)
++ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
++
++lib_LTLIBRARIES = libffi.la
+ noinst_LTLIBRARIES = libffi_convenience.la
+ libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
+               src/raw_api.c src/java_raw_api.c src/closures.c
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libffi.pc
++
+ nodist_libffi_la_SOURCES =
+ if MIPS
+ nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+ endif
+ if X86
+ nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
+ endif
+ if X86_FREEBSD
+ nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
+ endif
+ if X86_WIN32
+ nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
+ endif
+ if X86_WIN64
+ nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
+ endif
+ if X86_DARWIN
+ nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
+ endif
+ if SPARC
+ nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
+ endif
+ if ALPHA
+ nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
+ endif
+ if IA64
+ nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
+ endif
+ if M32R
+ nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
+ endif
+ if M68K
+ nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
+ endif
+ if POWERPC
+ nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
+ endif
+ if POWERPC_AIX
+ nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
+ endif
+ if POWERPC_DARWIN
+ nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+ endif
+ if POWERPC_FREEBSD
+ nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+ endif
+ if ARM
+ nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
+ endif
+ if AVR32
+ nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
+ endif
+ if LIBFFI_CRIS
+ nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
+ endif
+ if FRV
+ nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
+ endif
+ if S390
+ nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
+ endif
+ if X86_64
+ nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+ endif
+ if SH
+ nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
+ endif
+ if SH64
+ nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
+ endif
+ if PA_LINUX
+ nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
+ endif
+ if PA_HPUX
+ nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
+ endif
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+ AM_CFLAGS = -Wall -g -fexceptions
++if FFI_DEBUG
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++AM_CFLAGS += -DFFI_DEBUG
++else
++# Build opt.
++AM_CFLAGS += -O2
++endif
 -# Multilib support.  Automake should provide these on its own.
 -all-recursive: all-multi
 -install-recursive: install-multi
 -mostlyclean-recursive: mostlyclean-multi
 -clean-recursive: clean-multi
 -distclean-recursive: distclean-multi
 -maintainer-clean-recursive: maintainer-clean-multi
++libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+ AM_CCASFLAGS = $(AM_CPPFLAGS)
++# No install-html or install-pdf support in automake yet
++.PHONY: install-html install-pdf
++install-html:
++install-pdf:
index 0000000,e5ef541..d6ec834
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,1538 +1,1802 @@@
 -# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ # 2003, 2004, 2005, 2006, 2007, 2008, 2009  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.
+ @SET_MAKE@
++
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+ INSTALL_HEADER = $(INSTALL_DATA)
+ transform = $(program_transform_name)
+ NORMAL_INSTALL = :
+ PRE_INSTALL = :
+ POST_INSTALL = :
+ NORMAL_UNINSTALL = :
+ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+ @MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+ @X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
+ @X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
+ @X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
+ @X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
+ @X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
+ @SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
+ @ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
+ @IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
+ @M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
+ @M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
+ @POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
+ @POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
+ @POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+ @POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+ @ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
+ @AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
+ @LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
+ @FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
+ @S390_TRUE@am__append_20 = src/s390/sysv.S src/s390/ffi.c
+ @X86_64_TRUE@am__append_21 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+ @SH_TRUE@am__append_22 = src/sh/sysv.S src/sh/ffi.c
+ @SH64_TRUE@am__append_23 = src/sh64/sysv.S src/sh64/ffi.c
+ @PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c
+ @PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++@FFI_DEBUG_TRUE@am__append_26 = -DFFI_DEBUG
++# Build opt.
++@FFI_DEBUG_FALSE@am__append_27 = -O2
+ subdir = .
 -DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
 -      $(srcdir)/../config.guess $(srcdir)/../config.sub \
 -      $(srcdir)/../depcomp $(srcdir)/../install-sh \
 -      $(srcdir)/../ltmain.sh $(srcdir)/../missing \
 -      $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
 -      $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
 -      $(top_srcdir)/configure ChangeLog
++DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
++      $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
++      $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
++      $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
++      compile config.guess config.sub depcomp install-sh ltmain.sh \
++      mdate-sh missing texinfo.tex
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 -am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 -      $(top_srcdir)/../config/lead-dot.m4 \
 -      $(top_srcdir)/../config/multi.m4 \
 -      $(top_srcdir)/../config/override.m4 \
 -      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
 -      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
 -      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
 -      $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
++      $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
++      $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
++      $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+  configure.lineno config.status.lineno
 -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = fficonfig.h
 -CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_FILES = libffi.pc
+ CONFIG_CLEAN_VPATH_FILES =
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+     *) f=$$p;; \
+   esac;
+ am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+ am__install_max = 40
+ am__nobase_strip_setup = \
+   srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+ am__nobase_strip = \
+   for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+ am__nobase_list = $(am__nobase_strip_setup); \
+   for p in $$list; do echo "$$p $$p"; done | \
+   sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+   $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+     if (++n[$$2] == $(am__install_max)) \
+       { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+     END { for (dir in files) print dir, files[dir] }'
+ am__base_list = \
+   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 -am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
 -LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
++am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
++      "$(DESTDIR)$(pkgconfigdir)"
++LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+ libffi_la_LIBADD =
+ am__dirstamp = $(am__leading_dot)dirstamp
+ am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+       src/raw_api.lo src/java_raw_api.lo src/closures.lo
+ @MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
+ @MIPS_TRUE@   src/mips/n32.lo
+ @X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
+ @X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
+ @X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
+ @X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
+ @X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
+ @X86_DARWIN_TRUE@     src/x86/ffi64.lo src/x86/darwin64.lo
+ @SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
+ @SPARC_TRUE@  src/sparc/v9.lo
+ @ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
+ @IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
+ @M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
+ @M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
+ @POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
+ @POWERPC_TRUE@        src/powerpc/ppc_closure.lo \
+ @POWERPC_TRUE@        src/powerpc/linux64.lo \
+ @POWERPC_TRUE@        src/powerpc/linux64_closure.lo
+ @POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_AIX_TRUE@    src/powerpc/aix.lo \
+ @POWERPC_AIX_TRUE@    src/powerpc/aix_closure.lo
+ @POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
+ @POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
+ @POWERPC_FREEBSD_TRUE@        src/powerpc/sysv.lo \
+ @POWERPC_FREEBSD_TRUE@        src/powerpc/ppc_closure.lo
+ @ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
+ @AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
+ @LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
+ @FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
+ @S390_TRUE@am__objects_20 = src/s390/sysv.lo src/s390/ffi.lo
+ @X86_64_TRUE@am__objects_21 = src/x86/ffi64.lo src/x86/unix64.lo \
+ @X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
+ @SH_TRUE@am__objects_22 = src/sh/sysv.lo src/sh/ffi.lo
+ @SH64_TRUE@am__objects_23 = src/sh64/sysv.lo src/sh64/ffi.lo
+ @PA_LINUX_TRUE@am__objects_24 = src/pa/linux.lo src/pa/ffi.lo
+ @PA_HPUX_TRUE@am__objects_25 = src/pa/hpux32.lo src/pa/ffi.lo
+ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
+       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
+       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
+       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
+       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
+       $(am__objects_24) $(am__objects_25)
+ libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
+       $(nodist_libffi_la_OBJECTS)
+ libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
+ libffi_convenience_la_LIBADD =
+ am__objects_26 = src/debug.lo src/prep_cif.lo src/types.lo \
+       src/raw_api.lo src/java_raw_api.lo src/closures.lo
+ am_libffi_convenience_la_OBJECTS = $(am__objects_26)
+ am__objects_27 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
+       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
+       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
+       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
+       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
+       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
+       $(am__objects_25)
+ nodist_libffi_convenience_la_OBJECTS = $(am__objects_27)
+ libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
+       $(nodist_libffi_convenience_la_OBJECTS)
+ DEFAULT_INCLUDES = -I.@am__isrc@
 -depcomp = $(SHELL) $(top_srcdir)/../depcomp
++depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ am__mv = mv -f
+ CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+ LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+       $(LDFLAGS) -o $@
+ SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
+       $(libffi_convenience_la_SOURCES) \
+       $(nodist_libffi_convenience_la_SOURCES)
+ DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
 -MULTISRCTOP = 
 -MULTIBUILDTOP = 
 -MULTIDIRS = 
 -MULTISUBDIR = 
 -MULTIDO = true
 -MULTICLEAN = true
++INFO_DEPS = $(srcdir)/doc/libffi.info
++am__TEXINFO_TEX_DIR = $(srcdir)
++DVIS = doc/libffi.dvi
++PDFS = doc/libffi.pdf
++PSS = doc/libffi.ps
++HTMLS = doc/libffi.html
++TEXINFOS = doc/libffi.texi
++TEXI2DVI = texi2dvi
++TEXI2PDF = $(TEXI2DVI) --pdf --batch
++MAKEINFOHTML = $(MAKEINFO) --html
++AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
++DVIPS = dvips
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-dvi-recursive install-exec-recursive \
+       install-html-recursive install-info-recursive \
+       install-pdf-recursive install-ps-recursive install-recursive \
+       installcheck-recursive installdirs-recursive pdf-recursive \
+       ps-recursive uninstall-recursive
++DATA = $(pkgconfig_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
+   distclean-recursive maintainer-clean-recursive
+ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+       distdir dist dist-all distcheck
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = $(SUBDIRS)
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ distdir = $(PACKAGE)-$(VERSION)
+ top_distdir = $(distdir)
+ am__remove_distdir = \
+   { test ! -d "$(distdir)" \
+     || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+          && rm -fr "$(distdir)"; }; }
+ am__relativize = \
+   dir0=`pwd`; \
+   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+   sed_rest='s,^[^/]*/*,,'; \
+   sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+   sed_butlast='s,/*[^/]*$$,,'; \
+   while test -n "$$dir1"; do \
+     first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+     if test "$$first" != "."; then \
+       if test "$$first" = ".."; then \
+         dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+         dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+       else \
+         first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+         if test "$$first2" = "$$first"; then \
+           dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+         else \
+           dir2="../$$dir2"; \
+         fi; \
+         dir0="$$dir0"/"$$first"; \
+       fi; \
+     fi; \
+     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+   done; \
+   reldir="$$dir2"
+ DIST_ARCHIVES = $(distdir).tar.gz
+ GZIP_ENV = --best
+ distuninstallcheck_listfiles = find . -type f -print
+ distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ ALLOCA = @ALLOCA@
+ AMTAR = @AMTAR@
++AM_LTLDFLAGS = @AM_LTLDFLAGS@
+ AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ CC = @CC@
+ CCAS = @CCAS@
+ CCASDEPMODE = @CCASDEPMODE@
+ CCASFLAGS = @CCASFLAGS@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+ LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+ OBJDUMP = @OBJDUMP@
+ OBJEXT = @OBJEXT@
+ OTOOL = @OTOOL@
+ OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 -PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ STRIP = @STRIP@
+ TARGET = @TARGET@
+ TARGETDIR = @TARGETDIR@
+ VERSION = @VERSION@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
 -multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+ target_cpu = @target_cpu@
+ target_os = @target_os@
+ target_vendor = @target_vendor@
+ toolexecdir = @toolexecdir@
+ toolexeclibdir = @toolexeclibdir@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign subdir-objects
 -ACLOCAL_AMFLAGS = -I .. -I ../config
+ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
+       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
+       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
+       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+       src/ia64/unix.S \
+       src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+       src/mips/ffitarget.h \
+       src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+       src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+       src/powerpc/ffi.c src/powerpc/sysv.S \
+       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+       src/powerpc/ppc_closure.S src/powerpc/asm.h \
+       src/powerpc/aix.S src/powerpc/darwin.S \
+       src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+       src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+       src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+       src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+       src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+       src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+       src/sparc/ffi.c src/x86/darwin64.S \
 -      src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
++      src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/win64.S \
++      src/x86/darwin.S src/x86/freebsd.S \
+       src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+       src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
 -      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
++      src/dlmalloc.c \
++      src/moxie/ffi.c src/moxie/eabi.S \
++      libtool-version ChangeLog.libffi m4/libtool.m4 \
++      m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
++info_TEXINFOS = doc/libffi.texi
+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
+ # values defined in terms of make variables, as is the case for CC and
+ # friends when we are called from the top level Makefile.
+ AM_MAKEFLAGS = \
+       "AR_FLAGS=$(AR_FLAGS)" \
+       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+       "CFLAGS=$(CFLAGS)" \
+       "CXXFLAGS=$(CXXFLAGS)" \
+       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+       "INSTALL=$(INSTALL)" \
+       "INSTALL_DATA=$(INSTALL_DATA)" \
+       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+       "JC1FLAGS=$(JC1FLAGS)" \
+       "LDFLAGS=$(LDFLAGS)" \
+       "LIBCFLAGS=$(LIBCFLAGS)" \
+       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+       "MAKE=$(MAKE)" \
+       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+       "PICFLAG=$(PICFLAG)" \
+       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+       "SHELL=$(SHELL)" \
+       "exec_prefix=$(exec_prefix)" \
+       "infodir=$(infodir)" \
+       "libdir=$(libdir)" \
++      "mandir=$(mandir)" \
+       "prefix=$(prefix)" \
+       "AR=$(AR)" \
+       "AS=$(AS)" \
+       "CC=$(CC)" \
+       "CXX=$(CXX)" \
+       "LD=$(LD)" \
+       "NM=$(NM)" \
+       "RANLIB=$(RANLIB)" \
+       "DESTDIR=$(DESTDIR)"
+ MAKEOVERRIDES = 
 -toolexeclib_LTLIBRARIES = libffi.la
++ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
++lib_LTLIBRARIES = libffi.la
+ noinst_LTLIBRARIES = libffi_convenience.la
+ libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
+               src/raw_api.c src/java_raw_api.c src/closures.c
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libffi.pc
+ nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
+       $(am__append_3) $(am__append_4) $(am__append_5) \
+       $(am__append_6) $(am__append_7) $(am__append_8) \
+       $(am__append_9) $(am__append_10) $(am__append_11) \
+       $(am__append_12) $(am__append_13) $(am__append_14) \
+       $(am__append_15) $(am__append_16) $(am__append_17) \
+       $(am__append_18) $(am__append_19) $(am__append_20) \
+       $(am__append_21) $(am__append_22) $(am__append_23) \
+       $(am__append_24) $(am__append_25)
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
 -AM_CFLAGS = -Wall -g -fexceptions
 -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
 -libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS)
++AM_CFLAGS = -Wall -g -fexceptions $(am__append_26) $(am__append_27)
++libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+ AM_CCASFLAGS = $(AM_CPPFLAGS)
+ all: fficonfig.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+ .SUFFIXES:
 -.SUFFIXES: .S .c .lo .o .obj
++.SUFFIXES: .S .c .dvi .lo .o .obj .ps
+ am--refresh:
+       @:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           echo ' $(SHELL) ./config.status'; \
+           $(SHELL) ./config.status;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+       esac;
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       $(SHELL) ./config.status --recheck
+ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+       $(am__cd) $(srcdir) && $(AUTOCONF)
+ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ $(am__aclocal_m4_deps):
+ fficonfig.h: stamp-h1
+       @if test ! -f $@; then \
+         rm -f stamp-h1; \
+         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+       else :; fi
+ stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
+       @rm -f stamp-h1
+       cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
+ $(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+       rm -f stamp-h1
+       touch $@
+ distclean-hdr:
+       -rm -f fficonfig.h stamp-h1
 -
 -clean-noinstLTLIBRARIES:
 -      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
 -      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
 -        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
 -        test "$$dir" != "$$p" || dir=.; \
 -        echo "rm -f \"$${dir}/so_locations\""; \
 -        rm -f "$${dir}/so_locations"; \
 -      done
 -install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
++libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
++      cd $(top_builddir) && $(SHELL) ./config.status $@
++install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
 -      test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
 -      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++      test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
++      @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       list2=; for p in $$list; do \
+         if test -f $$p; then \
+           list2="$$list2 $$p"; \
+         else :; fi; \
+       done; \
+       test -z "$$list2" || { \
 -        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
 -        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+       }
 -uninstall-toolexeclibLTLIBRARIES:
++uninstall-libLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
 -      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++      @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
 -        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
 -        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+       done
 -clean-toolexeclibLTLIBRARIES:
 -      -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
 -      @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
++clean-libLTLIBRARIES:
++      -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++      @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++        test "$$dir" != "$$p" || dir=.; \
++        echo "rm -f \"$${dir}/so_locations\""; \
++        rm -f "$${dir}/so_locations"; \
++      done
++
++clean-noinstLTLIBRARIES:
++      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+         test "$$dir" != "$$p" || dir=.; \
+         echo "rm -f \"$${dir}/so_locations\""; \
+         rm -f "$${dir}/so_locations"; \
+       done
+ src/$(am__dirstamp):
+       @$(MKDIR_P) src
+       @: > src/$(am__dirstamp)
+ src/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/$(DEPDIR)
+       @: > src/$(DEPDIR)/$(am__dirstamp)
+ src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/mips/$(am__dirstamp):
+       @$(MKDIR_P) src/mips
+       @: > src/mips/$(am__dirstamp)
+ src/mips/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/mips/$(DEPDIR)
+       @: > src/mips/$(DEPDIR)/$(am__dirstamp)
+ src/mips/ffi.lo: src/mips/$(am__dirstamp) \
+       src/mips/$(DEPDIR)/$(am__dirstamp)
+ src/mips/o32.lo: src/mips/$(am__dirstamp) \
+       src/mips/$(DEPDIR)/$(am__dirstamp)
+ src/mips/n32.lo: src/mips/$(am__dirstamp) \
+       src/mips/$(DEPDIR)/$(am__dirstamp)
+ src/x86/$(am__dirstamp):
+       @$(MKDIR_P) src/x86
+       @: > src/x86/$(am__dirstamp)
+ src/x86/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/x86/$(DEPDIR)
+       @: > src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/ffi.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/sysv.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/win32.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/win64.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/darwin.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/sparc/$(am__dirstamp):
+       @$(MKDIR_P) src/sparc
+       @: > src/sparc/$(am__dirstamp)
+ src/sparc/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/sparc/$(DEPDIR)
+       @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
+ src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
+       src/sparc/$(DEPDIR)/$(am__dirstamp)
+ src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
+       src/sparc/$(DEPDIR)/$(am__dirstamp)
+ src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
+       src/sparc/$(DEPDIR)/$(am__dirstamp)
+ src/alpha/$(am__dirstamp):
+       @$(MKDIR_P) src/alpha
+       @: > src/alpha/$(am__dirstamp)
+ src/alpha/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/alpha/$(DEPDIR)
+       @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
+ src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
+       src/alpha/$(DEPDIR)/$(am__dirstamp)
+ src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
+       src/alpha/$(DEPDIR)/$(am__dirstamp)
+ src/ia64/$(am__dirstamp):
+       @$(MKDIR_P) src/ia64
+       @: > src/ia64/$(am__dirstamp)
+ src/ia64/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/ia64/$(DEPDIR)
+       @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
+ src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
+       src/ia64/$(DEPDIR)/$(am__dirstamp)
+ src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
+       src/ia64/$(DEPDIR)/$(am__dirstamp)
+ src/m32r/$(am__dirstamp):
+       @$(MKDIR_P) src/m32r
+       @: > src/m32r/$(am__dirstamp)
+ src/m32r/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/m32r/$(DEPDIR)
+       @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
+ src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
+       src/m32r/$(DEPDIR)/$(am__dirstamp)
+ src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
+       src/m32r/$(DEPDIR)/$(am__dirstamp)
+ src/m68k/$(am__dirstamp):
+       @$(MKDIR_P) src/m68k
+       @: > src/m68k/$(am__dirstamp)
+ src/m68k/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/m68k/$(DEPDIR)
+       @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
+ src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
+       src/m68k/$(DEPDIR)/$(am__dirstamp)
+ src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
+       src/m68k/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/$(am__dirstamp):
+       @$(MKDIR_P) src/powerpc
+       @: > src/powerpc/$(am__dirstamp)
+ src/powerpc/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/powerpc/$(DEPDIR)
+       @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
+       src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/arm/$(am__dirstamp):
+       @$(MKDIR_P) src/arm
+       @: > src/arm/$(am__dirstamp)
+ src/arm/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/arm/$(DEPDIR)
+       @: > src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/arm/sysv.lo: src/arm/$(am__dirstamp) \
+       src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/arm/ffi.lo: src/arm/$(am__dirstamp) \
+       src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/avr32/$(am__dirstamp):
+       @$(MKDIR_P) src/avr32
+       @: > src/avr32/$(am__dirstamp)
+ src/avr32/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/avr32/$(DEPDIR)
+       @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
+ src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
+       src/avr32/$(DEPDIR)/$(am__dirstamp)
+ src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
+       src/avr32/$(DEPDIR)/$(am__dirstamp)
+ src/cris/$(am__dirstamp):
+       @$(MKDIR_P) src/cris
+       @: > src/cris/$(am__dirstamp)
+ src/cris/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/cris/$(DEPDIR)
+       @: > src/cris/$(DEPDIR)/$(am__dirstamp)
+ src/cris/sysv.lo: src/cris/$(am__dirstamp) \
+       src/cris/$(DEPDIR)/$(am__dirstamp)
+ src/cris/ffi.lo: src/cris/$(am__dirstamp) \
+       src/cris/$(DEPDIR)/$(am__dirstamp)
+ src/frv/$(am__dirstamp):
+       @$(MKDIR_P) src/frv
+       @: > src/frv/$(am__dirstamp)
+ src/frv/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/frv/$(DEPDIR)
+       @: > src/frv/$(DEPDIR)/$(am__dirstamp)
+ src/frv/eabi.lo: src/frv/$(am__dirstamp) \
+       src/frv/$(DEPDIR)/$(am__dirstamp)
+ src/frv/ffi.lo: src/frv/$(am__dirstamp) \
+       src/frv/$(DEPDIR)/$(am__dirstamp)
+ src/s390/$(am__dirstamp):
+       @$(MKDIR_P) src/s390
+       @: > src/s390/$(am__dirstamp)
+ src/s390/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/s390/$(DEPDIR)
+       @: > src/s390/$(DEPDIR)/$(am__dirstamp)
+ src/s390/sysv.lo: src/s390/$(am__dirstamp) \
+       src/s390/$(DEPDIR)/$(am__dirstamp)
+ src/s390/ffi.lo: src/s390/$(am__dirstamp) \
+       src/s390/$(DEPDIR)/$(am__dirstamp)
+ src/x86/unix64.lo: src/x86/$(am__dirstamp) \
+       src/x86/$(DEPDIR)/$(am__dirstamp)
+ src/sh/$(am__dirstamp):
+       @$(MKDIR_P) src/sh
+       @: > src/sh/$(am__dirstamp)
+ src/sh/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/sh/$(DEPDIR)
+       @: > src/sh/$(DEPDIR)/$(am__dirstamp)
+ src/sh/sysv.lo: src/sh/$(am__dirstamp) \
+       src/sh/$(DEPDIR)/$(am__dirstamp)
+ src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
+ src/sh64/$(am__dirstamp):
+       @$(MKDIR_P) src/sh64
+       @: > src/sh64/$(am__dirstamp)
+ src/sh64/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/sh64/$(DEPDIR)
+       @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
+ src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
+       src/sh64/$(DEPDIR)/$(am__dirstamp)
+ src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
+       src/sh64/$(DEPDIR)/$(am__dirstamp)
+ src/pa/$(am__dirstamp):
+       @$(MKDIR_P) src/pa
+       @: > src/pa/$(am__dirstamp)
+ src/pa/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/pa/$(DEPDIR)
+       @: > src/pa/$(DEPDIR)/$(am__dirstamp)
+ src/pa/linux.lo: src/pa/$(am__dirstamp) \
+       src/pa/$(DEPDIR)/$(am__dirstamp)
+ src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
+ src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
+       src/pa/$(DEPDIR)/$(am__dirstamp)
+ libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
 -      $(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
++      $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
+ libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
+       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
+ mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+       -rm -f src/alpha/ffi.$(OBJEXT)
+       -rm -f src/alpha/ffi.lo
+       -rm -f src/alpha/osf.$(OBJEXT)
+       -rm -f src/alpha/osf.lo
+       -rm -f src/arm/ffi.$(OBJEXT)
+       -rm -f src/arm/ffi.lo
+       -rm -f src/arm/sysv.$(OBJEXT)
+       -rm -f src/arm/sysv.lo
+       -rm -f src/avr32/ffi.$(OBJEXT)
+       -rm -f src/avr32/ffi.lo
+       -rm -f src/avr32/sysv.$(OBJEXT)
+       -rm -f src/avr32/sysv.lo
+       -rm -f src/closures.$(OBJEXT)
+       -rm -f src/closures.lo
+       -rm -f src/cris/ffi.$(OBJEXT)
+       -rm -f src/cris/ffi.lo
+       -rm -f src/cris/sysv.$(OBJEXT)
+       -rm -f src/cris/sysv.lo
+       -rm -f src/debug.$(OBJEXT)
+       -rm -f src/debug.lo
+       -rm -f src/frv/eabi.$(OBJEXT)
+       -rm -f src/frv/eabi.lo
+       -rm -f src/frv/ffi.$(OBJEXT)
+       -rm -f src/frv/ffi.lo
+       -rm -f src/ia64/ffi.$(OBJEXT)
+       -rm -f src/ia64/ffi.lo
+       -rm -f src/ia64/unix.$(OBJEXT)
+       -rm -f src/ia64/unix.lo
+       -rm -f src/java_raw_api.$(OBJEXT)
+       -rm -f src/java_raw_api.lo
+       -rm -f src/m32r/ffi.$(OBJEXT)
+       -rm -f src/m32r/ffi.lo
+       -rm -f src/m32r/sysv.$(OBJEXT)
+       -rm -f src/m32r/sysv.lo
+       -rm -f src/m68k/ffi.$(OBJEXT)
+       -rm -f src/m68k/ffi.lo
+       -rm -f src/m68k/sysv.$(OBJEXT)
+       -rm -f src/m68k/sysv.lo
+       -rm -f src/mips/ffi.$(OBJEXT)
+       -rm -f src/mips/ffi.lo
+       -rm -f src/mips/n32.$(OBJEXT)
+       -rm -f src/mips/n32.lo
+       -rm -f src/mips/o32.$(OBJEXT)
+       -rm -f src/mips/o32.lo
+       -rm -f src/pa/ffi.$(OBJEXT)
+       -rm -f src/pa/ffi.lo
+       -rm -f src/pa/hpux32.$(OBJEXT)
+       -rm -f src/pa/hpux32.lo
+       -rm -f src/pa/linux.$(OBJEXT)
+       -rm -f src/pa/linux.lo
+       -rm -f src/powerpc/aix.$(OBJEXT)
+       -rm -f src/powerpc/aix.lo
+       -rm -f src/powerpc/aix_closure.$(OBJEXT)
+       -rm -f src/powerpc/aix_closure.lo
+       -rm -f src/powerpc/darwin.$(OBJEXT)
+       -rm -f src/powerpc/darwin.lo
+       -rm -f src/powerpc/darwin_closure.$(OBJEXT)
+       -rm -f src/powerpc/darwin_closure.lo
+       -rm -f src/powerpc/ffi.$(OBJEXT)
+       -rm -f src/powerpc/ffi.lo
+       -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
+       -rm -f src/powerpc/ffi_darwin.lo
+       -rm -f src/powerpc/linux64.$(OBJEXT)
+       -rm -f src/powerpc/linux64.lo
+       -rm -f src/powerpc/linux64_closure.$(OBJEXT)
+       -rm -f src/powerpc/linux64_closure.lo
+       -rm -f src/powerpc/ppc_closure.$(OBJEXT)
+       -rm -f src/powerpc/ppc_closure.lo
+       -rm -f src/powerpc/sysv.$(OBJEXT)
+       -rm -f src/powerpc/sysv.lo
+       -rm -f src/prep_cif.$(OBJEXT)
+       -rm -f src/prep_cif.lo
+       -rm -f src/raw_api.$(OBJEXT)
+       -rm -f src/raw_api.lo
+       -rm -f src/s390/ffi.$(OBJEXT)
+       -rm -f src/s390/ffi.lo
+       -rm -f src/s390/sysv.$(OBJEXT)
+       -rm -f src/s390/sysv.lo
+       -rm -f src/sh/ffi.$(OBJEXT)
+       -rm -f src/sh/ffi.lo
+       -rm -f src/sh/sysv.$(OBJEXT)
+       -rm -f src/sh/sysv.lo
+       -rm -f src/sh64/ffi.$(OBJEXT)
+       -rm -f src/sh64/ffi.lo
+       -rm -f src/sh64/sysv.$(OBJEXT)
+       -rm -f src/sh64/sysv.lo
+       -rm -f src/sparc/ffi.$(OBJEXT)
+       -rm -f src/sparc/ffi.lo
+       -rm -f src/sparc/v8.$(OBJEXT)
+       -rm -f src/sparc/v8.lo
+       -rm -f src/sparc/v9.$(OBJEXT)
+       -rm -f src/sparc/v9.lo
+       -rm -f src/types.$(OBJEXT)
+       -rm -f src/types.lo
+       -rm -f src/x86/darwin.$(OBJEXT)
+       -rm -f src/x86/darwin.lo
+       -rm -f src/x86/darwin64.$(OBJEXT)
+       -rm -f src/x86/darwin64.lo
+       -rm -f src/x86/ffi.$(OBJEXT)
+       -rm -f src/x86/ffi.lo
+       -rm -f src/x86/ffi64.$(OBJEXT)
+       -rm -f src/x86/ffi64.lo
+       -rm -f src/x86/freebsd.$(OBJEXT)
+       -rm -f src/x86/freebsd.lo
+       -rm -f src/x86/sysv.$(OBJEXT)
+       -rm -f src/x86/sysv.lo
+       -rm -f src/x86/unix64.$(OBJEXT)
+       -rm -f src/x86/unix64.lo
+       -rm -f src/x86/win32.$(OBJEXT)
+       -rm -f src/x86/win32.lo
+       -rm -f src/x86/win64.$(OBJEXT)
+       -rm -f src/x86/win64.lo
+ distclean-compile:
+       -rm -f *.tab.c
+ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
+ .S.o:
+ @am__fastdepCCAS_TRUE@        depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ @am__fastdepCCAS_TRUE@        $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ @am__fastdepCCAS_TRUE@        $(am__mv) $$depbase.Tpo $$depbase.Po
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@   DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCCAS_FALSE@       $(CPPASCOMPILE) -c -o $@ $<
+ .S.obj:
+ @am__fastdepCCAS_TRUE@        depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ @am__fastdepCCAS_TRUE@        $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ @am__fastdepCCAS_TRUE@        $(am__mv) $$depbase.Tpo $$depbase.Po
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@   DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCCAS_FALSE@       $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ .S.lo:
+ @am__fastdepCCAS_TRUE@        depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ @am__fastdepCCAS_TRUE@        $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ @am__fastdepCCAS_TRUE@        $(am__mv) $$depbase.Tpo $$depbase.Plo
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@   source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCCAS_FALSE@   DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCCAS_FALSE@       $(LTCPPASCOMPILE) -c -o $@ $<
+ .c.o:
+ @am__fastdepCC_TRUE@  depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ @am__fastdepCC_TRUE@  $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ @am__fastdepCC_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
+ .c.obj:
+ @am__fastdepCC_TRUE@  depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ @am__fastdepCC_TRUE@  $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ @am__fastdepCC_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ .c.lo:
+ @am__fastdepCC_TRUE@  depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ @am__fastdepCC_TRUE@  $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ @am__fastdepCC_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ mostlyclean-libtool:
+       -rm -f *.lo
+ clean-libtool:
+       -rm -rf .libs _libs
+       -rm -rf src/.libs src/_libs
+       -rm -rf src/alpha/.libs src/alpha/_libs
+       -rm -rf src/arm/.libs src/arm/_libs
+       -rm -rf src/avr32/.libs src/avr32/_libs
+       -rm -rf src/cris/.libs src/cris/_libs
+       -rm -rf src/frv/.libs src/frv/_libs
+       -rm -rf src/ia64/.libs src/ia64/_libs
+       -rm -rf src/m32r/.libs src/m32r/_libs
+       -rm -rf src/m68k/.libs src/m68k/_libs
+       -rm -rf src/mips/.libs src/mips/_libs
+       -rm -rf src/pa/.libs src/pa/_libs
+       -rm -rf src/powerpc/.libs src/powerpc/_libs
+       -rm -rf src/s390/.libs src/s390/_libs
+       -rm -rf src/sh/.libs src/sh/_libs
+       -rm -rf src/sh64/.libs src/sh64/_libs
+       -rm -rf src/sparc/.libs src/sparc/_libs
+       -rm -rf src/x86/.libs src/x86/_libs
+ distclean-libtool:
+       -rm -f libtool config.lt
++doc/$(am__dirstamp):
++      @$(MKDIR_P) doc
++      @: > doc/$(am__dirstamp)
++
++$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
++      restore=: && backupdir="$(am__leading_dot)am$$$$" && \
++      am__cwd=`pwd` && $(am__cd) $(srcdir) && \
++      rm -rf $$backupdir && mkdir $$backupdir && \
++      if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
++        for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
++          if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
++        done; \
++      else :; fi && \
++      cd "$$am__cwd"; \
++      if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++       -o $@ $(srcdir)/doc/libffi.texi; \
++      then \
++        rc=0; \
++        $(am__cd) $(srcdir); \
++      else \
++        rc=$$?; \
++        $(am__cd) $(srcdir) && \
++        $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
++      fi; \
++      rm -rf $$backupdir; exit $$rc
++
++doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++      $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
++
++doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++      $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
++
++doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      rm -rf $(@:.html=.htp)
++      if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++       -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
++      then \
++        rm -rf $@; \
++        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++          mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
++      else \
++        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++          rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
++        exit 1; \
++      fi
++$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
++$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
++      test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
++      @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
++      set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
++      echo "@set UPDATED $$1 $$2 $$3"; \
++      echo "@set UPDATED-MONTH $$2 $$3"; \
++      echo "@set EDITION $(VERSION)"; \
++      echo "@set VERSION $(VERSION)") > vti.tmp
++      @cmp -s vti.tmp $(srcdir)/doc/version.texi \
++        || (echo "Updating $(srcdir)/doc/version.texi"; \
++            cp vti.tmp $(srcdir)/doc/version.texi)
++      -@rm -f vti.tmp
++      @cp $(srcdir)/doc/version.texi $@
++
++mostlyclean-vti:
++      -rm -f vti.tmp
++
++maintainer-clean-vti:
++@MAINTAINER_MODE_TRUE@        -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
++.dvi.ps:
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      $(DVIPS) -o $@ $<
++
++uninstall-dvi-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
++        rm -f "$(DESTDIR)$(dvidir)/$$f"; \
++      done
++
++uninstall-html-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
++        rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
++      done
++
++uninstall-info-am:
++      @$(PRE_UNINSTALL)
++      @if test -d '$(DESTDIR)$(infodir)' && \
++          (install-info --version && \
++           install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
++        list='$(INFO_DEPS)'; \
++        for file in $$list; do \
++          relfile=`echo "$$file" | sed 's|^.*/||'`; \
++          echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
++          if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
++          then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
++        done; \
++      else :; fi
++      @$(NORMAL_UNINSTALL)
++      @list='$(INFO_DEPS)'; \
++      for file in $$list; do \
++        relfile=`echo "$$file" | sed 's|^.*/||'`; \
++        relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
++        (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
++           echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
++           rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
++         else :; fi); \
++      done
 -# GNU Make needs to see an explicit $(MAKE) variable in the command it
 -# runs to enable its job server during parallel builds.  Hence the
 -# comments below.
 -all-multi:
 -      $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
 -install-multi:
 -      $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
 -
 -mostlyclean-multi:
 -      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
 -clean-multi:
 -      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
 -distclean-multi:
 -      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
 -maintainer-clean-multi:
 -      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
++uninstall-pdf-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
++        rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
++      done
++
++uninstall-ps-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(PSS)'; test -n "$(psdir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
++        rm -f "$(DESTDIR)$(psdir)/$$f"; \
++      done
++
++dist-info: $(INFO_DEPS)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++      list='$(INFO_DEPS)'; \
++      for base in $$list; do \
++        case $$base in \
++          $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
++        esac; \
++        if test -f $$base; then d=.; else d=$(srcdir); fi; \
++        base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
++        for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
++          if test -f $$file; then \
++            relfile=`expr "$$file" : "$$d/\(.*\)"`; \
++            test -f "$(distdir)/$$relfile" || \
++              cp -p $$file "$(distdir)/$$relfile"; \
++          else :; fi; \
++        done; \
++      done
++
++mostlyclean-aminfo:
++      -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
++        libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
++
++clean-aminfo:
++      -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
++      || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
++
++maintainer-clean-aminfo:
++      @list='$(INFO_DEPS)'; for i in $$list; do \
++        i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
++        echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
++        rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
++      done
++install-pkgconfigDATA: $(pkgconfig_DATA)
++      @$(NORMAL_INSTALL)
++      test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
++      @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
++      done
++
++uninstall-pkgconfigDATA:
++      @$(NORMAL_UNINSTALL)
++      @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
++      test -n "$$files" || exit 0; \
++      echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
++      cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+ # This directory's subdirectories are mostly independent; you can cd
+ # into them and run `make' without going through this Makefile.
+ # To change the values of `make' variables: instead of editing Makefiles,
+ # (1) if the variable is set in `config.status', edit `config.status'
+ #     (which will cause the Makefiles to be regenerated when you run `make');
+ # (2) otherwise, pass the desired values on the `make' command line.
+ $(RECURSIVE_TARGETS):
 -      @failcom='exit 1'; \
++      @fail= failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+ $(RECURSIVE_CLEAN_TARGETS):
 -      @failcom='exit 1'; \
++      @fail= failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       rev=''; for subdir in $$list; do \
+         if test "$$subdir" = "."; then :; else \
+           rev="$$subdir $$rev"; \
+         fi; \
+       done; \
+       rev="$$rev ."; \
+       target=`echo $@ | sed s/-recursive//`; \
+       for subdir in $$rev; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done && test -z "$$fail"
+ tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+       done
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       mkid -fID $$unique
+ tags: TAGS
+ TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ ctags: CTAGS
+ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+ GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+ distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       test -d "$(distdir)" || mkdir "$(distdir)"
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test -d "$(distdir)/$$subdir" \
+           || $(MKDIR_P) "$(distdir)/$$subdir" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
++      $(MAKE) $(AM_MAKEFLAGS) \
++        top_distdir="$(top_distdir)" distdir="$(distdir)" \
++        dist-info
+       -test -n "$(am__skip_mode_fix)" \
 -      || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
++      || find "$(distdir)" -type d ! -perm -755 \
++              -exec chmod u+rwx,go+rx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r "$(distdir)"
+ dist-gzip: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+ dist-bzip2: distdir
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+ dist-lzma: distdir
+       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+       $(am__remove_distdir)
+ dist-xz: distdir
+       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+       $(am__remove_distdir)
+ dist-tarZ: distdir
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+       $(am__remove_distdir)
+ dist-shar: distdir
+       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       $(am__remove_distdir)
+ dist-zip: distdir
+       -rm -f $(distdir).zip
+       zip -rq $(distdir).zip $(distdir)
+       $(am__remove_distdir)
+ dist dist-all: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+ # This target untars the dist file and tries a VPATH configuration.  Then
+ # it guarantees that the distribution is self-contained by making another
+ # tarfile.
+ distcheck: dist
+       case '$(DIST_ARCHIVES)' in \
+       *.tar.gz*) \
 -        GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
++        GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
 -        bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
++        bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.lzma*) \
 -        unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
++        lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+       *.tar.xz*) \
+         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
 -        GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
++        GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       mkdir $(distdir)/_build
+       mkdir $(distdir)/_inst
+       chmod a-w $(distdir)
+       test -d $(distdir)/_build || exit 0; \
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && am__cwd=`pwd` \
+         && $(am__cd) $(distdir)/_build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+               distuninstallcheck \
+         && chmod -R a-w "$$dc_install_base" \
+         && ({ \
+              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+             } || { rm -rf "$$dc_destdir"; exit 1; }) \
+         && rm -rf "$$dc_destdir" \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && rm -rf $(DIST_ARCHIVES) \
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+         && cd "$$am__cwd" \
+         || exit 1
+       $(am__remove_distdir)
+       @(echo "$(distdir) archives ready for distribution: "; \
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+ distuninstallcheck:
+       @$(am__cd) '$(distuninstallcheck_dir)' \
+       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+               fi ; \
+               $(distuninstallcheck_listfiles) ; \
+               exit 1; } >&2
+ distcleancheck: distclean
+       @if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left in build directory after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
 -all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
++all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
+ installdirs: installdirs-recursive
+ installdirs-am:
 -      for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
++      for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+ install: install-recursive
+ install-exec: install-exec-recursive
+ install-data: install-data-recursive
+ uninstall: uninstall-recursive
+ install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+ installcheck: installcheck-recursive
+ install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ mostlyclean-generic:
+ clean-generic:
+ distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++      -rm -f doc/$(am__dirstamp)
+       -rm -f src/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/$(am__dirstamp)
+       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/alpha/$(am__dirstamp)
+       -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/arm/$(am__dirstamp)
+       -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/avr32/$(am__dirstamp)
+       -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/cris/$(am__dirstamp)
+       -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/frv/$(am__dirstamp)
+       -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/ia64/$(am__dirstamp)
+       -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/m32r/$(am__dirstamp)
+       -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/m68k/$(am__dirstamp)
+       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/mips/$(am__dirstamp)
+       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/pa/$(am__dirstamp)
+       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/powerpc/$(am__dirstamp)
+       -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/s390/$(am__dirstamp)
+       -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/sh/$(am__dirstamp)
+       -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/sh64/$(am__dirstamp)
+       -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/sparc/$(am__dirstamp)
+       -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/x86/$(am__dirstamp)
+ maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
 -clean: clean-multi clean-recursive
++clean: clean-recursive
 -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
 -      clean-toolexeclibLTLIBRARIES mostlyclean-am
++clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
++      clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
 -distclean: distclean-multi distclean-recursive
++distclean: distclean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+       -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-tags
+ dvi: dvi-recursive
 -dvi-am:
++dvi-am: $(DVIS)
+ html: html-recursive
 -html-am:
++html-am: $(HTMLS)
+ info: info-recursive
 -info-am:
++info-am: $(INFO_DEPS)
 -install-data-am:
++install-data-am: install-info-am install-pkgconfigDATA
+ install-dvi: install-dvi-recursive
 -install-dvi-am:
 -
 -install-exec-am: install-multi install-toolexeclibLTLIBRARIES
 -
 -install-html: install-html-recursive
 -
 -install-html-am:
++install-dvi-am: $(DVIS)
++      @$(NORMAL_INSTALL)
++      test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
++      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
++      done
++install-exec-am: install-libLTLIBRARIES
++install-html-am: $(HTMLS)
++      @$(NORMAL_INSTALL)
++      test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
++      @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        $(am__strip_dir) \
++        if test -d "$$d$$p"; then \
++          echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
++          $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
++          echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
++          $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
++        else \
++          list2="$$list2 $$d$$p"; \
++        fi; \
++      done; \
++      test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
++      done; }
+ install-info: install-info-recursive
 -install-info-am:
 -
++install-info-am: $(INFO_DEPS)
++      @$(NORMAL_INSTALL)
++      test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
++      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++      list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++      for file in $$list; do \
++        case $$file in \
++          $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
++        esac; \
++        if test -f $$file; then d=.; else d=$(srcdir); fi; \
++        file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
++        for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
++                     $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
++          if test -f $$ifile; then \
++            echo "$$ifile"; \
++          else : ; fi; \
++        done; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
++      @$(POST_INSTALL)
++      @if (install-info --version && \
++           install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
++        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++        for file in $$list; do \
++          relfile=`echo "$$file" | sed 's|^.*/||'`; \
++          echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
++          install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
++        done; \
++      else : ; fi
+ install-man:
 -install-pdf: install-pdf-recursive
 -
 -install-pdf-am:
 -
++install-pdf-am: $(PDFS)
++      @$(NORMAL_INSTALL)
++      test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
++      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
+ install-ps: install-ps-recursive
 -install-ps-am:
 -
++install-ps-am: $(PSS)
++      @$(NORMAL_INSTALL)
++      test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
++      @list='$(PSS)'; test -n "$(psdir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
+ installcheck-am:
 -maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
++maintainer-clean: maintainer-clean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+       -rm -f Makefile
 -maintainer-clean-am: distclean-am maintainer-clean-generic
++maintainer-clean-am: distclean-am maintainer-clean-aminfo \
++      maintainer-clean-generic maintainer-clean-vti
 -mostlyclean: mostlyclean-multi mostlyclean-recursive
++mostlyclean: mostlyclean-recursive
 -mostlyclean-am: mostlyclean-compile mostlyclean-generic \
 -      mostlyclean-libtool
++mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
++      mostlyclean-generic mostlyclean-libtool mostlyclean-vti
+ pdf: pdf-recursive
 -pdf-am:
++pdf-am: $(PDFS)
+ ps: ps-recursive
 -ps-am:
++ps-am: $(PSS)
 -uninstall-am: uninstall-toolexeclibLTLIBRARIES
++uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
++      uninstall-libLTLIBRARIES uninstall-pdf-am \
++      uninstall-pkgconfigDATA uninstall-ps-am
 -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \
 -      clean-multi ctags-recursive distclean-multi install-am \
 -      install-multi install-strip maintainer-clean-multi \
 -      mostlyclean-multi tags-recursive
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
++      ctags-recursive install-am install-strip tags-recursive
+ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 -      all all-am all-multi am--refresh check check-am clean \
 -      clean-generic clean-libtool clean-multi \
 -      clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
 -      ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
 -      dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
 -      distclean-compile distclean-generic distclean-hdr \
 -      distclean-libtool distclean-multi distclean-tags \
 -      distcleancheck distdir distuninstallcheck dvi dvi-am html \
 -      html-am info info-am install install-am install-data \
 -      install-data-am install-dvi install-dvi-am install-exec \
 -      install-exec-am install-html install-html-am install-info \
 -      install-info-am install-man install-multi install-pdf \
 -      install-pdf-am install-ps install-ps-am install-strip \
 -      install-toolexeclibLTLIBRARIES installcheck installcheck-am \
 -      installdirs installdirs-am maintainer-clean \
 -      maintainer-clean-generic maintainer-clean-multi mostlyclean \
++      all all-am am--refresh check check-am clean clean-aminfo \
++      clean-generic clean-libLTLIBRARIES clean-libtool \
++      clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
++      dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
++      dist-xz dist-zip distcheck distclean distclean-compile \
++      distclean-generic distclean-hdr distclean-libtool \
++      distclean-tags distcleancheck distdir distuninstallcheck dvi \
++      dvi-am html html-am info info-am install install-am \
++      install-data install-data-am install-dvi install-dvi-am \
++      install-exec install-exec-am install-html install-html-am \
++      install-info install-info-am install-libLTLIBRARIES \
++      install-man install-pdf install-pdf-am install-pkgconfigDATA \
++      install-ps install-ps-am install-strip installcheck \
++      installcheck-am installdirs installdirs-am maintainer-clean \
++      maintainer-clean-aminfo maintainer-clean-generic \
++      maintainer-clean-vti mostlyclean mostlyclean-aminfo \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 -      mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
 -      uninstall uninstall-am uninstall-toolexeclibLTLIBRARIES
++      mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
++      uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
++      uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
++      uninstall-pkgconfigDATA uninstall-ps-am
 -# Multilib support.  Automake should provide these on its own.
 -all-recursive: all-multi
 -install-recursive: install-multi
 -mostlyclean-recursive: mostlyclean-multi
 -clean-recursive: clean-multi
 -distclean-recursive: distclean-multi
 -maintainer-clean-recursive: maintainer-clean-multi
++# No install-html or install-pdf support in automake yet
++.PHONY: install-html install-pdf
++install-html:
++install-pdf:
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --cc .pc/ios/README
index 0000000,8408b51..7261f70
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,326 +1,331 @@@
 -        Fix the N64 build on mips-sgi-irix6.5.
+ Status
+ ======
+ libffi-3.0.10 was released on XXXXXXXXXX, 2010. Check the libffi web
+ page for updates: <URL:http://sourceware.org/libffi/>.
+ What is libffi?
+ ===============
+ Compilers for high level languages generate code that follow certain
+ conventions. These conventions are necessary, in part, for separate
+ compilation to work. One such convention is the "calling
+ convention". The "calling convention" is essentially a set of
+ assumptions made by the compiler about where function arguments will
+ be found on entry to a function. A "calling convention" also specifies
+ where the return value for a function is found.
+ Some programs may not know at the time of compilation what arguments
+ are to be passed to a function. For instance, an interpreter may be
+ told at run-time about the number and types of arguments used to call
+ a given function. Libffi can be used in such programs to provide a
+ bridge from the interpreter program to compiled code.
+ The libffi library provides a portable, high level programming
+ interface to various calling conventions. This allows a programmer to
+ call any function specified by a call interface description at run
+ time.  
+ FFI stands for Foreign Function Interface.  A foreign function
+ interface is the popular name for the interface that allows code
+ written in one language to call code written in another language. The
+ libffi library really only provides the lowest, machine dependent
+ layer of a fully featured foreign function interface. A layer must
+ exist above libffi that handles type conversions for values passed
+ between the two languages.
+ Supported Platforms
+ ===================
+ Libffi has been ported to many different platforms.
+ For specific configuration details and testing status, please
+ refer to the wiki page here:
+  http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.10
+ At the time of release, the following basic configurations have been
+ tested:
+ |--------------+------------------|
+ | Architecture | Operating System |
+ |--------------+------------------|
+ | Alpha        | Linux            |
+ | Alpha        | Tru64            |
+ | ARM          | Linux            |
+ | AVR32        | Linux            |
+ | HPPA         | HPUX             |
+ | IA-64        | Linux            |
+ | MIPS         | IRIX             |
+ | MIPS         | Linux            |
+ | MIPS64       | Linux            |
+ | PowerPC      | Linux            |
+ | PowerPC      | Mac OSX          |
+ | PowerPC      | FreeBSD          |
+ | PowerPC64    | Linux            |
+ | S390         | Linux            |
+ | S390X        | Linux            |
+ | SPARC        | Linux            |
+ | SPARC        | Solaris          |
+ | SPARC64      | Linux            |
+ | SPARC64      | FreeBSD          |
+ | X86          | FreeBSD          |
+ | X86          | kFreeBSD         |
+ | X86          | Linux            |
+ | X86          | Mac OSX          |
+ | X86          | OpenBSD          |
++| X86          | OS/2             |
+ | X86          | Solaris          |
+ | X86          | Windows/Cygwin   |
+ | X86          | Windows/MingW    |
+ | X86-64       | FreeBSD          |
+ | X86-64       | Linux            |
+ | X86-64       | OpenBSD          |
+ | X86-64       | Windows/MingW    |
+ |--------------+------------------|
+ Please send additional platform test results to
+ libffi-discuss@sourceware.org and feel free to update the wiki page
+ above.
+ Installing libffi
+ =================
+ First you must configure the distribution for your particular
+ system. Go to the directory you wish to build libffi in and run the
+ "configure" program found in the root directory of the libffi source
+ distribution.
+ You may want to tell configure where to install the libffi library and
+ header files. To do that, use the --prefix configure switch.  Libffi
+ will install under /usr/local by default. 
+ If you want to enable extra run-time debugging checks use the the
+ --enable-debug configure switch. This is useful when your program dies
+ mysteriously while using libffi. 
+ Another useful configure switch is --enable-purify-safety. Using this
+ will add some extra code which will suppress certain warnings when you
+ are using Purify with libffi. Only use this switch when using 
+ Purify, as it will slow down the library.
+ It's also possible to build libffi on Windows platforms with
+ Microsoft's Visual C++ compiler.  In this case, use the msvcc.sh
+ wrapper script during configuration like so:
+ path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
+ For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
+ You may also need to specify --build appropriately. When building with MSVC
+ under a MingW environment, you may need to remove the line in configure
+ that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
+ present in MingW, and is not required when using MingW-style paths.)
+ Configure has many other options. Use "configure --help" to see them all.
+ Once configure has finished, type "make". Note that you must be using
+ GNU make.  You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
+ To ensure that libffi is working as advertised, type "make check".
+ This will require that you have DejaGNU installed.
+ To install the library and header files, type "make install".
+ History
+ =======
+ See the ChangeLog files for details.
+ 3.0.10 ???-??-??
++      Fix the N64 build on mips-sgi-irix6.5.
+       Testsuite fixes for Tru64 Unix.
+       Enable builds with Microsoft's compiler.
+       Enable x86 builds with Sun's compiler.
++3.0.10 ???-??-??
++        Fix the N64 build on mips-sgi-irix6.5.
++      Testsuite fixes for Tru64 Unix.
++
+ 3.0.9 Dec-31-09
+         Add AVR32 and win64 ports.  Add ARM softfp support.
+       Many fixes for AIX, Solaris, HP-UX, *BSD.
+       Several PowerPC and x86-64 bug fixes.
+       Build DLL for windows.
+ 3.0.8 Dec-19-08
+         Add *BSD, BeOS, and PA-Linux support.
+ 3.0.7 Nov-11-08
+         Fix for ppc FreeBSD.
+       (thanks to Andreas Tobler)
+ 3.0.6 Jul-17-08
+         Fix for closures on sh.
+       Mark the sh/sh64 stack as non-executable.
+       (both thanks to Kaz Kojima)
+ 3.0.5 Apr-3-08
+         Fix libffi.pc file.
+       Fix #define ARM for IcedTea users.
+       Fix x86 closure bug.
+ 3.0.4 Feb-24-08
+         Fix x86 OpenBSD configury.
+ 3.0.3 Feb-22-08
+         Enable x86 OpenBSD thanks to Thomas Heller, and
+       x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
+       Clean up test instruction in README.
+ 3.0.2 Feb-21-08
+         Improved x86 FreeBSD support.
+       Thanks to Björn König.
+ 3.0.1 Feb-15-08
+         Fix instruction cache flushing bug on MIPS.
+       Thanks to David Daney.
+ 3.0.0 Feb-15-08
+         Many changes, mostly thanks to the GCC project.
+       Cygnus Solutions is now Red Hat.
+   [10 years go by...]
+ 1.20 Oct-5-98
+       Raffaele Sena produces ARM port.
+ 1.19 Oct-5-98
+       Fixed x86 long double and long long return support.
+       m68k bug fixes from Andreas Schwab.
+       Patch for DU assembler compatibility for the Alpha from Richard
+       Henderson.
+ 1.18 Apr-17-98
+       Bug fixes and MIPS configuration changes.
+ 1.17 Feb-24-98
+       Bug fixes and m68k port from Andreas Schwab. PowerPC port from
+       Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
+ 1.16 Feb-11-98
+       Richard Henderson produces Alpha port.
+ 1.15 Dec-4-97
+       Fixed an n32 ABI bug. New libtool, auto* support.
+ 1.14 May-13-97
+       libtool is now used to generate shared and static libraries.
+       Fixed a minor portability problem reported by Russ McManus
+       <mcmanr@eq.gs.com>.
+ 1.13 Dec-2-96
+       Added --enable-purify-safety to keep Purify from complaining
+       about certain low level code.
+       Sparc fix for calling functions with < 6 args.
+       Linux x86 a.out fix.
+ 1.12 Nov-22-96
+       Added missing ffi_type_void, needed for supporting void return 
+       types. Fixed test case for non MIPS machines. Cygnus Support 
+       is now Cygnus Solutions. 
+ 1.11 Oct-30-96
+       Added notes about GNU make.
+ 1.10 Oct-29-96
+       Added configuration fix for non GNU compilers.
+ 1.09 Oct-29-96
+       Added --enable-debug configure switch. Clean-ups based on LCLint 
+       feedback. ffi_mips.h is always installed. Many configuration 
+       fixes. Fixed ffitest.c for sparc builds.
+ 1.08 Oct-15-96
+       Fixed n32 problem. Many clean-ups.
+ 1.07 Oct-14-96
+       Gordon Irlam rewrites v8.S again. Bug fixes.
+ 1.06 Oct-14-96
+       Gordon Irlam improved the sparc port. 
+ 1.05 Oct-14-96
+       Interface changes based on feedback.
+ 1.04 Oct-11-96
+       Sparc port complete (modulo struct passing bug).
+ 1.03 Oct-10-96
+       Passing struct args, and returning struct values works for
+       all architectures/calling conventions. Expanded tests.
+ 1.02 Oct-9-96
+       Added SGI n32 support. Fixed bugs in both o32 and Linux support.
+       Added "make test".
+ 1.01 Oct-8-96
+       Fixed float passing bug in mips version. Restructured some
+       of the code. Builds cleanly with SGI tools.
+ 1.00 Oct-7-96
+       First release. No public announcement.
+ Authors & Credits
+ =================
+ libffi was originally written by Anthony Green <green@redhat.com>.
+ The developers of the GNU Compiler Collection project have made
+ innumerable valuable contributions.  See the ChangeLog file for
+ details.
+ Some of the ideas behind libffi were inspired by Gianni Mariani's free
+ gencall library for Silicon Graphics machines.
+ The closure mechanism was designed and implemented by Kresten Krab
+ Thorup.
+ Major processor architecture ports were contributed by the following
+ developers:
+ alpha         Richard Henderson
+ arm           Raffaele Sena
+ cris          Simon Posnjak, Hans-Peter Nilsson
+ frv           Anthony Green
+ ia64          Hans Boehm
+ m32r          Kazuhiro Inaoka
+ m68k          Andreas Schwab
+ mips          Anthony Green, Casey Marshall
+ mips64                David Daney
+ pa            Randolph Chung, Dave Anglin, Andreas Tobler
+ powerpc               Geoffrey Keating, Andreas Tobler, 
+                        David Edelsohn, John Hornkvist
+ powerpc64     Jakub Jelinek
+ s390          Gerhard Tonn, Ulrich Weigand
+ sh            Kaz Kojima
+ sh64          Kaz Kojima
+ sparc         Anthony Green, Gordon Irlam
+ x86           Anthony Green, Jon Beniston
+ x86-64                Bo Thorsen
+ Jesper Skov and Andrew Haley both did more than their fair share of
+ stepping through the code and tracking down bugs.
+ Thanks also to Tom Tromey for bug fixes, documentation and
+ configuration help.
+ Thanks to Jim Blandy, who provided some useful feedback on the libffi
+ interface.
+ Andreas Tobler has done a tremendous amount of work on the testsuite.
+ Alex Oliva solved the executable page problem for SElinux.
+ The list above is almost certainly incomplete and inaccurate.  I'm
+ happy to make corrections or additions upon request.
+ If you have a problem, or have found a bug, please send a note to
+ green@redhat.com.
index 0000000,3e8f8ba..3e8f8ba
mode 000000,100644..100644
--- /dev/null
index 0000000,0000000..52765c1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1859 @@@
++# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
++
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
++# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++m4_ifndef([AC_AUTOCONF_VERSION],
++  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
++[m4_warning([this file was generated for autoconf 2.63.
++You have another version of autoconf.  It may work, but is not guaranteed to.
++If you have problems, you may need to regenerate the build system entirely.
++To do so, use the procedure documented by the package, typically `autoreconf'.])])
++
++# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
++#
++#   Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc.
++#   Written by Thomas Tanner, 1999
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 17 LTDL_INIT
++
++# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
++# ------------------------------------------
++# DIRECTORY contains the libltdl sources.  It is okay to call this
++# function multiple times, as long as the same DIRECTORY is always given.
++AC_DEFUN([LT_CONFIG_LTDL_DIR],
++[AC_BEFORE([$0], [LTDL_INIT])
++_$0($*)
++])# LT_CONFIG_LTDL_DIR
++
++# We break this out into a separate macro, so that we can call it safely
++# internally without being caught accidentally by the sed scan in libtoolize.
++m4_defun([_LT_CONFIG_LTDL_DIR],
++[dnl remove trailing slashes
++m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
++m4_case(_LTDL_DIR,
++      [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.'
++           m4_if(_ARG_DIR, [.],
++                   [],
++               [m4_define([_LTDL_DIR], _ARG_DIR)
++                _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])],
++    [m4_if(_ARG_DIR, _LTDL_DIR,
++          [],
++      [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])])
++m4_popdef([_ARG_DIR])
++])# _LT_CONFIG_LTDL_DIR
++
++# Initialise:
++m4_define([_LTDL_DIR], [])
++
++
++# _LT_BUILD_PREFIX
++# ----------------
++# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
++# to `${top_builddir}/'.
++m4_define([_LT_BUILD_PREFIX],
++[m4_ifdef([AC_AUTOCONF_VERSION],
++   [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
++        [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
++                        [${top_build_prefix}],
++                        [${top_builddir}/])],
++        [${top_build_prefix}])],
++   [${top_builddir}/])[]dnl
++])
++
++
++# LTDL_CONVENIENCE
++# ----------------
++# sets LIBLTDL to the link flags for the libltdl convenience library and
++# LTDLINCL to the include flags for the libltdl header and adds
++# --enable-ltdl-convenience to the configure arguments.  Note that
++# AC_CONFIG_SUBDIRS is not called here.  LIBLTDL will be prefixed with
++# '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
++# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
++# quotes!).  If your package is not flat and you're not using automake,
++# define top_build_prefix, top_builddir, and top_srcdir appropriately
++# in your Makefiles.
++AC_DEFUN([LTDL_CONVENIENCE],
++[AC_BEFORE([$0], [LTDL_INIT])dnl
++dnl Although the argument is deprecated and no longer documented,
++dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
++dnl here make sure it is the same as any other declaration of libltdl's
++dnl location!  This also ensures lt_ltdl_dir is set when configure.ac is
++dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
++m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
++_$0()
++])# LTDL_CONVENIENCE
++
++# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools,
++# now we have LT_CONFIG_LTDL_DIR:
++AU_DEFUN([AC_LIBLTDL_CONVENIENCE],
++[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
++_LTDL_CONVENIENCE])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [])
++
++
++# _LTDL_CONVENIENCE
++# -----------------
++# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]).
++m4_defun([_LTDL_CONVENIENCE],
++[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='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
++LTDLDEPS=$LIBLTDL
++LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
++
++AC_SUBST([LIBLTDL])
++AC_SUBST([LTDLDEPS])
++AC_SUBST([LTDLINCL])
++
++# For backwards non-gettext consistent compatibility...
++INCLTDL="$LTDLINCL"
++AC_SUBST([INCLTDL])
++])# _LTDL_CONVENIENCE
++
++
++# LTDL_INSTALLABLE
++# ----------------
++# sets LIBLTDL to the link flags for the libltdl installable library
++# and LTDLINCL to the include flags for the libltdl header and adds
++# --enable-ltdl-install to the configure arguments.  Note that
++# AC_CONFIG_SUBDIRS is not called from here.  If an installed libltdl
++# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
++# available, otherwise with '${top_builddir}/', and LTDLINCL will be
++# prefixed with '${top_srcdir}/' (note the single quotes!).  If your
++# package is not flat and you're not using automake, define top_build_prefix,
++# top_builddir, and top_srcdir appropriately in your Makefiles.
++# In the future, this macro may have to be called after LT_INIT.
++AC_DEFUN([LTDL_INSTALLABLE],
++[AC_BEFORE([$0], [LTDL_INIT])dnl
++dnl Although the argument is deprecated and no longer documented,
++dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
++dnl here make sure it is the same as any other declaration of libltdl's
++dnl location!  This also ensures lt_ltdl_dir is set when configure.ac is
++dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
++m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
++_$0()
++])# LTDL_INSTALLABLE
++
++# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools,
++# now we have LT_CONFIG_LTDL_DIR:
++AU_DEFUN([AC_LIBLTDL_INSTALLABLE],
++[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
++_LTDL_INSTALLABLE])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [])
++
++
++# _LTDL_INSTALLABLE
++# -----------------
++# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]).
++m4_defun([_LTDL_INSTALLABLE],
++[if test -f $prefix/lib/libltdl.la; then
++  lt_save_LDFLAGS="$LDFLAGS"
++  LDFLAGS="-L$prefix/lib $LDFLAGS"
++  AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes])
++  LDFLAGS="$lt_save_LDFLAGS"
++  if test x"${lt_lib_ltdl-no}" = xyes; then
++    if test x"$enable_ltdl_install" != xyes; then
++      # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install
++      AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install'])
++      enable_ltdl_install=no
++    fi
++  elif test x"$enable_ltdl_install" = xno; then
++    AC_MSG_WARN([libltdl not installed, but installation disabled])
++  fi
++fi
++
++# If configure.ac declared an installable ltdl, and the user didn't override
++# with --disable-ltdl-install, we will install the shipped libltdl.
++case $enable_ltdl_install in
++  no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
++      LIBLTDL="-lltdl"
++      LTDLDEPS=
++      LTDLINCL=
++      ;;
++  *)  enable_ltdl_install=yes
++      ac_configure_args="$ac_configure_args --enable-ltdl-install"
++      LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
++      LTDLDEPS=$LIBLTDL
++      LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
++      ;;
++esac
++
++AC_SUBST([LIBLTDL])
++AC_SUBST([LTDLDEPS])
++AC_SUBST([LTDLINCL])
++
++# For backwards non-gettext consistent compatibility...
++INCLTDL="$LTDLINCL"
++AC_SUBST([INCLTDL])
++])# LTDL_INSTALLABLE
++
++
++# _LTDL_MODE_DISPATCH
++# -------------------
++m4_define([_LTDL_MODE_DISPATCH],
++[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself:
++m4_if(_LTDL_DIR, [],
++      [],
++    dnl if _LTDL_MODE was not set already, the default value is `subproject':
++    [m4_case(m4_default(_LTDL_MODE, [subproject]),
++        [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR)
++                        _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])],
++        [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])],
++        [recursive], [],
++      [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl
++dnl Be careful not to expand twice:
++m4_define([$0], [])
++])# _LTDL_MODE_DISPATCH
++
++
++# _LT_LIBOBJ(MODULE_NAME)
++# -----------------------
++# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead
++# of into LIBOBJS.
++AC_DEFUN([_LT_LIBOBJ], [
++  m4_pattern_allow([^_LT_LIBOBJS$])
++  _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
++])# _LT_LIBOBJS
++
++
++# LTDL_INIT([OPTIONS])
++# --------------------
++# Clients of libltdl can use this macro to allow the installer to
++# choose between a shipped copy of the ltdl sources or a preinstalled
++# version of the library.  If the shipped ltdl sources are not in a
++# subdirectory named libltdl, the directory name must be given by
++# LT_CONFIG_LTDL_DIR.
++AC_DEFUN([LTDL_INIT],
++[dnl Parse OPTIONS
++_LT_SET_OPTIONS([$0], [$1])
++
++dnl We need to keep our own list of libobjs separate from our parent project,
++dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
++dnl we look for our own LIBOBJs.
++m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
++m4_pushdef([AC_LIBSOURCES])
++
++dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
++m4_if(_LTDL_MODE, [],
++        [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
++        m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
++                [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
++
++AC_ARG_WITH([included_ltdl],
++    [AS_HELP_STRING([--with-included-ltdl],
++                    [use the GNU ltdl sources included here])])
++
++if test "x$with_included_ltdl" != xyes; then
++  # We are not being forced to use the included libltdl sources, so
++  # decide whether there is a useful installed version we can use.
++  AC_CHECK_HEADER([ltdl.h],
++      [AC_CHECK_DECL([lt_dlinterface_register],
++         [AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
++             [with_included_ltdl=no],
++             [with_included_ltdl=yes])],
++         [with_included_ltdl=yes],
++         [AC_INCLUDES_DEFAULT
++          #include <ltdl.h>])],
++      [with_included_ltdl=yes],
++      [AC_INCLUDES_DEFAULT]
++  )
++fi
++
++dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
++dnl was called yet, then for old times' sake, we assume libltdl is in an
++dnl eponymous directory:
++AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
++
++AC_ARG_WITH([ltdl_include],
++    [AS_HELP_STRING([--with-ltdl-include=DIR],
++                    [use the ltdl headers installed in DIR])])
++
++if test -n "$with_ltdl_include"; then
++  if test -f "$with_ltdl_include/ltdl.h"; then :
++  else
++    AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
++  fi
++else
++  with_ltdl_include=no
++fi
++
++AC_ARG_WITH([ltdl_lib],
++    [AS_HELP_STRING([--with-ltdl-lib=DIR],
++                    [use the libltdl.la installed in DIR])])
++
++if test -n "$with_ltdl_lib"; then
++  if test -f "$with_ltdl_lib/libltdl.la"; then :
++  else
++    AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
++  fi
++else
++  with_ltdl_lib=no
++fi
++
++case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
++  ,yes,no,no,)
++      m4_case(m4_default(_LTDL_TYPE, [convenience]),
++          [convenience], [_LTDL_CONVENIENCE],
++          [installable], [_LTDL_INSTALLABLE],
++        [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
++      ;;
++  ,no,no,no,)
++      # If the included ltdl is not to be used, then use the
++      # preinstalled libltdl we found.
++      AC_DEFINE([HAVE_LTDL], [1],
++        [Define this if a modern libltdl is already installed])
++      LIBLTDL=-lltdl
++      LTDLDEPS=
++      LTDLINCL=
++      ;;
++  ,no*,no,*)
++      AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
++      ;;
++  *)  with_included_ltdl=no
++      LIBLTDL="-L$with_ltdl_lib -lltdl"
++      LTDLDEPS=
++      LTDLINCL="-I$with_ltdl_include"
++      ;;
++esac
++INCLTDL="$LTDLINCL"
++
++# Report our decision...
++AC_MSG_CHECKING([where to find libltdl headers])
++AC_MSG_RESULT([$LTDLINCL])
++AC_MSG_CHECKING([where to find libltdl library])
++AC_MSG_RESULT([$LIBLTDL])
++
++_LTDL_SETUP
++
++dnl restore autoconf definition.
++m4_popdef([AC_LIBOBJ])
++m4_popdef([AC_LIBSOURCES])
++
++AC_CONFIG_COMMANDS_PRE([
++    _ltdl_libobjs=
++    _ltdl_ltlibobjs=
++    if test -n "$_LT_LIBOBJS"; then
++      # Remove the extension.
++      _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
++      for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
++        _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
++        _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
++      done
++    fi
++    AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
++    AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
++])
++
++# Only expand once:
++m4_define([LTDL_INIT])
++])# LTDL_INIT
++
++# Old names:
++AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
++AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
++AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIB_LTDL], [])
++dnl AC_DEFUN([AC_WITH_LTDL], [])
++dnl AC_DEFUN([LT_WITH_LTDL], [])
++
++
++# _LTDL_SETUP
++# -----------
++# Perform all the checks necessary for compilation of the ltdl objects
++#  -- including compiler checks and header checks.  This is a public
++# interface  mainly for the benefit of libltdl's own configure.ac, most
++# other users should call LTDL_INIT instead.
++AC_DEFUN([_LTDL_SETUP],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
++AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
++AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
++AC_REQUIRE([LT_LIB_DLLOAD])dnl
++AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
++AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
++AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
++AC_REQUIRE([gl_FUNC_ARGZ])dnl
++
++m4_require([_LT_CHECK_OBJDIR])dnl
++m4_require([_LT_HEADER_DLFCN])dnl
++m4_require([_LT_CHECK_DLPREOPEN])dnl
++m4_require([_LT_DECL_SED])dnl
++
++dnl Don't require this, or it will be expanded earlier than the code
++dnl that sets the variables it relies on:
++_LT_ENABLE_INSTALL
++
++dnl _LTDL_MODE specific code must be called at least once:
++_LTDL_MODE_DISPATCH
++
++# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
++# the user used.  This is so that ltdl.h can pick up the parent projects
++# config.h file, The first file in AC_CONFIG_HEADERS must contain the
++# definitions required by ltdl.c.
++# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
++AC_CONFIG_COMMANDS_PRE([dnl
++m4_pattern_allow([^LT_CONFIG_H$])dnl
++m4_ifset([AH_HEADER],
++    [LT_CONFIG_H=AH_HEADER],
++    [m4_ifset([AC_LIST_HEADERS],
++          [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[      ]]*,,;s,[[ :]].*$,,'`],
++      [])])])
++AC_SUBST([LT_CONFIG_H])
++
++AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
++      [], [], [AC_INCLUDES_DEFAULT])
++
++AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
++AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
++
++AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
++
++name=ltdl
++LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
++AC_SUBST([LTDLOPEN])
++])# _LTDL_SETUP
++
++
++# _LT_ENABLE_INSTALL
++# ------------------
++m4_define([_LT_ENABLE_INSTALL],
++[AC_ARG_ENABLE([ltdl-install],
++    [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
++
++case ,${enable_ltdl_install},${enable_ltdl_convenience} in
++  *yes*) ;;
++  *) enable_ltdl_convenience=yes ;;
++esac
++
++m4_ifdef([AM_CONDITIONAL],
++[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
++ AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)])
++])# _LT_ENABLE_INSTALL
++
++
++# LT_SYS_DLOPEN_DEPLIBS
++# ---------------------
++AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
++  [lt_cv_sys_dlopen_deplibs],
++  [# PORTME does your system automatically load deplibs for dlopen?
++  # or its logical equivalent (e.g. shl_load for HP-UX < 11)
++  # For now, we just catch OSes we know something about -- in the
++  # future, we'll try test this programmatically.
++  lt_cv_sys_dlopen_deplibs=unknown
++  case $host_os in
++  aix3*|aix4.1.*|aix4.2.*)
++    # Unknown whether this is true for these versions of AIX, but
++    # we want this `case' here to explicitly catch those versions.
++    lt_cv_sys_dlopen_deplibs=unknown
++    ;;
++  aix[[4-9]]*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  amigaos*)
++    case $host_cpu in
++    powerpc)
++      lt_cv_sys_dlopen_deplibs=no
++      ;;
++    esac
++    ;;
++  darwin*)
++    # Assuming the user has installed a libdl from somewhere, this is true
++    # If you are looking for one http://www.opendarwin.org/projects/dlcompat
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  freebsd* | dragonfly*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  gnu* | linux* | k*bsd*-gnu)
++    # GNU and its variants, using gnu ld.so (Glibc)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  hpux10*|hpux11*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  interix*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  irix[[12345]]*|irix6.[[01]]*)
++    # Catch all versions of IRIX before 6.2, and indicate that we don't
++    # know how it worked for any of those versions.
++    lt_cv_sys_dlopen_deplibs=unknown
++    ;;
++  irix*)
++    # The case above catches anything before 6.2, and it's known that
++    # at 6.2 and later dlopen does load deplibs.
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  netbsd*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  openbsd*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  osf[[1234]]*)
++    # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
++    # it did *not* use an RPATH in a shared library to find objects the
++    # library depends on, so we explicitly say `no'.
++    lt_cv_sys_dlopen_deplibs=no
++    ;;
++  osf5.0|osf5.0a|osf5.1)
++    # dlopen *does* load deplibs and with the right loader patch applied
++    # it even uses RPATH in a shared library to search for shared objects
++    # that the library depends on, but there's no easy way to know if that
++    # patch is installed.  Since this is the case, all we can really
++    # say is unknown -- it depends on the patch being installed.  If
++    # it is, this changes to `yes'.  Without it, it would be `no'.
++    lt_cv_sys_dlopen_deplibs=unknown
++    ;;
++  osf*)
++    # the two cases above should catch all versions of osf <= 5.1.  Read
++    # the comments above for what we know about them.
++    # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
++    # is used to find them so we can finally say `yes'.
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  qnx*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  solaris*)
++    lt_cv_sys_dlopen_deplibs=yes
++    ;;
++  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++    libltdl_cv_sys_dlopen_deplibs=yes
++    ;;
++  esac
++  ])
++if test "$lt_cv_sys_dlopen_deplibs" != yes; then
++ AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
++    [Define if the OS needs help to load dependent libraries for dlopen().])
++fi
++])# LT_SYS_DLOPEN_DEPLIBS
++
++# Old name:
++AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [])
++
++
++# LT_SYS_MODULE_EXT
++# -----------------
++AC_DEFUN([LT_SYS_MODULE_EXT],
++[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
++AC_CACHE_CHECK([which extension is used for runtime loadable modules],
++  [libltdl_cv_shlibext],
++[
++module=yes
++eval libltdl_cv_shlibext=$shrext_cmds
++  ])
++if test -n "$libltdl_cv_shlibext"; then
++  m4_pattern_allow([LT_MODULE_EXT])dnl
++  AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
++    [Define to the extension used for runtime loadable modules, say, ".so".])
++fi
++])# LT_SYS_MODULE_EXT
++
++# Old name:
++AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_SHLIBEXT], [])
++
++
++# LT_SYS_MODULE_PATH
++# ------------------
++AC_DEFUN([LT_SYS_MODULE_PATH],
++[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
++AC_CACHE_CHECK([which variable specifies run-time module search path],
++  [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
++if test -n "$lt_cv_module_path_var"; then
++  m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
++  AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
++    [Define to the name of the environment variable that determines the run-time module search path.])
++fi
++])# LT_SYS_MODULE_PATH
++
++# Old name:
++AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_SHLIBPATH], [])
++
++
++# LT_SYS_DLSEARCH_PATH
++# --------------------
++AC_DEFUN([LT_SYS_DLSEARCH_PATH],
++[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
++AC_CACHE_CHECK([for the default library search path],
++  [lt_cv_sys_dlsearch_path],
++  [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
++if test -n "$lt_cv_sys_dlsearch_path"; then
++  sys_dlsearch_path=
++  for dir in $lt_cv_sys_dlsearch_path; do
++    if test -z "$sys_dlsearch_path"; then
++      sys_dlsearch_path="$dir"
++    else
++      sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
++    fi
++  done
++  m4_pattern_allow([LT_DLSEARCH_PATH])dnl
++  AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
++    [Define to the system default library search path.])
++fi
++])# LT_SYS_DLSEARCH_PATH
++
++# Old name:
++AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [])
++
++
++# _LT_CHECK_DLPREOPEN
++# -------------------
++m4_defun([_LT_CHECK_DLPREOPEN],
++[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
++  [libltdl_cv_preloaded_symbols],
++  [if test -n "$lt_cv_sys_global_symbol_pipe"; then
++    libltdl_cv_preloaded_symbols=yes
++  else
++    libltdl_cv_preloaded_symbols=no
++  fi
++  ])
++if test x"$libltdl_cv_preloaded_symbols" = xyes; then
++  AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
++    [Define if libtool can extract symbol lists from object files.])
++fi
++])# _LT_CHECK_DLPREOPEN
++
++
++# LT_LIB_DLLOAD
++# -------------
++AC_DEFUN([LT_LIB_DLLOAD],
++[m4_pattern_allow([^LT_DLLOADERS$])
++LT_DLLOADERS=
++AC_SUBST([LT_DLLOADERS])
++
++AC_LANG_PUSH([C])
++
++LIBADD_DLOPEN=
++AC_SEARCH_LIBS([dlopen], [dl],
++      [AC_DEFINE([HAVE_LIBDL], [1],
++                 [Define if you have the libdl library or equivalent.])
++      if test "$ac_cv_search_dlopen" != "none required" ; then
++        LIBADD_DLOPEN="-ldl"
++      fi
++      libltdl_cv_lib_dl_dlopen="yes"
++      LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
++    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
++#  include <dlfcn.h>
++#endif
++    ]], [[dlopen(0, 0);]])],
++          [AC_DEFINE([HAVE_LIBDL], [1],
++                     [Define if you have the libdl library or equivalent.])
++          libltdl_cv_func_dlopen="yes"
++          LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
++      [AC_CHECK_LIB([svld], [dlopen],
++              [AC_DEFINE([HAVE_LIBDL], [1],
++                       [Define if you have the libdl library or equivalent.])
++              LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
++              LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
++if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
++then
++  lt_save_LIBS="$LIBS"
++  LIBS="$LIBS $LIBADD_DLOPEN"
++  AC_CHECK_FUNCS([dlerror])
++  LIBS="$lt_save_LIBS"
++fi
++AC_SUBST([LIBADD_DLOPEN])
++
++LIBADD_SHL_LOAD=
++AC_CHECK_FUNC([shl_load],
++      [AC_DEFINE([HAVE_SHL_LOAD], [1],
++                 [Define if you have the shl_load function.])
++      LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
++    [AC_CHECK_LIB([dld], [shl_load],
++          [AC_DEFINE([HAVE_SHL_LOAD], [1],
++                     [Define if you have the shl_load function.])
++          LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
++          LIBADD_SHL_LOAD="-ldld"])])
++AC_SUBST([LIBADD_SHL_LOAD])
++
++case $host_os in
++darwin[[1567]].*)
++# We only want this for pre-Mac OS X 10.4.
++  AC_CHECK_FUNC([_dyld_func_lookup],
++      [AC_DEFINE([HAVE_DYLD], [1],
++                 [Define if you have the _dyld_func_lookup function.])
++      LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
++  ;;
++beos*)
++  LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
++  ;;
++cygwin* | mingw* | os2* | pw32*)
++  AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
++  LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
++  ;;
++esac
++
++AC_CHECK_LIB([dld], [dld_link],
++      [AC_DEFINE([HAVE_DLD], [1],
++                 [Define if you have the GNU dld library.])
++              LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
++AC_SUBST([LIBADD_DLD_LINK])
++
++m4_pattern_allow([^LT_DLPREOPEN$])
++LT_DLPREOPEN=
++if test -n "$LT_DLLOADERS"
++then
++  for lt_loader in $LT_DLLOADERS; do
++    LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
++  done
++  AC_DEFINE([HAVE_LIBDLLOADER], [1],
++            [Define if libdlloader will be built on this platform])
++fi
++AC_SUBST([LT_DLPREOPEN])
++
++dnl This isn't used anymore, but set it for backwards compatibility
++LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
++AC_SUBST([LIBADD_DL])
++
++AC_LANG_POP
++])# LT_LIB_DLLOAD
++
++# Old name:
++AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_DLLIB], [])
++
++
++# LT_SYS_SYMBOL_USCORE
++# --------------------
++# does the compiler prefix global symbols with an underscore?
++AC_DEFUN([LT_SYS_SYMBOL_USCORE],
++[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++AC_CACHE_CHECK([for _ prefix in compiled symbols],
++  [lt_cv_sys_symbol_underscore],
++  [lt_cv_sys_symbol_underscore=no
++  cat > conftest.$ac_ext <<_LT_EOF
++void nm_test_func(){}
++int main(){nm_test_func;return 0;}
++_LT_EOF
++  if AC_TRY_EVAL(ac_compile); then
++    # Now try to grab the symbols.
++    ac_nlist=conftest.nm
++    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
++      # See whether the symbols have a leading underscore.
++      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
++        lt_cv_sys_symbol_underscore=yes
++      else
++        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
++        :
++        else
++        echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
++        fi
++      fi
++    else
++      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
++    fi
++  else
++    echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
++    cat conftest.c >&AS_MESSAGE_LOG_FD
++  fi
++  rm -rf conftest*
++  ])
++  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
++  AC_SUBST([sys_symbol_underscore])
++])# LT_SYS_SYMBOL_USCORE
++
++# Old name:
++AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
++
++
++# LT_FUNC_DLSYM_USCORE
++# --------------------
++AC_DEFUN([LT_FUNC_DLSYM_USCORE],
++[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
++if test x"$lt_cv_sys_symbol_underscore" = xyes; then
++  if test x"$libltdl_cv_func_dlopen" = xyes ||
++     test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
++      AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
++        [libltdl_cv_need_uscore],
++        [libltdl_cv_need_uscore=unknown
++          save_LIBS="$LIBS"
++          LIBS="$LIBS $LIBADD_DLOPEN"
++        _LT_TRY_DLOPEN_SELF(
++          [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
++          [],                          [libltdl_cv_need_uscore=cross])
++        LIBS="$save_LIBS"
++      ])
++  fi
++fi
++
++if test x"$libltdl_cv_need_uscore" = xyes; then
++  AC_DEFINE([NEED_USCORE], [1],
++    [Define if dlsym() requires a leading underscore in symbol names.])
++fi
++])# LT_FUNC_DLSYM_USCORE
++
++# Old name:
++AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
++
++# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_AUTOMAKE_VERSION(VERSION)
++# ----------------------------
++# Automake X.Y traces this macro to ensure aclocal.m4 has been
++# generated from the m4 files accompanying Automake X.Y.
++# (This private macro should not be called outside this file.)
++AC_DEFUN([AM_AUTOMAKE_VERSION],
++[am__api_version='1.11'
++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
++dnl require some minimum version.  Point them to the right macro.
++m4_if([$1], [1.11.1], [],
++      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
++])
++
++# _AM_AUTOCONF_VERSION(VERSION)
++# -----------------------------
++# aclocal traces this macro to find the Autoconf version.
++# This is a private macro too.  Using m4_define simplifies
++# the logic in aclocal, which can simply ignore this definition.
++m4_define([_AM_AUTOCONF_VERSION], [])
++
++# AM_SET_CURRENT_AUTOMAKE_VERSION
++# -------------------------------
++# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
++# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
++AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
++[AM_AUTOMAKE_VERSION([1.11.1])dnl
++m4_ifndef([AC_AUTOCONF_VERSION],
++  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
++
++# Figure out how to run the assembler.                      -*- Autoconf -*-
++
++# Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 5
++
++# AM_PROG_AS
++# ----------
++AC_DEFUN([AM_PROG_AS],
++[# By default we simply use the C compiler to build assembly code.
++AC_REQUIRE([AC_PROG_CC])
++test "${CCAS+set}" = set || CCAS=$CC
++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
++AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
++AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
++_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
++])
++
++# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
++
++# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
++# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
++# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
++#
++# Of course, Automake must honor this variable whenever it calls a
++# tool from the auxiliary directory.  The problem is that $srcdir (and
++# therefore $ac_aux_dir as well) can be either absolute or relative,
++# depending on how configure is run.  This is pretty annoying, since
++# it makes $ac_aux_dir quite unusable in subdirectories: in the top
++# source directory, any form will work fine, but in subdirectories a
++# relative path needs to be adjusted first.
++#
++# $ac_aux_dir/missing
++#    fails when called from a subdirectory if $ac_aux_dir is relative
++# $top_srcdir/$ac_aux_dir/missing
++#    fails if $ac_aux_dir is absolute,
++#    fails when called from a subdirectory in a VPATH build with
++#          a relative $ac_aux_dir
++#
++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
++# are both prefixed by $srcdir.  In an in-source build this is usually
++# harmless because $srcdir is `.', but things will broke when you
++# start a VPATH build or use an absolute $srcdir.
++#
++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
++# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
++#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
++# and then we would define $MISSING as
++#   MISSING="\${SHELL} $am_aux_dir/missing"
++# This will work as long as MISSING is not called from configure, because
++# unfortunately $(top_srcdir) has no meaning in configure.
++# However there are other variables, like CC, which are often used in
++# configure, and could therefore not use this "fixed" $ac_aux_dir.
++#
++# Another solution, used here, is to always expand $ac_aux_dir to an
++# absolute PATH.  The drawback is that using absolute paths prevent a
++# configured tree to be moved without reconfiguration.
++
++AC_DEFUN([AM_AUX_DIR_EXPAND],
++[dnl Rely on autoconf to set up CDPATH properly.
++AC_PREREQ([2.50])dnl
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++])
++
++# AM_CONDITIONAL                                            -*- Autoconf -*-
++
++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 9
++
++# AM_CONDITIONAL(NAME, SHELL-CONDITION)
++# -------------------------------------
++# Define a conditional.
++AC_DEFUN([AM_CONDITIONAL],
++[AC_PREREQ(2.52)dnl
++ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
++      [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
++AC_SUBST([$1_TRUE])dnl
++AC_SUBST([$1_FALSE])dnl
++_AM_SUBST_NOTMAKE([$1_TRUE])dnl
++_AM_SUBST_NOTMAKE([$1_FALSE])dnl
++m4_define([_AM_COND_VALUE_$1], [$2])dnl
++if $2; then
++  $1_TRUE=
++  $1_FALSE='#'
++else
++  $1_TRUE='#'
++  $1_FALSE=
++fi
++AC_CONFIG_COMMANDS_PRE(
++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
++  AC_MSG_ERROR([[conditional "$1" was never defined.
++Usually this means the macro was only invoked conditionally.]])
++fi])])
++
++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 10
++
++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
++# written in clear, in which case automake, when reading aclocal.m4,
++# will think it sees a *use*, and therefore will trigger all it's
++# C support machinery.  Also note that it means that autoscan, seeing
++# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
++
++
++# _AM_DEPENDENCIES(NAME)
++# ----------------------
++# See how the compiler implements dependency checking.
++# NAME is "CC", "CXX", "GCJ", or "OBJC".
++# We try a few techniques and use that to set a single cache variable.
++#
++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
++# dependency, and given that the user is not expected to run this macro,
++# just rely on AC_PROG_CC.
++AC_DEFUN([_AM_DEPENDENCIES],
++[AC_REQUIRE([AM_SET_DEPDIR])dnl
++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
++AC_REQUIRE([AM_MAKE_INCLUDE])dnl
++AC_REQUIRE([AM_DEP_TRACK])dnl
++
++ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
++       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
++       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
++       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
++       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
++                   [depcc="$$1"   am_compiler_list=])
++
++AC_CACHE_CHECK([dependency style of $depcc],
++               [am_cv_$1_dependencies_compiler_type],
++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named `D' -- because `-MD' means `put the output
++  # in D'.
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_$1_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
++  fi
++  am__universal=false
++  m4_case([$1], [CC],
++    [case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac],
++    [CXX],
++    [case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac])
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++      # Solaris 8's {/usr,}/bin/sh.
++      touch sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with `-c' and `-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle `-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # after this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested
++      if test "x$enable_dependency_tracking" = xyes; then
++      continue
++      else
++      break
++      fi
++      ;;
++    msvisualcpp | msvcmsys)
++      # This compiler won't grok `-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_$1_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_$1_dependencies_compiler_type=none
++fi
++])
++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
++AM_CONDITIONAL([am__fastdep$1], [
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
++])
++
++
++# AM_SET_DEPDIR
++# -------------
++# Choose a directory name for dependency files.
++# This macro is AC_REQUIREd in _AM_DEPENDENCIES
++AC_DEFUN([AM_SET_DEPDIR],
++[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
++])
++
++
++# AM_DEP_TRACK
++# ------------
++AC_DEFUN([AM_DEP_TRACK],
++[AC_ARG_ENABLE(dependency-tracking,
++[  --disable-dependency-tracking  speeds up one-time build
++  --enable-dependency-tracking   do not reject slow dependency extractors])
++if test "x$enable_dependency_tracking" != xno; then
++  am_depcomp="$ac_aux_dir/depcomp"
++  AMDEPBACKSLASH='\'
++fi
++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
++AC_SUBST([AMDEPBACKSLASH])dnl
++_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
++])
++
++# Generate code to set up dependency tracking.              -*- Autoconf -*-
++
++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++#serial 5
++
++# _AM_OUTPUT_DEPENDENCY_COMMANDS
++# ------------------------------
++AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
++[{
++  # Autoconf 2.62 quotes --file arguments for eval, but not when files
++  # are listed without --file.  Let's play safe and only enable the eval
++  # if we detect the quoting.
++  case $CONFIG_FILES in
++  *\'*) eval set x "$CONFIG_FILES" ;;
++  *)   set x $CONFIG_FILES ;;
++  esac
++  shift
++  for mf
++  do
++    # Strip MF so we end up with the name of the file.
++    mf=`echo "$mf" | sed -e 's/:.*$//'`
++    # Check whether this is an Automake generated Makefile or not.
++    # We used to match only the files named `Makefile.in', but
++    # some people rename them; so instead we look at the file content.
++    # Grep'ing the first line is not enough: some people post-process
++    # each Makefile.in and add a new line on top of each file to say so.
++    # Grep'ing the whole file is not good either: AIX grep has a line
++    # limit of 2048, but all sed's we know have understand at least 4000.
++    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++      dirpart=`AS_DIRNAME("$mf")`
++    else
++      continue
++    fi
++    # Extract the definition of DEPDIR, am__include, and am__quote
++    # from the Makefile without running `make'.
++    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++    test -z "$DEPDIR" && continue
++    am__include=`sed -n 's/^am__include = //p' < "$mf"`
++    test -z "am__include" && continue
++    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++    # When using ansi2knr, U may be empty or an underscore; expand it
++    U=`sed -n 's/^U = //p' < "$mf"`
++    # Find all dependency output files, they are included files with
++    # $(DEPDIR) in their names.  We invoke sed twice because it is the
++    # simplest approach to changing $(DEPDIR) to its actual value in the
++    # expansion.
++    for file in `sed -n "
++      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++      # Make sure the directory exists.
++      test -f "$dirpart/$file" && continue
++      fdir=`AS_DIRNAME(["$file"])`
++      AS_MKDIR_P([$dirpart/$fdir])
++      # echo "creating $dirpart/$file"
++      echo '# dummy' > "$dirpart/$file"
++    done
++  done
++}
++])# _AM_OUTPUT_DEPENDENCY_COMMANDS
++
++
++# AM_OUTPUT_DEPENDENCY_COMMANDS
++# -----------------------------
++# This macro should only be invoked once -- use via AC_REQUIRE.
++#
++# This code is only required when automatic dependency tracking
++# is enabled.  FIXME.  This creates each `.P' file that we will
++# need in order to bootstrap the dependency handling code.
++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
++[AC_CONFIG_COMMANDS([depfiles],
++     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
++     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
++])
++
++# Do all the work for Automake.                             -*- Autoconf -*-
++
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
++# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 16
++
++# This macro actually does too much.  Some checks are only needed if
++# your package does certain things.  But this isn't really a big deal.
++
++# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
++# AM_INIT_AUTOMAKE([OPTIONS])
++# -----------------------------------------------
++# The call with PACKAGE and VERSION arguments is the old style
++# call (pre autoconf-2.50), which is being phased out.  PACKAGE
++# and VERSION should now be passed to AC_INIT and removed from
++# the call to AM_INIT_AUTOMAKE.
++# We support both call styles for the transition.  After
++# the next Automake release, Autoconf can make the AC_INIT
++# arguments mandatory, and then we can depend on a new Autoconf
++# release and drop the old call support.
++AC_DEFUN([AM_INIT_AUTOMAKE],
++[AC_PREREQ([2.62])dnl
++dnl Autoconf wants to disallow AM_ names.  We explicitly allow
++dnl the ones we care about.
++m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
++AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
++AC_REQUIRE([AC_PROG_INSTALL])dnl
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++  # is not polluted with repeated "-I."
++  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
++  # test to see if srcdir already configured
++  if test -f $srcdir/config.status; then
++    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
++  fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++  if (cygpath --version) >/dev/null 2>/dev/null; then
++    CYGPATH_W='cygpath -w'
++  else
++    CYGPATH_W=echo
++  fi
++fi
++AC_SUBST([CYGPATH_W])
++
++# Define the identity of the package.
++dnl Distinguish between old-style and new-style calls.
++m4_ifval([$2],
++[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
++ AC_SUBST([PACKAGE], [$1])dnl
++ AC_SUBST([VERSION], [$2])],
++[_AM_SET_OPTIONS([$1])dnl
++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
++m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
++  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
++ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
++ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
++
++_AM_IF_OPTION([no-define],,
++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
++ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
++
++# Some tools Automake needs.
++AC_REQUIRE([AM_SANITY_CHECK])dnl
++AC_REQUIRE([AC_ARG_PROGRAM])dnl
++AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
++AM_MISSING_PROG(AUTOCONF, autoconf)
++AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
++AM_MISSING_PROG(AUTOHEADER, autoheader)
++AM_MISSING_PROG(MAKEINFO, makeinfo)
++AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
++AC_REQUIRE([AM_PROG_MKDIR_P])dnl
++# We need awk for the "check" target.  The system "awk" is bad on
++# some platforms.
++AC_REQUIRE([AC_PROG_AWK])dnl
++AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
++            [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++                           [_AM_PROG_TAR([v7])])])
++_AM_IF_OPTION([no-dependencies],,
++[AC_PROVIDE_IFELSE([AC_PROG_CC],
++                [_AM_DEPENDENCIES(CC)],
++                [define([AC_PROG_CC],
++                        defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_CXX],
++                [_AM_DEPENDENCIES(CXX)],
++                [define([AC_PROG_CXX],
++                        defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJC],
++                [_AM_DEPENDENCIES(OBJC)],
++                [define([AC_PROG_OBJC],
++                        defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
++])
++_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
++dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
++dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
++dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
++AC_CONFIG_COMMANDS_PRE(dnl
++[m4_provide_if([_AM_COMPILER_EXEEXT],
++  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
++])
++
++dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
++dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
++dnl mangled by Autoconf and run in a shell conditional statement.
++m4_define([_AC_COMPILER_EXEEXT],
++m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
++
++
++# When config.status generates a header, we must update the stamp-h file.
++# This file resides in the same directory as the config header
++# that is generated.  The stamp files are numbered to have different names.
++
++# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
++# loop where config.status creates the headers, so we can generate
++# our stamp files there.
++AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
++[# Compute $1's index in $config_headers.
++_am_arg=$1
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++  case $_am_header in
++    $_am_arg | $_am_arg:* )
++      break ;;
++    * )
++      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++  esac
++done
++echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
++
++# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_PROG_INSTALL_SH
++# ------------------
++# Define $install_sh.
++AC_DEFUN([AM_PROG_INSTALL_SH],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++if test x"${install_sh}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\   *)
++    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++  *)
++    install_sh="\${SHELL} $am_aux_dir/install-sh"
++  esac
++fi
++AC_SUBST(install_sh)])
++
++# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 2
++
++# Check whether the underlying file-system supports filenames
++# with a leading dot.  For instance MS-DOS doesn't.
++AC_DEFUN([AM_SET_LEADING_DOT],
++[rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++  am__leading_dot=.
++else
++  am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++AC_SUBST([am__leading_dot])])
++
++# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
++# From Jim Meyering
++
++# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 5
++
++# AM_MAINTAINER_MODE([DEFAULT-MODE])
++# ----------------------------------
++# Control maintainer-specific portions of Makefiles.
++# Default is to disable them, unless `enable' is passed literally.
++# For symmetry, `disable' may be passed as well.  Anyway, the user
++# can override the default with the --enable/--disable switch.
++AC_DEFUN([AM_MAINTAINER_MODE],
++[m4_case(m4_default([$1], [disable]),
++       [enable], [m4_define([am_maintainer_other], [disable])],
++       [disable], [m4_define([am_maintainer_other], [enable])],
++       [m4_define([am_maintainer_other], [enable])
++        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
++AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
++  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
++  AC_ARG_ENABLE([maintainer-mode],
++[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
++                        (and sometimes confusing) to the casual installer],
++      [USE_MAINTAINER_MODE=$enableval],
++      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
++  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
++  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
++  MAINT=$MAINTAINER_MODE_TRUE
++  AC_SUBST([MAINT])dnl
++]
++)
++
++AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
++
++# Check to see how 'make' treats includes.                -*- Autoconf -*-
++
++# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 4
++
++# AM_MAKE_INCLUDE()
++# -----------------
++# Check to see how make treats includes.
++AC_DEFUN([AM_MAKE_INCLUDE],
++[am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++      @echo this is the am__doit target
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++AC_MSG_CHECKING([for style of include used by $am_make])
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from `make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++  am__include=include
++  am__quote=
++  _am_result=GNU
++  ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++   echo '.include "confinc"' > confmf
++   case `$am_make -s -f confmf 2> /dev/null` in #(
++   *the\ am__doit\ target*)
++     am__include=.include
++     am__quote="\""
++     _am_result=BSD
++     ;;
++   esac
++fi
++AC_SUBST([am__include])
++AC_SUBST([am__quote])
++AC_MSG_RESULT([$_am_result])
++rm -f confinc confmf
++])
++
++# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 6
++
++# AM_PROG_CC_C_O
++# --------------
++# Like AC_PROG_CC_C_O, but changed for automake.
++AC_DEFUN([AM_PROG_CC_C_O],
++[AC_REQUIRE([AC_PROG_CC_C_O])dnl
++AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([compile])dnl
++# FIXME: we rely on the cache variable name because
++# there is no other way.
++set dummy $CC
++am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
++eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
++if test "$am_t" != yes; then
++   # Losing compiler, so override with the script.
++   # FIXME: It is wrong to rewrite CC.
++   # But if we don't then we get into trouble of one sort or another.
++   # A longer-term fix would be to have automake use am__CC in this case,
++   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
++   CC="$am_aux_dir/compile $CC"
++fi
++dnl Make sure AC_PROG_CC is never called again, or it will override our
++dnl setting of CC.
++m4_define([AC_PROG_CC],
++          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
++])
++
++# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
++
++# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 6
++
++# AM_MISSING_PROG(NAME, PROGRAM)
++# ------------------------------
++AC_DEFUN([AM_MISSING_PROG],
++[AC_REQUIRE([AM_MISSING_HAS_RUN])
++$1=${$1-"${am_missing_run}$2"}
++AC_SUBST($1)])
++
++
++# AM_MISSING_HAS_RUN
++# ------------------
++# Define MISSING if not defined so far and test if it supports --run.
++# If it does, set am_missing_run to use it, otherwise, to nothing.
++AC_DEFUN([AM_MISSING_HAS_RUN],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([missing])dnl
++if test x"${MISSING+set}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\   *)
++    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++  *)
++    MISSING="\${SHELL} $am_aux_dir/missing" ;;
++  esac
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++  am_missing_run="$MISSING --run "
++else
++  am_missing_run=
++  AC_MSG_WARN([`missing' script is too old or missing])
++fi
++])
++
++# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_PROG_MKDIR_P
++# ---------------
++# Check for `mkdir -p'.
++AC_DEFUN([AM_PROG_MKDIR_P],
++[AC_PREREQ([2.60])dnl
++AC_REQUIRE([AC_PROG_MKDIR_P])dnl
++dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
++dnl while keeping a definition of mkdir_p for backward compatibility.
++dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
++dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
++dnl Makefile.ins that do not define MKDIR_P, so we do our own
++dnl adjustment using top_builddir (which is defined more often than
++dnl MKDIR_P).
++AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
++case $mkdir_p in
++  [[\\/$]]* | ?:[[\\/]]*) ;;
++  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++])
++
++# Helper functions for option handling.                     -*- Autoconf -*-
++
++# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 4
++
++# _AM_MANGLE_OPTION(NAME)
++# -----------------------
++AC_DEFUN([_AM_MANGLE_OPTION],
++[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
++
++# _AM_SET_OPTION(NAME)
++# ------------------------------
++# Set option NAME.  Presently that only means defining a flag for this option.
++AC_DEFUN([_AM_SET_OPTION],
++[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
++
++# _AM_SET_OPTIONS(OPTIONS)
++# ----------------------------------
++# OPTIONS is a space-separated list of Automake options.
++AC_DEFUN([_AM_SET_OPTIONS],
++[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
++
++# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
++# -------------------------------------------
++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
++AC_DEFUN([_AM_IF_OPTION],
++[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
++
++# Check to make sure that the build environment is sane.    -*- Autoconf -*-
++
++# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 5
++
++# AM_SANITY_CHECK
++# ---------------
++AC_DEFUN([AM_SANITY_CHECK],
++[AC_MSG_CHECKING([whether build environment is sane])
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name.  Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++  *[[\\\"\#\$\&\'\`$am_lf]]*)
++    AC_MSG_ERROR([unsafe absolute working directory name]);;
++esac
++case $srcdir in
++  *[[\\\"\#\$\&\'\`$am_lf\ \  ]]*)
++    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
++esac
++
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments.  Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++   if test "$[*]" = "X"; then
++      # -L didn't work.
++      set X `ls -t "$srcdir/configure" conftest.file`
++   fi
++   rm -f conftest.file
++   if test "$[*]" != "X $srcdir/configure conftest.file" \
++      && test "$[*]" != "X conftest.file $srcdir/configure"; then
++
++      # If neither matched, then we have a broken ls.  This can happen
++      # if, for instance, CONFIG_SHELL is bash and it inherits a
++      # broken ls alias from the environment.  This has actually
++      # happened.  Such a system could not be considered "sane".
++      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
++alias in your environment])
++   fi
++
++   test "$[2]" = conftest.file
++   )
++then
++   # Ok.
++   :
++else
++   AC_MSG_ERROR([newly created file is older than distributed files!
++Check your system clock])
++fi
++AC_MSG_RESULT(yes)])
++
++# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# AM_PROG_INSTALL_STRIP
++# ---------------------
++# One issue with vendor `install' (even GNU) is that you can't
++# specify the program used to strip binaries.  This is especially
++# annoying in cross-compiling environments, where the build's strip
++# is unlikely to handle the host's binaries.
++# Fortunately install-sh will honor a STRIPPROG variable, so we
++# always use install-sh in `make install-strip', and initialize
++# STRIPPROG with the value of the STRIP variable (set by the user).
++AC_DEFUN([AM_PROG_INSTALL_STRIP],
++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'.  However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
++if test "$cross_compiling" != no; then
++  AC_CHECK_TOOL([STRIP], [strip], :)
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++AC_SUBST([INSTALL_STRIP_PROGRAM])])
++
++# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 2
++
++# _AM_SUBST_NOTMAKE(VARIABLE)
++# ---------------------------
++# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
++# This macro is traced by Automake.
++AC_DEFUN([_AM_SUBST_NOTMAKE])
++
++# AM_SUBST_NOTMAKE(VARIABLE)
++# ---------------------------
++# Public sister of _AM_SUBST_NOTMAKE.
++AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
++
++# Check how to create a tarball.                            -*- Autoconf -*-
++
++# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 2
++
++# _AM_PROG_TAR(FORMAT)
++# --------------------
++# Check how to create a tarball in format FORMAT.
++# FORMAT should be one of `v7', `ustar', or `pax'.
++#
++# Substitute a variable $(am__tar) that is a command
++# writing to stdout a FORMAT-tarball containing the directory
++# $tardir.
++#     tardir=directory && $(am__tar) > result.tar
++#
++# Substitute a variable $(am__untar) that extract such
++# a tarball read from stdin.
++#     $(am__untar) < result.tar
++AC_DEFUN([_AM_PROG_TAR],
++[# Always define AMTAR for backward compatibility.
++AM_MISSING_PROG([AMTAR], [tar])
++m4_if([$1], [v7],
++     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
++     [m4_case([$1], [ustar],, [pax],,
++              [m4_fatal([Unknown tar format])])
++AC_MSG_CHECKING([how to create a $1 tar archive])
++# Loop over all known methods to create a tar archive until one works.
++_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
++_am_tools=${am_cv_prog_tar_$1-$_am_tools}
++# Do not fold the above two line into one, because Tru64 sh and
++# Solaris sh will not grok spaces in the rhs of `-'.
++for _am_tool in $_am_tools
++do
++  case $_am_tool in
++  gnutar)
++    for _am_tar in tar gnutar gtar;
++    do
++      AM_RUN_LOG([$_am_tar --version]) && break
++    done
++    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
++    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
++    am__untar="$_am_tar -xf -"
++    ;;
++  plaintar)
++    # Must skip GNU tar: if it does not support --format= it doesn't create
++    # ustar tarball either.
++    (tar --version) >/dev/null 2>&1 && continue
++    am__tar='tar chf - "$$tardir"'
++    am__tar_='tar chf - "$tardir"'
++    am__untar='tar xf -'
++    ;;
++  pax)
++    am__tar='pax -L -x $1 -w "$$tardir"'
++    am__tar_='pax -L -x $1 -w "$tardir"'
++    am__untar='pax -r'
++    ;;
++  cpio)
++    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
++    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
++    am__untar='cpio -i -H $1 -d'
++    ;;
++  none)
++    am__tar=false
++    am__tar_=false
++    am__untar=false
++    ;;
++  esac
++
++  # If the value was cached, stop now.  We just wanted to have am__tar
++  # and am__untar set.
++  test -n "${am_cv_prog_tar_$1}" && break
++
++  # tar/untar a dummy directory, and stop if the command works
++  rm -rf conftest.dir
++  mkdir conftest.dir
++  echo GrepMe > conftest.dir/file
++  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
++  rm -rf conftest.dir
++  if test -s conftest.tar; then
++    AM_RUN_LOG([$am__untar <conftest.tar])
++    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
++  fi
++done
++rm -rf conftest.dir
++
++AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
++AC_MSG_RESULT([$am_cv_prog_tar_$1])])
++AC_SUBST([am__tar])
++AC_SUBST([am__untar])
++]) # _AM_PROG_TAR
++
++m4_include([m4/libtool.m4])
++m4_include([m4/ltoptions.m4])
++m4_include([m4/ltsugar.m4])
++m4_include([m4/ltversion.m4])
++m4_include([m4/lt~obsolete.m4])
++m4_include([acinclude.m4])
diff --cc .pc/ios/compile
index 0000000,0000000..1b1d232
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,142 @@@
++#! /bin/sh
++# Wrapper for compilers which do not understand `-c -o'.
++
++scriptversion=2005-05-14.22
++
++# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
++# Written by Tom Tromey <tromey@cygnus.com>.
++#
++# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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.
++
++# This file is maintained in Automake, please report
++# bugs to <bug-automake@gnu.org> or send patches to
++# <automake-patches@gnu.org>.
++
++case $1 in
++  '')
++     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
++     exit 1;
++     ;;
++  -h | --h*)
++    cat <<\EOF
++Usage: compile [--help] [--version] PROGRAM [ARGS]
++
++Wrapper for compilers which do not understand `-c -o'.
++Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
++arguments, and rename the output as expected.
++
++If you are trying to build a whole package this is not the
++right script to run: please start by reading the file `INSTALL'.
++
++Report bugs to <bug-automake@gnu.org>.
++EOF
++    exit $?
++    ;;
++  -v | --v*)
++    echo "compile $scriptversion"
++    exit $?
++    ;;
++esac
++
++ofile=
++cfile=
++eat=
++
++for arg
++do
++  if test -n "$eat"; then
++    eat=
++  else
++    case $1 in
++      -o)
++      # configure might choose to run compile as `compile cc -o foo foo.c'.
++      # So we strip `-o arg' only if arg is an object.
++      eat=1
++      case $2 in
++        *.o | *.obj)
++          ofile=$2
++          ;;
++        *)
++          set x "$@" -o "$2"
++          shift
++          ;;
++      esac
++      ;;
++      *.c)
++      cfile=$1
++      set x "$@" "$1"
++      shift
++      ;;
++      *)
++      set x "$@" "$1"
++      shift
++      ;;
++    esac
++  fi
++  shift
++done
++
++if test -z "$ofile" || test -z "$cfile"; then
++  # If no `-o' option was seen then we might have been invoked from a
++  # pattern rule where we don't need one.  That is ok -- this is a
++  # normal compilation that the losing compiler can handle.  If no
++  # `.c' file was seen then we are probably linking.  That is also
++  # ok.
++  exec "$@"
++fi
++
++# Name of file we expect compiler to create.
++cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
++
++# Create the lock directory.
++# Note: use `[/.-]' here to ensure that we don't use the same name
++# that we are using for the .o file.  Also, base the name on the expected
++# object file name, since that is what matters with a parallel build.
++lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
++while true; do
++  if mkdir "$lockdir" >/dev/null 2>&1; then
++    break
++  fi
++  sleep 1
++done
++# FIXME: race condition here if user kills between mkdir and trap.
++trap "rmdir '$lockdir'; exit 1" 1 2 15
++
++# Run the compile.
++"$@"
++ret=$?
++
++if test -f "$cofile"; then
++  mv "$cofile" "$ofile"
++elif test -f "${cofile}bj"; then
++  mv "${cofile}bj" "$ofile"
++fi
++
++rmdir "$lockdir"
++exit $ret
++
++# Local Variables:
++# mode: shell-script
++# sh-indentation: 2
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-end: "$"
++# End:
index 0000000,0000000..dc84c68
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1501 @@@
++#! /bin/sh
++# Attempt to guess a canonical system name.
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++#   Free Software Foundation, Inc.
++
++timestamp='2009-11-20'
++