Subject: CVS commit: pkgsrc/devel/libffcall
From: Thomas Klausner
Date: 2017-09-10 22:00:49
Message id: 20170910200049.AD280FA98@cvs.NetBSD.org

Log Message:
Import libffcall-2.0 as devel/libffcall.

GNU libffcall is a library which can be used to build foreign
function call interfaces in embedded interpreters.

Changes compared to devel/ffcall:

New in 2.0:

* The package now installs a library libffcall.{a,so}. It contains the
  'avcall' and 'callback' packages. The libraries libavcall.{a,so} and
  libcallback.{a,so} are still installed as well, but are deprecated.

* The installed libraries are now installed as shared libraries by default
  (except for libvacall, which is still a static library only).

* The installed shared libraries are now properly versioned. This means that
  when installing with --enable-shared, upgrading to a newer version of
  libffcall will not break existing binaries.

* The installed include files are now platform independent. This means that
  you can now install libffcall for different ABIs on the same system, using
  the same --prefix option but different --exec-prefix options for each ABI.

* API changes in <trampoline.h>:
  - The second argument of alloc_trampoline() is now a 'void**', rather
    than a 'void*'.
  - The return value of trampoline_variable() is now a 'void**', rather
    than a 'void*'.
  - The argument of trampoline_address(), trampoline_variable(),
    trampoline_data() is now a function pointer instead of a 'void*'.

* Fixed a bug regarding floating-point arguments followed by
  non-floating-point arguments on the following platforms:
  - arm: Linux 32-bit, with hardware floats.
  - powerpc: Linux 32-bit.
  - s390: Linux.

* Fixed a bug regarding structure returns on the following platforms:
  - i386: FreeBSD.
  - i386: MinGW.
  - mips: old 32-bit ABI (Linux, IRIX).

* Added support for the following platforms:
  (Previously, a build on these platforms failed.)
  - i386: MSVC 14.
  - x86_64: Cygwin.
  - x86_64: MinGW.
  - x86_64: MSVC 14.
  - hppa64: HP-UX 11.
  - m68k: Linux.

* Verified support for the following platforms:
  (A build on these platforms worked and still works.)
  - i386: FreeBSD, NetBSD, OpenBSD, DragonFly BSD.
  - i386: Hurd.
  - x86_64: FreeBSD, NetBSD, OpenBSD.

New in 1.13:

* The license has been changed from GPLv2 to GPLv2+.

* Added support for the following platforms:
  (Previously, a build on these platforms failed.)
  - x86_64: Mac OS X 64-bit.
  - x86_64: Solaris 64-bit.
  - x86_64: Linux with x32 ABI: CC="gcc -mx32".
  - arm: Linux 32-bit, without hardware floats.
  - arm64: Linux 64-bit.
  - s390x: Linux 64-bit.
  - powerpc: AIX 64-bit.
  - mips: IRIX 6.5 with CC="cc -32".
  - sparc: Solaris 64-bit.

* Fixed support for the following platforms:
  (Previously, a build on these platforms appeared to succeed but was buggy.)
  - x86_64: Linux.
  - arm: Linux 32-bit, with hardware floats.
  - powerpc: Linux 64-bit.
  - mips: Linux with CC="gcc -mabi=32".
  - mips: Linux with CC="gcc -mabi=n32".
  - mips: Linux with CC="gcc -mabi=64".
  - mips: IRIX 6.5 with CC="gcc -mabi=n32".
  - s390: Linux.
  - sparc: Linux 64-bit.
  - ia64: Linux.
  - hppa: HP-UX 32-bit.

* Verified support for the following platforms:
  (A build on these platforms worked and still works.)
  - i386: Linux, Solaris, Mac OS X.
  - powerpc: Linux 32-bit.
  - powerpc: AIX 32-bit.
  - powerpc: MacOS X.
  - mips: IRIX 6.5 with CC="cc -n32".
  - sparc: Solaris 32-bit.
  - sparc: Linux 32-bit: CC="gcc -m32".
  - alpha: Linux.

* Support for a security feature: On Linux and FreeBSD platforms, linking with
  the libffcall libraries no longer causes the stack to become executable.

New in 1.12:

* Added ppc64le to the list of supported architectures.

New in 1.11:

* Header now define LIBFFCALL_VERSION (to 0x010B).
* Better support for IA64 on Linux (kernel 2.6.16+ and gcc 4.1.0+).
* Added ARM support from Jonathan Olson (debian 1.10-2).
* Added MIPSel support from Thiemo Seufer (debian 1.10-2).
* Added ARMel support from Max Lapan.

Files:
RevisionActionfile
1.1addpkgsrc/devel/libffcall/DESCR
1.1addpkgsrc/devel/libffcall/Makefile
1.1addpkgsrc/devel/libffcall/PLIST
1.1addpkgsrc/devel/libffcall/buildlink3.mk
1.1addpkgsrc/devel/libffcall/distinfo