diff options
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/dyncall/Makefile | 35 | ||||
-rw-r--r-- | devel/dyncall/distinfo | 3 | ||||
-rw-r--r-- | devel/dyncall/pkg-descr | 20 | ||||
-rw-r--r-- | devel/dyncall/pkg-plist | 10 |
5 files changed, 69 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index d0c2050b7ff6..fa1c10c3e488 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -271,6 +271,7 @@ SUBDIR += dumb SUBDIR += duplo SUBDIR += dwarfdump + SUBDIR += dyncall SUBDIR += e4graph SUBDIR += e_dbus SUBDIR += ebnf2yacc diff --git a/devel/dyncall/Makefile b/devel/dyncall/Makefile new file mode 100644 index 000000000000..671a7b8e99ab --- /dev/null +++ b/devel/dyncall/Makefile @@ -0,0 +1,35 @@ +# New ports collection makefile for: dyncall +# Date created: 05 April 2008 +# Whom: Tassilo Philipp <tphilipp@potion-studios.com> +# +# $FreeBSD$ +# + +PORTNAME= dyncall +PORTVERSION= 0.1 +CATEGORIES= devel +MASTER_SITES= http://www.dyncall.org/r0.1/ + +MAINTAINER= tphilipp@potion-studios.com +COMMENT= Highly dynamic multi-platform foreign function call interface library + +HAS_CONFIGURE= yes + +MAKEFILE= ${WRKSRC}/BSDmakefile + +# There is no install target in the BSD makefile of version 0.1 of the dyncall library, so +# install it manually. + +do-install: + ${CP} ${WRKSRC}/dyncall/dyncall.h ${PREFIX}/include/dyncall.h + ${CP} ${WRKSRC}/dyncall/dyncall_callf.h ${PREFIX}/include/dyncall_callf.h + ${CP} ${WRKSRC}/dyncall/dyncall_config.h ${PREFIX}/include/dyncall_config.h + ${CP} ${WRKSRC}/dyncall/dyncall_macros.h ${PREFIX}/include/dyncall_macros.h + ${CP} ${WRKSRC}/dyncall/dyncall_signature.h ${PREFIX}/include/dyncall_signature.h + ${CP} ${WRKSRC}/dyncall/dyncall_types.h ${PREFIX}/include/dyncall_types.h + ${CP} ${WRKSRC}/dyncall/dyncall_value.h ${PREFIX}/include/dyncall_value.h + ${CP} ${WRKSRC}/dynload/dynload.h ${PREFIX}/include/dynload.h + ${CP} ${WRKSRC}/dyncall/libdyncall_s.a ${PREFIX}/lib/libdyncall_s.a + ${CP} ${WRKSRC}/dynload/libdynload_s.a ${PREFIX}/lib/libdynload_s.a + +.include <bsd.port.mk> diff --git a/devel/dyncall/distinfo b/devel/dyncall/distinfo new file mode 100644 index 000000000000..4646e19a5ad4 --- /dev/null +++ b/devel/dyncall/distinfo @@ -0,0 +1,3 @@ +MD5 (dyncall-0.1.tar.gz) = aaa539cca71f9584df83deae50303198 +SHA256 (dyncall-0.1.tar.gz) = 3c063b272d08818b514b62042166010dcafacb617befad175ce374ed2efc31ef +SIZE (dyncall-0.1.tar.gz) = 112182 diff --git a/devel/dyncall/pkg-descr b/devel/dyncall/pkg-descr new file mode 100644 index 000000000000..778bf94c19fa --- /dev/null +++ b/devel/dyncall/pkg-descr @@ -0,0 +1,20 @@ +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 workds, 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. + +WWW: http://www.dyncall.org diff --git a/devel/dyncall/pkg-plist b/devel/dyncall/pkg-plist new file mode 100644 index 000000000000..816411e4a10e --- /dev/null +++ b/devel/dyncall/pkg-plist @@ -0,0 +1,10 @@ +include/dyncall.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/dynload.h +lib/libdyncall_s.a +lib/libdynload_s.a |