# devel/libffi - The NetBSD Packages Collection

Foreign function interface

    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.

    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.

    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.

- Source version: `libffi-3.4.6`
- Maintainer: asau AT inbox.ru
- Website: https://www.sourceware.org/libffi/
- License: mit
- Package history: cvs, hg, git

## Build dependencies

devel/libtool-base pkgtools/mktools devel/gmake devel/pkgconf pkgtools/cwrappers

## Runtime dependencies

(none)

## Binary packages

OS | Architecture | Version
--- | --- | ---
NetBSD 10.0 | aarch64 | libffi-3.4.4.tgz
NetBSD 10.0 | aarch64 | libffi-3.4.4.tgz
NetBSD 10.0 | aarch64 | libffi-3.4.6.tgz
NetBSD 10.0 | aarch64eb | libffi-3.4.4.tgz
NetBSD 10.0 | aarch64eb | libffi-3.4.6.tgz
NetBSD 10.0 | alpha | libffi-3.4.4.tgz
NetBSD 10.0 | alpha | libffi-3.4.6.tgz
NetBSD 10.0 | earmv4 | libffi-3.4.4.tgz
NetBSD 10.0 | earmv4 | libffi-3.4.6.tgz
NetBSD 10.0 | earmv6hf | libffi-3.4.4.tgz
NetBSD 10.0 | earmv6hf | libffi-3.4.4.tgz
NetBSD 10.0 | earmv6hf | libffi-3.4.6.tgz
NetBSD 10.0 | earmv7hf | libffi-3.4.4.tgz
NetBSD 10.0 | earmv7hf | libffi-3.4.4.tgz
NetBSD 10.0 | earmv7hf | libffi-3.4.6.tgz
NetBSD 10.0 | i386 | libffi-3.4.6.tgz
NetBSD 10.0 | i386 | libffi-3.4.4.tgz
NetBSD 10.0 | m68k | libffi-3.4.4.tgz
NetBSD 10.0 | m68k | libffi-3.4.6.tgz
NetBSD 10.0 | mips64eb | libffi-3.4.4.tgz
NetBSD 10.0 | mips64eb | libffi-3.4.6.tgz
NetBSD 10.0 | powerpc | libffi-3.4.4.tgz
NetBSD 10.0 | sh3el | libffi-3.4.4.tgz
NetBSD 10.0 | sh3el | libffi-3.4.6.tgz
NetBSD 10.0 | sparc64 | libffi-3.4.6.tgz
NetBSD 10.0 | sparc | libffi-3.4.4.tgz
NetBSD 10.0 | sparc | libffi-3.4.6.tgz
NetBSD 10.0 | vax | libffi-3.4.4.tgz
NetBSD 10.0 | vax | libffi-3.4.6.tgz
NetBSD 10.0 | x86_64 | libffi-3.4.6.tgz
NetBSD 10.0 | x86_64 | libffi-3.4.4.tgz
NetBSD 10.99.4 | riscv64 | libffi-3.4.4.tgz
NetBSD 8.0 | i386 | libffi-3.4.4.tgz
NetBSD 8.0 | x86_64 | libffi-3.4.4.tgz
NetBSD 8.0 | x86_64 | libffi-3.4.4.tgz
NetBSD 9.0 | aarch64 | libffi-3.4.4.tgz
NetBSD 9.0 | aarch64 | libffi-3.4.4.tgz
NetBSD 9.0 | aarch64 | libffi-3.4.6.tgz
NetBSD 9.0 | alpha | libffi-3.4.4.tgz
NetBSD 9.0 | alpha | libffi-3.4.6.tgz
NetBSD 9.0 | earm | libffi-3.4.4.tgz
NetBSD 9.0 | earmv4 | libffi-3.4.4.tgz
NetBSD 9.0 | earmv4 | libffi-3.4.6.tgz
NetBSD 9.0 | earmv6hf | libffi-3.4.4.tgz
NetBSD 9.0 | earmv6hf | libffi-3.4.4.tgz
NetBSD 9.0 | earmv6hf | libffi-3.4.6.tgz
NetBSD 9.0 | earmv7hf | libffi-3.4.4.tgz
NetBSD 9.0 | earmv7hf | libffi-3.4.4.tgz
NetBSD 9.0 | earmv7hf | libffi-3.4.6.tgz
NetBSD 9.0 | i386 | libffi-3.4.6.tgz
NetBSD 9.0 | i386 | libffi-3.4.4.tgz
NetBSD 9.0 | m68k | libffi-3.4.4.tgz
NetBSD 9.0 | m68k | libffi-3.4.6.tgz
NetBSD 9.0 | mips64eb | libffi-3.4.4.tgz
NetBSD 9.0 | mipsel | libffi-3.4.4.tgz
NetBSD 9.0 | powerpc | libffi-3.4.4.tgz
NetBSD 9.0 | powerpc | libffi-3.4.4.tgz
NetBSD 9.0 | sh3el | libffi-3.4.4.tgz
NetBSD 9.0 | sparc64 | libffi-3.4.4.tgz
NetBSD 9.0 | sparc64 | libffi-3.4.6.tgz
NetBSD 9.0 | sparc | libffi-3.4.4.tgz
NetBSD 9.0 | vax | libffi-3.4.4.tgz
NetBSD 9.0 | vax | libffi-3.4.4.tgz
NetBSD 9.0 | x86_64 | libffi-3.4.6.tgz
NetBSD 9.0 | x86_64 | libffi-3.4.4.tgz
NetBSD 9.3 | x86_64 | libffi-3.4.6.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

## Available build options

(none)

## Known vulnerabilities

(no vulnerabilities known)

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.