- Update to 1.13

- Take maintainership
- Split classpath into separate port
- Switch to libffi-devel to allow build on !386

PR:		ports/118288, ports/118312
Submitted by:	Bjoern Koenig <bkoenig@alpha-tierchen.de>
This commit is contained in:
Pav Lucistnik 2007-12-15 18:31:01 +00:00
parent c3987cc2e6
commit b0a5eaa553
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=203766
11 changed files with 5708 additions and 2918 deletions

View file

@ -144,6 +144,7 @@
SUBDIR += poseidon
SUBDIR += proguard
SUBDIR += sablevm
SUBDIR += sablevm-classpath
SUBDIR += shujit
SUBDIR += simplicity
SUBDIR += sun-wtk

View file

@ -0,0 +1,50 @@
# ex:ts=8
# New ports collection makefile for: sablevm
# Date created: 26 Nov 2007
# Whom: Björn König <bkoenig@alpha-tierchen.de>
#
# $FreeBSD$
#
PORTNAME= sablevm-classpath
PORTVERSION= 1.13
CATEGORIES= java
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= sablevm
MAINTAINER= bkoenig@alpha-tierchen.de
COMMENT= Classpath of SableVM
BUILD_DEPENDS= jikes:${PORTSDIR}/java/jikes
OPTIONS= GTK2 "Enable Gtk+ AWT peer" ON \
CAIRO "Use Cairo based Graphics2D" OFF
CONFLICTS= classpath-*
GNU_CONFIGURE= yes
USE_GNOME= # empty
USE_GMAKE= yes
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
PLIST_SUB+= PORTVERSION=${PORTVERSION}
CONFIGURE_ENV= CFLAGS="-I${PREFIX}/include -L${PREFIX}/lib -I${LOCALBASE}/include -L${LOCALBASE}/lib"
.include <bsd.port.pre.mk>
.if defined(WITHOUT_GTK2)
CONFIGURE_ARGS+= --disable-gtk-peer
PLIST_SUB+= GTK2="@comment "
.else
USE_GNOME+= gtk20
PLIST_SUB+= GTK2=""
.if defined(WITH_CAIRO)
CONFIGURE_ARGS+= --enable-gtk-cairo
.endif
.endif
post-extract:
@${REINPLACE_CMD} -e 's,^\(include_HEADERS = \)jni.h jni_md.h \(.*\),\1\2,' \
${WRKSRC}/include/Makefile.in
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
MD5 (sablevm-classpath-1.13.tar.gz) = fe80530f6b597cb0f5cdb372a633d921
SHA256 (sablevm-classpath-1.13.tar.gz) = 82ff01d36916b2a1b4420cfdf456275d6422d47d0d9a5055ebf0b588bef3d0e3
SIZE (sablevm-classpath-1.13.tar.gz) = 6842606

View file

@ -0,0 +1,8 @@
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.
WWW: http://www.sablevm.org/

File diff suppressed because it is too large Load diff

View file

