aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--devel/Makefile1
-rw-r--r--devel/dyncall/Makefile35
-rw-r--r--devel/dyncall/distinfo3
-rw-r--r--devel/dyncall/pkg-descr20
-rw-r--r--devel/dyncall/pkg-plist10
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