BSD Ports

devel/dyncall 1.4_1 FreeBSD

Highly dynamic multi-platform foreign function call interface library

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
License
ISCL
Categories
devel
Package size
30.7 KiB, 89.0 KiB installed

Description

The dyncall library encapsulates architecture-, OS- and compiler-specific function call semantics in a virtual "bind parameters from left to right and then call" interface allowing programmers to call C functions in a completely dynamic manner. In other words, instead of calling a function directly, the dyncall library provides a mechanism to push the function parameters manually and to issue the call afterwards. This means, that a program can determine at runtime what function to call, and what parameters to pass to it. The library is written in C and assembly and provides a very simple C interface to program against.

The library comes in very handy to power flexible message systems, dynamic function call dispatch mechanisms, closure implementations or even to bridge different programming languages. When it comes to language bindings, the dyncall library provides a clean and portable C interface to dynamically issue calls to foreign code using small kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a couple of instructions are used to invoke every possible call.

In the other systems

SystemPortVersion
FreeBSDdevel/dyncall1.4_1
OpenBSDdevel/dyncall1.1p1
DragonFlydevel/dyncall1.4_1

Install

Binary package:

pkg install dyncall

From the ports tree:

cd /usr/ports/devel/dyncall/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	dyncall>0:devel/dyncall

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.4_11.4_11.41.4_11.4_1
FreeBSD:14:quarterly1.4_11.4_1n/a1.4_11.4_1
FreeBSD:15:latest1.4_11.4_1n/a1.4_11.4_1
FreeBSD:15:quarterly1.4_11.4_1n/an/an/a
FreeBSD:16:latest1.4_11.4_1n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

No port depends on this one.

Configuration

No options to configure.

Service scripts
none

Files

Manual pages 3
  • dyncall(3)
  • dyncallback(3)
  • dynload(3)
pkg-plist 18
  • include/dyncall.h
  • include/dyncall_alloc_wx.h
  • include/dyncall_args.h
  • include/dyncall_callback.h
  • include/dyncall_callf.h
  • include/dyncall_config.h
  • include/dyncall_macros.h
  • include/dyncall_signature.h
  • include/dyncall_types.h
  • include/dyncall_value.h
  • include/dyncall_version.h
  • include/dynload.h
  • lib/libdyncall_s.a
  • lib/libdyncallback_s.a
  • lib/libdynload_s.a
  • share/man/man3/dyncall.3.gz
  • share/man/man3/dyncallback.3.gz
  • share/man/man3/dynload.3.gz
distinfo 1
FileSizeSHA256
dyncall-1.4.tar.gz1.515528e+0614437dbbef3b6dc92483f6507eaf825ab97964a89eecae8cb347a6bec9c32aae
Master sites 2
  • https://www.dyncall.org/r1.4/
  • http://www.potion-studios.com/

Commit history 0

No commits in the history this site was built from.