1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-11 07:22:22 +00:00

This is a very preliminary release of CamlJava, an OCaml/Java

interface based on the following schema:

         Caml/C interface       JNI (Java Native Interface)
  Caml <------------------> C <-----------------------------> Java

Currently, CamlJava provides a low-level, weakly-typed OCaml interface
very similar to the JNI.  Java object references are mapped to an
abstract type, and various JNI-like operations are provided to allow
Java method invocation, field access, and more.  A basic callback
facility (allowing Java code to invoke methods on Caml objects) is
also provided, although some stub Java code must be written by hand.

In the future, a higher-level, strongly-typed interface will be
provided, whereas Java classes are mapped directly to Caml classes.
This raises fairly delicate type mapping issues, though, so don't hold
your breath.

WWW:	http://caml.inria.fr/

PR:		ports/101147
Submitted by:	Stanislav Sedov <ssedov at mbsd.msk.ru>
This commit is contained in:
Ion-Mihai Tetcu 2006-08-04 15:02:57 +00:00
parent eb278d67b2
commit 04eac202d3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=169667
5 changed files with 80 additions and 0 deletions

View File

@ -691,6 +691,7 @@
SUBDIR += oaf
SUBDIR += obby
SUBDIR += obfuscatejs
SUBDIR += ocaml-camljava
SUBDIR += ocaml-camomile
SUBDIR += ocaml-classes
SUBDIR += ocaml-equeue

View File

@ -0,0 +1,49 @@
# New ports collection makefile for: camljava
# Date created: 2006-07-31
# Whom: Stanislav Sedov <ssedov@mbsd.msk.ru>
#
# $MBSDlabs$
# $FreeBSD$
#
PORTNAME= camljava
PORTVERSION= 0.3
CATEGORIES= devel java
MASTER_SITES= http://caml.inria.fr/distrib/bazar-ocaml/
PKGNAMEPREFIX= ocaml-
MAINTAINER= ssedov@mbsd.msk.ru
COMMENT= An OCaml-Java library interface
USE_OCAML= yes
USE_JAVA= yes
JAVA_VERSION= 1.4+
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/lang/ocaml/bsd.ocaml.mk"
post-extract:
@${REINPLACE_CMD} -e "s,^\(JAVAC=\).*,\1${JAVAC},g" \
-e "s,^\(JDKHOME=\).*,\1${JAVA_HOME},g" \
-e "s,include/linux,include/freebsd,g" \
-e "s,^CFLAGS=.*,#\&,g" \
-e "s,^\(CC=\).*,#\&,g" \
-e "s,i386,${ARCH},g" \
${WRKSRC}/Makefile.config
${REINPLACE_CMD} \
-e "s,^\(OCAMLLIB=\).*,\1${PREFIX}/lib/ocaml,g" \
-e "/^install/,/^$$/s,\([ \t]*\)cp,\1${INSTALL_DATA},g" \
${WRKSRC}/lib/Makefile
pre-install:
.if !exists(${PREFIX}/lib/ocaml)
${MKDIR} ${PREFIX}/lib/ocaml
@${ECHO_CMD} "@dirrm lib/ocaml" >> ${TMPPLIST}
.endif
test:
@${ECHO_CMD} "Testing IDL library"
cd ${WRKSRC}/test && ${SETENV} ${MAKE_ENV} ${MAKE} all
.include <bsd.port.post.mk>

View File

@ -0,0 +1,3 @@
MD5 (camljava-0.3.tar.gz) = 7e119bbb1cdea6bba327bd9cceb6751c
SHA256 (camljava-0.3.tar.gz) = d0652df5d5f4ccbbedd31a32583976fbe281bc581654784cc2618fde02c711c4
SIZE (camljava-0.3.tar.gz) = 16049

View File

@ -0,0 +1,19 @@
This is a very preliminary release of CamlJava, an OCaml/Java
interface based on the following schema:
Caml/C interface JNI (Java Native Interface)
Caml <------------------> C <-----------------------------> Java
Currently, CamlJava provides a low-level, weakly-typed OCaml interface
very similar to the JNI. Java object references are mapped to an
abstract type, and various JNI-like operations are provided to allow
Java method invocation, field access, and more. A basic callback
facility (allowing Java code to invoke methods on Caml objects) is
also provided, although some stub Java code must be written by hand.
In the future, a higher-level, strongly-typed interface will be
provided, whereas Java classes are mapped directly to Caml classes.
This raises fairly delicate type mapping issues, though, so don't hold
your breath.
WWW: http://caml.inria.fr/

View File

@ -0,0 +1,8 @@
lib/ocaml/camljava/jni.cma
lib/ocaml/camljava/jni.cmi
lib/ocaml/camljava/jni.cmxa
lib/ocaml/camljava/jni.a
lib/ocaml/camljava/libcamljni.a
lib/ocaml/camljava/jni.mli
lib/ocaml/camljava/camljava.jar
@dirrm lib/ocaml/camljava