@ -6,53 +6,44 @@
#
PORTNAME= sablevm
PORTVERSION= 1.1.6
PORTREVISION= 6
PORTVERSION= 1.13
CATEGORIES= java
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=sablevm
DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
${PORTNAME}-classpath-${PORTVERSION}${EXTRACT_SUFX}
MASTER_SITE_SUBDIR= sablevm
MAINTAINER= ports@FreeBSD.org
MAINTAINER= bkoenig@alpha-tierchen.de
COMMENT= Java VM created by McGill University's Sable Research Group
BUILD_DEPENDS= jikes:${PORTSDIR}/java/jikes
LIB_DEPENDS= popt:${PORTSDIR}/devel/popt \
ffi:${PORTSDIR}/devel/libffi \
gtk-x11-2.0:${PORTSDIR}/x11-toolkits/gtk20 \
art_lgpl_2:${PORTSDIR}/graphics/libart_lgpl
ffi:${PORTSDIR}/devel/libffi-devel
USE_AUTOTOOLS= autoconf:261 libltdl:15 libtool:15
#GNU_CONFIGURE= yes
GNU_CONFIGURE= yes
USE_AUTOTOOLS= libltdl
USE_GMAKE= yes
USE_LDCONFIG= yes
PLIST_SUB= PORTVERSION=${PORTVERSION}
CONFIGURE_ENV= CFLAGS="-I${PREFIX}/include -L${PREFIX}/lib"
ONLY_FOR_ARCHS= i386
CONFIGURE_ENV= CFLAGS="-I${PREFIX}/include -L${PREFIX}/lib -I${LOCALBASE}/include -L${LOCALBASE}/lib"
OPTIONS= SVMCP "Install SableVM classpath" ON \
MAN "Build and install man pages" ON
CONFLICTS= classpath-*
.include <bsd.port.pre.mk>
.if !defined(WITHOUT_SVMCP)
RUN_DEPENDS+= ${LOCALBASE}/share/sablevm-classpath/java/lang/Object.class:${PORTSDIR}/java/sablevm-classpath
.endif
.if !defined(WITHOUT_MAN)
MAN1= java-sablevm.1 sablevm.1
.else
.endif
INFO= hacking vmintegration
post-extract:
@${REINPLACE_CMD} -e 's,^subdirs=".*,,' ${WRKSRC}/configure
.if defined(WITHOUT_MAN)
@${REINPLACE_CMD} -e 's,^\(man_MANS = \).*,\1,' ${WRKSRC}/doc/Makefile.in
.endif
# Directories for the SableVM source components
SABLEVMDIR= ${PORTNAME}-${PORTVERSION}
CLASSPATHDIR= ${PORTNAME}-classpath-${PORTVERSION}
post-patch:
@${REINPLACE_CMD} -e 's|echo aout|echo elf|g' \
${WRKDIR}/${CLASSPATHDIR}/configure
post-build:
@${ECHO} "===> ${CLASSPATHDIR}"
@( cd ${.CURDIR} && ${MAKE} do-configure \
CONFIGURE_WRKSRC=${WRKDIR}/${CLASSPATHDIR})
@( cd ${.CURDIR} && ${MAKE} do-build \
BUILD_WRKSRC=${WRKDIR}/${CLASSPATHDIR} )
post-install:
@${ECHO} "===> ${CLASSPATHDIR}"
@( cd ${.CURDIR} && ${MAKE} do-install \
INSTALL_WRKSRC=${WRKDIR}/${CLASSPATHDIR} )
.include <bsd.port.mk>
.include <bsd.port.post.mk>

View file

@ -1,6 +1,3 @@
MD5 (sablevm-1.1.6.tar.gz) = 94798274f59d9abbd7d09a1050d608de
SHA256 (sablevm-1.1.6.tar.gz) = 5028b50f7961c033d221ce303510ad3baee161132a397596fbdf58d5767f38ec
SIZE (sablevm-1.1.6.tar.gz) = 671107
MD5 (sablevm-classpath-1.1.6.tar.gz) = 6a18a1da253b11dd10d717656a91e8ac
SHA256 (sablevm-classpath-1.1.6.tar.gz) = efcef8f21350bfa1cf9296ad1e41ee41a1d073aa3732a6da1f6243d39bff6562
SIZE (sablevm-classpath-1.1.6.tar.gz) = 3693590
MD5 (sablevm-1.13.tar.gz) = 1b9603193a8e1fb1c671369b59ed315e
SHA256 (sablevm-1.13.tar.gz) = cf50cc829be45b71126790cd8f6dfc94477ed820a4e8cb49fa2f9aeaf522cfcb
SIZE (sablevm-1.13.tar.gz) = 1410797

View file

