diff options
-rw-r--r-- | lang/sablevm/DESCR | 11 | ||||
-rw-r--r-- | lang/sablevm/Makefile | 46 | ||||
-rw-r--r-- | lang/sablevm/PLIST | 19 | ||||
-rw-r--r-- | lang/sablevm/distinfo | 8 | ||||
-rw-r--r-- | lang/sablevm/patches/patch-aa | 13 | ||||
-rw-r--r-- | lang/sablevm/patches/patch-ab | 51 | ||||
-rw-r--r-- | lang/sablevm/patches/patch-ac | 42 | ||||
-rw-r--r-- | lang/sablevm/patches/patch-ad | 12 |
8 files changed, 202 insertions, 0 deletions
diff --git a/lang/sablevm/DESCR b/lang/sablevm/DESCR new file mode 100644 index 00000000000..ddc2063df85 --- /dev/null +++ b/lang/sablevm/DESCR @@ -0,0 +1,11 @@ +SableVM is a portable bytecode interpreter written in C, and implementing +the Java virtual machine specification, second edition. Its goals are to +be reasonably small, fast and efficient, as well as providing a well +designed and robust platform for conducting research. + +SableVM implements many innovative techniques, including: +* 3 flavors of threaded interpretation (switched, threaded and inlined). +* Bidirectional object layout. +* Spinlock-free thin locks. +* Sparse interface vtables. +* Low-cost maps for precise garbage collection. diff --git a/lang/sablevm/Makefile b/lang/sablevm/Makefile new file mode 100644 index 00000000000..91bf4fbce0a --- /dev/null +++ b/lang/sablevm/Makefile @@ -0,0 +1,46 @@ +# $NetBSD: Makefile,v 1.1.1.1 2004/03/28 20:42:08 jmmv Exp $ +# + +DISTNAME= sablevm-1.1.1 +CATEGORIES= lang +MASTER_SITES= http://devel.sablevm.org/download/1.1.1/ + +MAINTAINER= pancake@phreaker.net +HOMEPAGE= http://www.sablevm.org/ +COMMENT= SableVM free Java virtual machine + +DEPENDS+= unzip>=5.50:../../archivers/unzip +DEPENDS+= sablevm-classpath-1.1.1:../../lang/sablevm-classpath + +GNU_CONFIGURE= yes +USE_BUILDLINK3= yes +USE_GNU_TOOLS+= make +USE_LIBTOOL= yes + +CONFIGURE_ARGS+= --disable-signals-for-exceptions + +EVAL_PREFIX+= PREFIX.sablevm-classpath=sablevm-classpath +PREFIX.sablevm-classpath_DEFAULT= ${LOCALBASE} + +pre-configure: + cd ${WRKSRC} && ${AUTOHEADER} + cd ${WRKSRC} && ${AUTOCONF} + +post-install: + ${INSTALL_DATA_DIR} ${PREFIX}/lib/sablevm + ${LN} -s ${PREFIX.sablevm-classpath}/lib/sablevm-classpath \ + ${PREFIX}/lib/sablevm/sablevm-classpath + ${LN} -s ${PREFIX.sablevm-classpath}/share/sablevm-classpath \ + ${PREFIX}/share/sablevm/sablevm-classpath + +.if !exists(/usr/include/semaphore.h) +LDFLAGS+= -lsemaphore +BUILDLINK_TRANSFORM+= l:rt:semaphore: +.include "../../devel/pthread-sem/buildlink3.mk" +.endif +.include "../../devel/libffi/buildlink3.mk" +.include "../../devel/libtool/buildlink3.mk" +.include "../../devel/popt/buildlink3.mk" +.include "../../mk/autoconf.mk" +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/lang/sablevm/PLIST b/lang/sablevm/PLIST new file mode 100644 index 00000000000..feca15d0def --- /dev/null +++ b/lang/sablevm/PLIST @@ -0,0 +1,19 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2004/03/28 20:42:07 jmmv Exp $ +bin/java-sablevm +bin/sablevm +include/jni.h +include/jni_system_specific.h +lib/libsablevm.a +lib/libsablevm.la +lib/libsablevm.so +lib/libsablevm.so.1 +lib/libsablevm.so.1.9 +lib/sablevm/sablevm-classpath +man/man1/java-sablevm.1 +man/man1/sablevm.1 +share/sablevm/AUTHORS +share/sablevm/COPYING.LIB +share/sablevm/LICENSE +share/sablevm/sablevm-classpath +@dirrm share/sablevm +@dirrm lib/sablevm diff --git a/lang/sablevm/distinfo b/lang/sablevm/distinfo new file mode 100644 index 00000000000..083c54a7911 --- /dev/null +++ b/lang/sablevm/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1.1.1 2004/03/28 20:42:08 jmmv Exp $ + +SHA1 (sablevm-1.1.1.tar.gz) = 3067ebc8c05a60dd7b1979193be0fa4d5422f4c4 +Size (sablevm-1.1.1.tar.gz) = 554037 bytes +SHA1 (patch-aa) = 25e7b6748c4f5c8b327e20763ca5bf302e2bb795 +SHA1 (patch-ab) = 033d725794a2fae8aef57dd971cdff2a9832e9ab +SHA1 (patch-ac) = 12d430397863ef7774fbb57831e10b31296c73e1 +SHA1 (patch-ad) = 7a157ce19ac27d489565b4035273864314a07c96 diff --git a/lang/sablevm/patches/patch-aa b/lang/sablevm/patches/patch-aa new file mode 100644 index 00000000000..b46c2601f21 --- /dev/null +++ b/lang/sablevm/patches/patch-aa @@ -0,0 +1,13 @@ +$NetBSD: patch-aa,v 1.1.1.1 2004/03/28 20:42:08 jmmv Exp $ + +--- Makefile.in.orig 2004-03-20 23:05:06.000000000 +0100 ++++ Makefile.in +@@ -580,7 +580,7 @@ uninstall-info: uninstall-info-recursive + + java-sablevm: java-sablevm.m4.sh + rm -f java-sablevm +- m4 -P java-sablevm.m4.sh -DSABLEVM_BINARY=@bindir@/sablevm >java-sablevm ++ m4 -P -DSABLEVM_BINARY=@bindir@/sablevm java-sablevm.m4.sh >java-sablevm + chmod a-w java-sablevm + + ChangeLog: diff --git a/lang/sablevm/patches/patch-ab b/lang/sablevm/patches/patch-ab new file mode 100644 index 00000000000..6910de0b34b --- /dev/null +++ b/lang/sablevm/patches/patch-ab @@ -0,0 +1,51 @@ +$NetBSD: patch-ab,v 1.1.1.1 2004/03/28 20:42:08 jmmv Exp $ + +Index: configure.ac +=================================================================== +--- configure.ac (revision 1860) ++++ configure.ac (working copy) +@@ -18,6 +18,7 @@ + + AC_DEFINE(_REENTRANT,1,link with reentrant library functions) + AC_DEFINE(_POSIX_C_SOURCE,199506L,link with POSIX library functions) ++AC_DEFINE(_XOPEN_SOURCE,500,link with XOpen library functions) + + dnl *** uncomment if you want to insert a magic value in every object instance for debugging *** + dnl AC_DEFINE(MAGIC,1,put "SableVM" in every instance) +@@ -90,12 +91,6 @@ + enable_signals_for_exceptions=no + fi]) + +-case "$enable_signals_for_exceptions" in +- no) ;; +- yes) AC_DEFINE(_SABLEVM_SIGNALS_FOR_EXCEPTIONS,1,use signals to detect exceptions) ;; +- *) AC_MSG_ERROR(bad value \"${enable_signals_for_exceptions}\" for --enable-signals-for-exceptions) ;; +-esac +- + dnl garbage collection + AC_ARG_WITH(gc, + [ --with-gc=TYPE use given garbage collector (none,copying)],, +@@ -200,7 +195,23 @@ + AC_C_INLINE + AC_TYPE_SIZE_T + AC_HEADER_TIME ++AC_CHECK_TYPE(siginfo_t, have_siginfo=yes; ++ AC_DEFINE(HAVE_SIGINFO, [], ++ [Define to 1 if you have siginfo support]), ++ have_siginfo=no, [#include <signal.h>]) + ++dnl Handle signals for exceptions based on the availability of siginfo_t. ++if test "$have_siginfo" = no; then ++ enable_signals_for_exceptions=no ++ AC_MSG_WARN([siginfo not available; disabled use of signals]) ++fi ++ ++case "$enable_signals_for_exceptions" in ++ no) ;; ++ yes) AC_DEFINE(_SABLEVM_SIGNALS_FOR_EXCEPTIONS,1,use signals to detect exceptions) ;; ++ *) AC_MSG_ERROR(bad value \"${enable_signals_for_exceptions}\" for --enable-signals-for-exceptions) ;; ++esac ++ + dnl Checks for library functions. + AC_FUNC_MALLOC + AC_FUNC_MMAP diff --git a/lang/sablevm/patches/patch-ac b/lang/sablevm/patches/patch-ac new file mode 100644 index 00000000000..78bd6d92ca2 --- /dev/null +++ b/lang/sablevm/patches/patch-ac @@ -0,0 +1,42 @@ +$NetBSD: patch-ac,v 1.1.1.1 2004/03/28 20:42:08 jmmv Exp $ + +Index: src/libsablevm/error.c +=================================================================== +--- src/libsablevm/error.c (revision 1888) ++++ src/libsablevm/error.c (working copy) +@@ -78,6 +78,8 @@ + ---------------------------------------------------------------------- + */ + ++#if defined(HAVE_SIGINFO) ++ + static void + _svmf_internal_sigaction (int signo, siginfo_t * info, void *ignored) + { +@@ -306,6 +308,8 @@ + } + } + ++#endif /* HAVE_SIGINFO */ ++ + /* + ---------------------------------------------------------------------- + _svmf_error_init +@@ -386,6 +390,8 @@ + + #endif /* _SABLEVM_INLINABILITY_TESTING */ + ++#if defined(HAVE_SIGINFO) ++ + /* use extended info version */ + sa.sa_flags = SA_SIGINFO; + sa.sa_sigaction = _svmf_internal_sigaction; +@@ -448,6 +454,8 @@ + + #endif /* _SABLEVM_INLINABILITY_TESTING */ + ++#endif /* HAVE_SIGINFO */ ++ + return JNI_OK; + + error: diff --git a/lang/sablevm/patches/patch-ad b/lang/sablevm/patches/patch-ad new file mode 100644 index 00000000000..eedb9ce9e29 --- /dev/null +++ b/lang/sablevm/patches/patch-ad @@ -0,0 +1,12 @@ +$NetBSD: patch-ad,v 1.1.1.1 2004/03/28 20:42:08 jmmv Exp $ + +--- src/libsablevm/invoke_interface.c.orig 2004-03-20 23:02:04.000000000 +0100 ++++ src/libsablevm/invoke_interface.c +@@ -220,6 +220,7 @@ JNI_CreateJavaVM (JavaVM **pvm, void **p + } + + _svmf_set_current_env (env); ++ _svmm_cond_init (vm->threads.vm_destruction_cond); + vm->threads.user = env; + vm->threads.next_thread_id = 1; /* thread IDs must start at 1 + (i.e. no ID == 0) */ |