aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2002-07-10 06:08:30 +0800
committerarchie <archie@FreeBSD.org>2002-07-10 06:08:30 +0800
commit62d8feeb38b2062a58db4bcc4ed4f378bd25b36a (patch)
treea16c34420ad108211570506da384a5704a3eec8b
parent2a354a2cd32cc282a4b262dcb7319b4011d08105 (diff)
downloadfreebsd-ports-gnome-62d8feeb38b2062a58db4bcc4ed4f378bd25b36a.tar.gz
freebsd-ports-gnome-62d8feeb38b2062a58db4bcc4ed4f378bd25b36a.tar.zst
freebsd-ports-gnome-62d8feeb38b2062a58db4bcc4ed4f378bd25b36a.zip
SableVM implements the Java virtual machine specification, second edition.
SableVM is a bytecode interpreter. It's goals are to be reasonably small, efficient, and fast, as well as providing a well-designed platform for doing research into different algorithms for bytecode interpretation, garbage collection, memory management, etc. SableVM uses a modified version of the GNU Classpath Java classes; these classes are installed by the "sablepath" port. WWW: http://www.sablevm.org/
-rw-r--r--java/sablevm/Makefile24
-rw-r--r--java/sablevm/distinfo1
-rw-r--r--java/sablevm/files/patch-aa362
-rw-r--r--java/sablevm/files/patch-ab19
-rw-r--r--java/sablevm/files/patch-ac12
-rw-r--r--java/sablevm/files/patch-ad12
-rw-r--r--java/sablevm/files/patch-ae17
-rw-r--r--java/sablevm/files/patch-af12
-rw-r--r--java/sablevm/files/patch-ag12
-rw-r--r--java/sablevm/pkg-comment1
-rw-r--r--java/sablevm/pkg-descr11
-rw-r--r--java/sablevm/pkg-plist11
12 files changed, 494 insertions, 0 deletions
diff --git a/java/sablevm/Makefile b/java/sablevm/Makefile
new file mode 100644
index 000000000000..6afe34674c3b
--- /dev/null
+++ b/java/sablevm/Makefile
@@ -0,0 +1,24 @@
+# New ports collection makefile for: sablevm
+# Date created: 9 July 2002
+# Whom: Archie Cobbs <archie@freebsd.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= sablevm
+PORTVERSION= 0.1.6
+CATEGORIES= java
+MASTER_SITES= http://unc.dl.sourceforge.net/sablevm/
+
+MAINTAINER= archie@freebsd.org
+
+LIB_DEPENDS= popt.0:${PORTSDIR}/devel/popt \
+ ffi.2:${PORTSDIR}/devel/libffi
+RUN_DEPENDS= ${LOCALBASE}/lib/sablepath/libjavalang.a:${PORTSDIR}/java/sablepath
+
+PATCH_STRIP= -p1
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+INSTALLS_SHLIB= yes
+
+.include <bsd.port.mk>
diff --git a/java/sablevm/distinfo b/java/sablevm/distinfo
new file mode 100644
index 000000000000..3360ec751ef9
--- /dev/null
+++ b/java/sablevm/distinfo
@@ -0,0 +1 @@
+MD5 (sablevm-0.1.6.tar.gz) = 5c882789442b9b07cc729ad934fe9549
diff --git a/java/sablevm/files/patch-aa b/java/sablevm/files/patch-aa
new file mode 100644
index 000000000000..73e56ada4d1b
--- /dev/null
+++ b/java/sablevm/files/patch-aa
@@ -0,0 +1,362 @@
+diff -ur sablevm-0.1.6.orig/configure sablevm-0.1.6/configure
+--- sablevm-0.1.6.orig/configure Fri Apr 27 21:53:54 2001
++++ sablevm-0.1.6/configure Mon Jul 8 18:13:03 2002
+@@ -1704,49 +1704,10 @@
+ exec 5>>./config.log
+
+
+-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+-echo "configure:1709: checking for dlopen in -ldl" >&5
+-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- ac_save_LIBS="$LIBS"
+-LIBS="-ldl $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1717 "configure"
+-#include "confdefs.h"
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dlopen();
+-
+-int main() {
+-dlopen()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
+-
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- echo -n
+-else
+- echo "$ac_t""no" 1>&6
+-echo ***ERROR: libdl is missing; exit 1
+-fi
++CFLAGS="$CFLAGS -D_P1003_1B_VISIBLE -pthread -I/usr/local/include -L/usr/local/lib"
+
+ echo $ac_n "checking for ffi_prep_cif in -lffi""... $ac_c" 1>&6
+-echo "configure:1750: checking for ffi_prep_cif in -lffi" >&5
++echo "configure:1711: checking for ffi_prep_cif in -lffi" >&5
+ ac_lib_var=`echo ffi'_'ffi_prep_cif | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1754,7 +1715,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lffi $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1758 "configure"
++#line 1719 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1765,7 +1726,7 @@
+ ffi_prep_cif()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1787,7 +1748,7 @@
+ fi
+
+ echo $ac_n "checking for fmod in -lm""... $ac_c" 1>&6
+-echo "configure:1791: checking for fmod in -lm" >&5
++echo "configure:1752: checking for fmod in -lm" >&5
+ ac_lib_var=`echo m'_'fmod | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1795,7 +1756,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lm $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1799 "configure"
++#line 1760 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1806,7 +1767,7 @@
+ fmod()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1828,7 +1789,7 @@
+ fi
+
+ echo $ac_n "checking for poptGetContext in -lpopt""... $ac_c" 1>&6
+-echo "configure:1832: checking for poptGetContext in -lpopt" >&5
++echo "configure:1793: checking for poptGetContext in -lpopt" >&5
+ ac_lib_var=`echo popt'_'poptGetContext | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1836,7 +1797,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lpopt $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1840 "configure"
++#line 1801 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1847,7 +1808,7 @@
+ poptGetContext()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1868,55 +1829,14 @@
+ echo ***ERROR: libpopt is missing; exit 1
+ fi
+
+-echo $ac_n "checking for pthread_self in -lpthread""... $ac_c" 1>&6
+-echo "configure:1873: checking for pthread_self in -lpthread" >&5
+-ac_lib_var=`echo pthread'_'pthread_self | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- ac_save_LIBS="$LIBS"
+-LIBS="-lpthread $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1881 "configure"
+-#include "confdefs.h"
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char pthread_self();
+-
+-int main() {
+-pthread_self()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
+-
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- echo -n
+-else
+- echo "$ac_t""no" 1>&6
+-echo ***ERROR: libpthread is missing; exit 1
+-fi
+-
+
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:1915: checking for ANSI C header files" >&5
++echo "configure:1835: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1920 "configure"
++#line 1840 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -1924,7 +1844,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1941,7 +1861,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1945 "configure"
++#line 1865 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -1959,7 +1879,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1963 "configure"
++#line 1883 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -1980,7 +1900,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1984 "configure"
++#line 1904 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -1991,7 +1911,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:1995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:1915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -2018,17 +1938,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:2022: checking for $ac_hdr" >&5
++echo "configure:1942: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2027 "configure"
++#line 1947 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:2032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1952: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2057,12 +1977,12 @@
+
+
+ echo $ac_n "checking for working const""... $ac_c" 1>&6
+-echo "configure:2061: checking for working const" >&5
++echo "configure:1981: checking for working const" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2066 "configure"
++#line 1986 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -2111,7 +2031,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+ else
+@@ -2132,12 +2052,12 @@
+ fi
+
+ echo $ac_n "checking for size_t""... $ac_c" 1>&6
+-echo "configure:2136: checking for size_t" >&5
++echo "configure:2056: checking for size_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2141 "configure"
++#line 2061 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -2169,17 +2089,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:2173: checking for $ac_hdr" >&5
++echo "configure:2093: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2178 "configure"
++#line 2098 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:2183: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:2103: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2208,12 +2128,12 @@
+ for ac_func in getpagesize
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2212: checking for $ac_func" >&5
++echo "configure:2132: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2217 "configure"
++#line 2137 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2236,7 +2156,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2261,7 +2181,7 @@
+ done
+
+ echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+-echo "configure:2265: checking for working mmap" >&5
++echo "configure:2185: checking for working mmap" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2269,7 +2189,7 @@
+ ac_cv_func_mmap_fixed_mapped=no
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2273 "configure"
++#line 2193 "configure"
+ #include "confdefs.h"
+
+ /* Thanks to Mike Haertel and Jim Avera for this test.
+@@ -2409,7 +2329,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:2413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:2333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_func_mmap_fixed_mapped=yes
+ else
diff --git a/java/sablevm/files/patch-ab b/java/sablevm/files/patch-ab
new file mode 100644
index 000000000000..8694a0efaf99
--- /dev/null
+++ b/java/sablevm/files/patch-ab
@@ -0,0 +1,19 @@
+diff -ur sablevm-0.1.6.orig/configure.in sablevm-0.1.6/configure.in
+--- sablevm-0.1.6.orig/configure.in Fri Apr 27 21:14:41 2001
++++ sablevm-0.1.6/configure.in Mon Jul 8 18:12:47 2002
+@@ -47,12 +47,13 @@
+ AC_LIBTOOL_DLOPEN
+ AM_PROG_LIBTOOL
+
++dnl Required FreeBSD compile flags
++CFLAGS="$CFLAGS -D_P1003_1B_VISIBLE -pthread -I/usr/local/include -L/usr/local/lib"
++
+ dnl Checks for libraries.
+-AC_CHECK_LIB(dl,dlopen,echo -n,echo ***ERROR: libdl is missing; exit 1)
+ AC_CHECK_LIB(ffi,ffi_prep_cif,echo -n,echo ***ERROR: libffi is missing; exit 1)
+ AC_CHECK_LIB(m,fmod,echo -n,echo ***ERROR: libm is missing; exit 1)
+ AC_CHECK_LIB(popt,poptGetContext,echo -n,echo ***ERROR: libpopt is missing; exit 1)
+-AC_CHECK_LIB(pthread,pthread_self,echo -n,echo ***ERROR: libpthread is missing; exit 1)
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
diff --git a/java/sablevm/files/patch-ac b/java/sablevm/files/patch-ac
new file mode 100644
index 000000000000..93ae8f01f631
--- /dev/null
+++ b/java/sablevm/files/patch-ac
@@ -0,0 +1,12 @@
+diff -ur sablevm-0.1.6.orig/src/libsablevm/Makefile.am sablevm-0.1.6/src/libsablevm/Makefile.am
+--- sablevm-0.1.6.orig/src/libsablevm/Makefile.am Fri Apr 20 04:30:45 2001
++++ sablevm-0.1.6/src/libsablevm/Makefile.am Mon Jul 8 18:12:47 2002
+@@ -68,7 +68,7 @@
+ native.c \
+ native.h
+
+-libsablevm_la_LIBADD = -lpthread -lm -ldl -lffi
++libsablevm_la_LIBADD = -lm -L@libdir@ -lffi
+ ## -lefence
+
+ libsablevm_la_LDFLAGS = -version-info @LIBVERSION@
diff --git a/java/sablevm/files/patch-ad b/java/sablevm/files/patch-ad
new file mode 100644
index 000000000000..7a081127887f
--- /dev/null
+++ b/java/sablevm/files/patch-ad
@@ -0,0 +1,12 @@
+diff -ur sablevm-0.1.6.orig/src/libsablevm/Makefile.in sablevm-0.1.6/src/libsablevm/Makefile.in
+--- sablevm-0.1.6.orig/src/libsablevm/Makefile.in Fri Apr 27 21:54:35 2001
++++ sablevm-0.1.6/src/libsablevm/Makefile.in Mon Jul 8 18:13:03 2002
+@@ -83,7 +83,7 @@
+ libsablevm_la_SOURCES = constants.h includes.h jnidefs.h invoke_interface.c invoke_interface.h init.c init.h types.h alloc.c alloc.h thread.c thread.h util.c util.h native_interface.c native_interface.h class_loader.c class_loader.h macros.c macros.h clalloc.h clalloc.c error.c error.h system.c system.h class_file.c class_file.h class_init.c class_init.h verifier.c verifier.h resolve.c resolve.h global_refs.c global_refs.h local_refs.c local_refs.h prepare.c prepare.h prepare_code.c prepare_code.h heap_manager.c heap_manager.h interpreter.c interpreter.h method_invoke.c method_invoke.h pthread_rec_svm.c pthread_rec_svm.h vmlib.c vmlib.h native.c native.h
+
+
+-libsablevm_la_LIBADD = -lpthread -lm -ldl -lffi
++libsablevm_la_LIBADD = -lm -L@libdir@ -lffi
+
+ libsablevm_la_LDFLAGS = -version-info @LIBVERSION@
+
diff --git a/java/sablevm/files/patch-ae b/java/sablevm/files/patch-ae
new file mode 100644
index 000000000000..4e77bebea848
--- /dev/null
+++ b/java/sablevm/files/patch-ae
@@ -0,0 +1,17 @@
+diff -ur sablevm-0.1.6.orig/src/libsablevm/error.c sablevm-0.1.6/src/libsablevm/error.c
+--- sablevm-0.1.6.orig/src/libsablevm/error.c Sun Apr 15 03:52:45 2001
++++ sablevm-0.1.6/src/libsablevm/error.c Tue Jul 9 13:11:04 2002
+@@ -202,11 +202,13 @@
+ {
+ /* probably NULL pointer exception. Let's check... */
+
++#if 0
+ if (info->si_addr != NULL)
+ {
+ /* not a NULL memory access. We don't handle this. */
+ goto delegate_0;
+ }
++#endif
+
+ signal_throw (NULL_POINTER_EXCEPTION);
+ }
diff --git a/java/sablevm/files/patch-af b/java/sablevm/files/patch-af
new file mode 100644
index 000000000000..83694199c7e0
--- /dev/null
+++ b/java/sablevm/files/patch-af
@@ -0,0 +1,12 @@
+diff -ur sablevm-0.1.6.orig/src/sablevm/Makefile.am sablevm-0.1.6/src/sablevm/Makefile.am
+--- sablevm-0.1.6.orig/src/sablevm/Makefile.am Sat Apr 14 11:36:47 2001
++++ sablevm-0.1.6/src/sablevm/Makefile.am Mon Jul 8 18:12:47 2002
+@@ -7,7 +7,7 @@
+
+ bin_PROGRAMS = sablevm
+
+-sablevm_LDADD = ../libsablevm/libsablevm.la -lpopt
++sablevm_LDADD = ../libsablevm/libsablevm.la -L@libdir@ -lpopt
+
+ sablevm_SOURCES = \
+ sablevm.c sablevm.h
diff --git a/java/sablevm/files/patch-ag b/java/sablevm/files/patch-ag
new file mode 100644
index 000000000000..7151893e90e5
--- /dev/null
+++ b/java/sablevm/files/patch-ag
@@ -0,0 +1,12 @@
+diff -ur sablevm-0.1.6.orig/src/sablevm/Makefile.in sablevm-0.1.6/src/sablevm/Makefile.in
+--- sablevm-0.1.6.orig/src/sablevm/Makefile.in Fri Apr 27 21:54:38 2001
++++ sablevm-0.1.6/src/sablevm/Makefile.in Mon Jul 8 18:13:03 2002
+@@ -75,7 +75,7 @@
+
+ bin_PROGRAMS = sablevm
+
+-sablevm_LDADD = ../libsablevm/libsablevm.la -lpopt
++sablevm_LDADD = ../libsablevm/libsablevm.la -L@libdir@ -lpopt
+
+ sablevm_SOURCES = sablevm.c sablevm.h
+
diff --git a/java/sablevm/pkg-comment b/java/sablevm/pkg-comment
new file mode 100644
index 000000000000..55cce2bed169
--- /dev/null
+++ b/java/sablevm/pkg-comment
@@ -0,0 +1 @@
+Java VM created by McGill University's Sable Research Group
diff --git a/java/sablevm/pkg-descr b/java/sablevm/pkg-descr
new file mode 100644
index 000000000000..cf1afc3883a8
--- /dev/null
+++ b/java/sablevm/pkg-descr
@@ -0,0 +1,11 @@
+SableVM implements the Java virtual machine specification, second edition.
+
+SableVM is a bytecode interpreter. It's goals are to be reasonably small,
+efficient, and fast, as well as providing a well-designed platform for
+doing research into different algorithms for bytecode interpretation,
+garbage collection, memory management, etc.
+
+SableVM uses a modified version of the GNU Classpath Java classes;
+these classes are installed by the "sablepath" port.
+
+WWW: http://www.sablevm.org/
diff --git a/java/sablevm/pkg-plist b/java/sablevm/pkg-plist
new file mode 100644
index 000000000000..1b64622456c5
--- /dev/null
+++ b/java/sablevm/pkg-plist
@@ -0,0 +1,11 @@
+bin/sablevm
+include/jni.h
+include/jni_system_specific.h
+lib/libsablevm.a
+lib/libsablevm.la
+lib/libsablevm.so
+lib/libsablevm.so.0
+share/sablevm/AUTHORS
+share/sablevm/COPYING
+share/sablevm/LICENSE
+@dirrm share/sablevm