@ -1,142 +0,0 @@
Index: src/libsablevm/error.c
===================================================================
--- src/libsablevm/error.c (.../tags/sablevm-1.1.6) (revision 2849)
+++ src/libsablevm/error.c (.../branches/staging) (revision 2849)
@@ -8,6 +8,7 @@
/* We remember previously established signal handlers, so that we can
delegate back to them when we don't handle a signal. */
+static sigset_t _svmv_old_sigset;
static struct sigaction _svmv_old_sigquit;
static struct sigaction _svmv_old_siginterrupt;
@@ -320,8 +321,16 @@
static jint
_svmf_error_init (void)
{
+ sigset_t svmv_sigset;
struct sigaction sa;
+ /* save old sigmask before doing any modifications */
+
+ if (sigprocmask(0, NULL, &_svmv_old_sigset) != 0)
+ {
+ goto error;
+ }
+
_svmm_zero_memory (sa);
/* mask all signals handled by the signal handler */
@@ -392,6 +401,8 @@
#endif /* _SABLEVM_INLINABILITY_TESTING */
#if defined(_SABLEVM_HAS_SIGINFO)
+
+ /* TODO: add signal support for systems w/o SA_SIGINFO */
/* use extended info version */
sa.sa_flags = SA_SIGINFO;
@@ -457,9 +468,77 @@
#endif /* _SABLEVM_HAS_SIGINFO */
+ /* ignore SIGPIPE */
+
+ if (sigemptyset (&svmv_sigset) != 0)
+ {
+ goto error;
+ }
+
+ if (sigaddset (&svmv_sigset, SIGPIPE) != 0)
+ {
+ goto error;
+ }
+
+ if (sigprocmask(SIG_BLOCK, &svmv_sigset, NULL) != 0)
+ {
+ goto error;
+ }
+
return JNI_OK;
error:
return JNI_ERR;
}
+
+/*
+----------------------------------------------------------------------
+_svmf_error_init
+----------------------------------------------------------------------
+*/
+
+/* TODO: call this function from the right place. It's unused currently. */
+
+static jint
+_svmf_error_restore (void)
+{
+#if defined(_SABLEVM_HAS_SIGINFO)
+
+ if (sigaction (SIGQUIT, &_svmv_old_sigquit, NULL) != 0)
+ {
+ goto error;
+ }
+
+ if (sigaction (SVM_INTERRUPT_SIGNAL, &_svmv_old_siginterrupt, NULL) != 0)
+ {
+ goto error;
+ }
+
+#if defined(_SABLEVM_SIGNALS_FOR_EXCEPTIONS) || defined(_SABLEVM_INLINABILITY_TESTING)
+
+ if (sigaction (SIGSEGV, &_svmv_old_sigsegv, NULL) != 0)
+ {
+ goto error;
+ }
+
+ if (sigaction (SIGFPE, &_svmv_old_sigfpe, NULL) != 0)
+ {
+ goto error;
+ }
+
+#endif /* _SABLEVM_SIGNALS_FOR_EXCEPTIONS || _SABLEVM_INLINABILITY_TESTING */
+
+#endif /* _SABLEVM_HAS_SIGINFO */
+
+ if (sigprocmask(SIG_SETMASK, &_svmv_old_sigset, NULL) != 0)
+ {
+ goto error;
+ }
+
+ return JNI_OK;
+
+error:
+
+ return JNI_ERR;
+}
Index: configure.ac
===================================================================
--- configure.ac (.../tags/sablevm-1.1.6) (revision 2849)
+++ configure.ac (.../branches/staging) (revision 2849)
@@ -408,12 +404,12 @@
AC_OUTPUT
dnl check whether 'make' is GNU make
-make_bin=`which make`
-if test "X$make_bin" != "X"; then
- make_test=`$make_bin --version 2>&1 |grep GNU`
- if test "X$make_test" = "X"; then
- AC_MSG_WARN("*** Your 'make' command does NOT seem to be GNU Make. ***")
- AC_MSG_WARN("The build system of SableVM requires GNU Make. On many systems GNU Make")
- AC_MSG_WARN("is installed as 'gmake'.")
- fi
-fi
+dnl make_bin=`which make`
+dnl if test "X$make_bin" != "X"; then
+dnl make_test=`$make_bin --version 2>&1 |grep GNU`
+dnl if test "X$make_test" = "X"; then
+dnl AC_MSG_WARN("*** Your 'make' command does NOT seem to be GNU Make. ***")
+dnl AC_MSG_WARN("The build system of SableVM requires GNU Make. On many systems GNU Make")
+dnl AC_MSG_WARN("is installed as 'gmake'.")
+dnl fi
+dnl fi

View file

@ -1,13 +0,0 @@
Index: native/target/generic/target_generic_network.h
===================================================================
--- ../sablevm-classpath-1.1.6/native/target/generic/target_generic_network.h (.../tags/sablevm-classpath-1.1.6) (revision 2849)
+++ ../sablevm-classpath-1.1.6/native/target/generic/target_generic_network.h (.../branches/staging) (revision 2849)
@@ -570,7 +570,7 @@
#include <netinet/in.h>
#define TARGET_NATIVE_NETWORK_SOCKET_SEND(socketDescriptor,buffer,length,bytesSent) \
do { \
- bytesSent=send(socketDescriptor,buffer,length,MSG_NOSIGNAL); \
+ bytesSent=send(socketDescriptor,buffer,length,0); \
} while (0)
#endif

View file

@ -1,14 +0,0 @@
--- ../sablevm-classpath-1.1.6/native/jni/gtk-peer/gthread-jni.c Mon Jul 19 08:49:17 2004
+++ ../sablevm-classpath-1.1.6/native/jni/gtk-peer/gthread-jni.c Mon Jul 26 16:22:55 2004
@@ -218,7 +218,11 @@
/* Global data */
/************************************************************************/
+#if defined HAVE_STDINT_H
#include <stdint.h> /* provides intptr_t */
+#elif defined HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
#include <stdarg.h> /* va_list */
#include "gthread-jni.h"
#include <assert.h> /* assert() */

File diff suppressed because it is too large Load diff