summaryrefslogtreecommitdiff
path: root/java/cacao
diff options
context:
space:
mode:
Diffstat (limited to 'java/cacao')
-rw-r--r--java/cacao/Makefile41
-rw-r--r--java/cacao/distinfo4
-rw-r--r--java/cacao/files/patch-boehm-gc-configure10
-rw-r--r--java/cacao/files/patch-boehm-gc-dbg_ml.c56
-rw-r--r--java/cacao/files/patch-boehm-gc-dyn_load.c15
-rw-r--r--java/cacao/files/patch-boehm-gc-include-private-gcconfig.h74
-rw-r--r--java/cacao/files/patch-boehm-gc-os_dep.c29
-rw-r--r--java/cacao/files/patch-configure30
-rw-r--r--java/cacao/files/patch-src-native-jni.h16
-rw-r--r--java/cacao/pkg-plist6
10 files changed, 97 insertions, 184 deletions
diff --git a/java/cacao/Makefile b/java/cacao/Makefile
index 2d2f7bd301ad..5369c02b4cda 100644
--- a/java/cacao/Makefile
+++ b/java/cacao/Makefile
@@ -1,40 +1,39 @@
-# New ports collection makefile for: cacao
-# Date created: 2005-04-28
-# Whom: arved
-#
+# Created by: Tilman Keskinoz <arved@FreeBSD.org>
# $FreeBSD$
PORTNAME= cacao
-PORTVERSION= 0.98
-PORTREVISION= 7
+PORTVERSION= 1.6.0
CATEGORIES= java devel
MASTER_SITES= http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PORTVERSION}/
-MAINTAINER= bkoenig@alpha-tierchen.de
+MAINTAINER= java@FreeBSD.org
COMMENT= JIT compiler for JAVA
+LICENSE= GPLv2
+
BUILD_DEPENDS= ${LOCALBASE}/share/classpath/glibj.zip:${PORTSDIR}/java/classpath
-USE_BZIP2= yes
+GNU_CONFIGURE= yes
USE_AUTOTOOLS= libltdl
+USE_GMAKE= yes
USE_JAVA= yes
JAVA_VERSION= 1.5+
-GNU_CONFIGURE= yes
-MAN1= cacao.1
-CONFIGURE_ARGS+= --with-classpath-prefix=${LOCALBASE}
-LDFLAGS+= -L${LOCALBASE}/lib
-CFLAGS+= -I${LOCALBASE}/include
+USE_XZ= yes
-.include <bsd.port.pre.mk>
+MAN1= cacao.1
-.if ${ARCH} == amd64
-IGNORE= unsupported architecture
-.endif
+CFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
-post-patch:
- ${REINPLACE_CMD} -e "s, man,," ${WRKSRC}/Makefile.in
+CONFIGURE_ARGS+= --enable-jre-layout
+CONFIGURE_ARGS+= --with-java-runtime-library-prefix=${LOCALBASE}
+CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
-post-install:
+do-install:
+ ${MKDIR} ${DATADIR}
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/cacao/cacao ${PREFIX}/bin
+ ${INSTALL_LIB} ${WRKSRC}/src/cacao/.libs/libjvm.so ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC}/src/classes/vm.zip ${DATADIR}
${INSTALL_MAN} ${WRKSRC}/man/cacao.1 ${MANPREFIX}/man/man1
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/java/cacao/distinfo b/java/cacao/distinfo
index 9cb95d1a26ed..c3430b1c32d1 100644
--- a/java/cacao/distinfo
+++ b/java/cacao/distinfo
@@ -1,2 +1,2 @@
-SHA256 (cacao-0.98.tar.bz2) = cb9363add825cedf77764fc49a223aaf43f0a9f485b711ba8c92f16b13fff188
-SIZE (cacao-0.98.tar.bz2) = 2393690
+SHA256 (cacao-1.6.0.tar.xz) = e654e5f158b8fdc0b1282efacc370f6e65ee6c0336945506e86fd7e705d98626
+SIZE (cacao-1.6.0.tar.xz) = 2394588
diff --git a/java/cacao/files/patch-boehm-gc-configure b/java/cacao/files/patch-boehm-gc-configure
new file mode 100644
index 000000000000..b7b7a162b5ff
--- /dev/null
+++ b/java/cacao/files/patch-boehm-gc-configure
@@ -0,0 +1,10 @@
+--- src/mm/boehm-gc/configure.orig 2012-09-03 12:10:04.000000000 -0400
++++ src/mm/boehm-gc/configure 2012-09-19 14:42:52.000000000 -0400
+@@ -5063,6 +5063,7 @@
+ $as_echo "#define GC_FREEBSD_THREADS 1" >>confdefs.h
+
+ INCLUDES="$INCLUDES -pthread"
++ THREADDLLIBS=$PTHREAD_LIBS
+ ;;
+ *-*-kfreebsd*-gnu)
+ $as_echo "#define GC_FREEBSD_THREADS 1" >>confdefs.h
diff --git a/java/cacao/files/patch-boehm-gc-dbg_ml.c b/java/cacao/files/patch-boehm-gc-dbg_ml.c
index 6af1b9490cbe..216ff347a3e2 100644
--- a/java/cacao/files/patch-boehm-gc-dbg_ml.c
+++ b/java/cacao/files/patch-boehm-gc-dbg_ml.c
@@ -1,6 +1,6 @@
---- src/boehm-gc/dbg_mlc.c.orig Tue May 13 16:59:49 2003
-+++ src/mm/boehm-gc/dbg_mlc.c Wed May 12 20:13:19 2004
-@@ -414,6 +414,23 @@
+--- src/mm/boehm-gc/dbg_mlc.c.orig 2012-09-03 12:10:00.000000000 -0400
++++ src/mm/boehm-gc/dbg_mlc.c 2012-09-19 13:02:15.000000000 -0400
+@@ -466,10 +466,34 @@
GC_register_displacement((word)sizeof(oh) + offset);
}
@@ -13,46 +13,43 @@
+{
+ Dl_info caller;
+ if (dladdr((const void *)ad, &caller) && caller.dli_sname != NULL) {
-+ *symp = caller.dli_sname;
-+ *offp = (const char *)ad - (const char *)caller.dli_saddr;
++ *symp = caller.dli_sname;
++ *offp = (const char *)ad - (const char *)caller.dli_saddr;
+ }
+}
+#else
+#define GC_caller_func(ad, symp, offp)
+#endif
+
- # ifdef __STDC__
- GC_PTR GC_debug_malloc(size_t lb, GC_EXTRA_PARAMS)
- # else
-@@ -428,6 +445,13 @@
+ GC_API void * GC_CALL GC_debug_malloc(size_t lb, GC_EXTRA_PARAMS)
{
- GC_PTR result = GC_malloc(lb + DEBUG_BYTES);
-
+ void * result = GC_malloc(lb + DEBUG_BYTES);
+
+#ifdef GC_ADD_CALLER
+ if (s == NULL) {
-+ GC_caller_func_offset(ra, &s, &i);
-+ if (s == NULL)
-+ s = "unknown";
++ GC_caller_func_offset(ra, &s, &i);
++ if (s == NULL)
++ s = "unknown";
+ }
+#endif
if (result == 0) {
- GC_err_printf1("GC_debug_malloc(%ld) returning NIL (",
- (unsigned long) lb);
-@@ -789,6 +813,13 @@
- register size_t old_sz;
- register hdr * hhdr;
-
+ GC_err_printf("GC_debug_malloc(%lu) returning NIL (",
+ (unsigned long) lb);
+@@ -792,6 +816,13 @@
+ size_t old_sz;
+ hdr * hhdr;
+
+#ifdef GC_ADD_CALLER
+ if (s == NULL) {
-+ GC_caller_func_offset(ra, &s, &i);
-+ if (s == NULL)
-+ s = "unknown";
++ GC_caller_func_offset(ra, &s, &i);
++ if (s == NULL)
++ s = "unknown";
+ }
+#endif
if (p == 0) return(GC_debug_malloc(lb, OPT_RA s, i));
+ base = GC_base(p);
if (base == 0) {
- GC_err_printf1(
-@@ -1094,7 +1125,11 @@
+@@ -1098,17 +1129,21 @@
}
#ifdef GC_ADD_CALLER
@@ -65,17 +62,14 @@
#else
# define RA
#endif
-@@ -1102,12 +1137,12 @@
- GC_PTR GC_debug_malloc_replacement(lb)
- size_t lb;
+
+ GC_API void * GC_CALL GC_debug_malloc_replacement(size_t lb)
{
- return GC_debug_malloc(lb, RA "unknown", 0);
+ return GC_debug_malloc(lb, RA NULL, 0);
}
- GC_PTR GC_debug_realloc_replacement(p, lb)
- GC_PTR p;
- size_t lb;
+ GC_API void * GC_CALL GC_debug_realloc_replacement(void *p, size_t lb)
{
- return GC_debug_realloc(p, lb, RA "unknown", 0);
+ return GC_debug_realloc(p, lb, RA NULL, 0);
diff --git a/java/cacao/files/patch-boehm-gc-dyn_load.c b/java/cacao/files/patch-boehm-gc-dyn_load.c
deleted file mode 100644
index f9d834e8f59e..000000000000
--- a/java/cacao/files/patch-boehm-gc-dyn_load.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/boehm-gc/dyn_load.c.orig Thu May 6 08:03:06 2004
-+++ src/mm/boehm-gc/dyn_load.c Sun Oct 31 01:53:01 2004
-@@ -97,6 +97,12 @@
- # else
- # define ElfW(type) Elf64_##type
- # endif
-+# elif defined(__FreeBSD__)
-+# if __ELF_WORD_SIZE == 32
-+# define ElfW(type) Elf32_##type
-+# else
-+# define ElfW(type) Elf64_##type
-+# endif
- # else
- # if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
- # define ElfW(type) Elf32_##type
diff --git a/java/cacao/files/patch-boehm-gc-include-private-gcconfig.h b/java/cacao/files/patch-boehm-gc-include-private-gcconfig.h
index 5c70445450c8..5f7dc735c541 100644
--- a/java/cacao/files/patch-boehm-gc-include-private-gcconfig.h
+++ b/java/cacao/files/patch-boehm-gc-include-private-gcconfig.h
@@ -1,31 +1,21 @@
---- src/boehm-gc/include/private/gcconfig.h.rorig Sat Oct 15 16:40:25 2005
-+++ src/mm/boehm-gc/include/private/gcconfig.h Sat Oct 15 16:42:43 2005
-@@ -62,7 +62,7 @@
+--- src/mm/boehm-gc/include/private/gcconfig.h.orig 2012-09-03 12:10:00.000000000 -0400
++++ src/mm/boehm-gc/include/private/gcconfig.h 2012-09-19 13:39:49.000000000 -0400
+@@ -69,8 +69,9 @@
/* Determine the machine type: */
# if defined(__arm__) || defined(__thumb__)
# define ARM32
--# if !defined(LINUX) && !defined(NETBSD)
-+# if !defined(LINUX) && !defined(NETBSD) && !defined(FREEBSD)
+-# if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD) \
+- && !defined(DARWIN) && !defined(_WIN32) && !defined(__CEGCC__)
++# if !defined(LINUX) && !defined(FREEBSD) && !defined(NETBSD) \
++ && !defined(OPENBSD) && !defined(DARWIN) && !defined(_WIN32) \
++ && !defined(__CEGCC__)
# define NOSYS
# define mach_type_known
# endif
-@@ -334,10 +334,22 @@
- # define X86_64
- # define mach_type_known
- # endif
-+# if defined(__FreeBSD__) && defined(__amd64__)
-+# define X86_64
-+# define mach_type_known
-+# endif
- # if defined(FREEBSD) && defined(__sparc__)
+@@ -366,6 +367,10 @@
# define SPARC
# define mach_type_known
--#endif
-+# endif
-+# if defined(FREEBSD) && defined(__powerpc__)
-+# define POWERPC
-+# define mach_type_known
-+# endif
+ # endif
+# if defined(FREEBSD) && defined(__arm__)
+# define ARM32
+# define mach_type_known
@@ -33,8 +23,8 @@
# if defined(bsdi) && (defined(i386) || defined(__i386__))
# define I386
# define BSDI
-@@ -845,6 +857,16 @@
- # define DATASTART GC_data_start
+@@ -1898,6 +1903,16 @@
+ # define DATAEND ((ptr_t)(&_end))
# define DYNAMIC_LOADING
# endif
+# ifdef FREEBSD
@@ -48,41 +38,5 @@
+# define SEARCH_FOR_DATA_START
+# endif
# ifdef NOSYS
- # define ALIGNMENT 4
- # define OS_TYPE "NOSYS"
-@@ -1807,6 +1829,17 @@
- # endif
- # define USE_GENERIC_PUSH_REGS
- # endif
-+# ifdef FREEBSD
-+# define ALIGNMENT 4
-+# define OS_TYPE "FREEBSD"
-+# ifdef __ELF__
-+# define DYNAMIC_LOADING
-+# endif
-+# define HEURISTIC2
-+ extern char etext[];
-+# define SEARCH_FOR_DATA_START
-+# endif
-+
- # ifdef LINUX
- # define OS_TYPE "LINUX"
- # define LINUX_STACKBOTTOM
-@@ -1957,6 +1990,17 @@
- # ifdef __ELF__
- # define DYNAMIC_LOADING
- # endif
-+# define HEURISTIC2
-+ extern char etext[];
-+# define SEARCH_FOR_DATA_START
-+# endif
-+# ifdef FREEBSD
-+# define OS_TYPE "FREEBSD"
-+# define SIG_SUSPEND SIGUSR1
-+# define SIG_THR_RESTART SIGUSR2
-+# ifdef __ELF__
-+# define DYNAMIC_LOADING
-+# endif
- # define HEURISTIC2
- extern char etext[];
- # define SEARCH_FOR_DATA_START
+ /* __data_start is usually defined in the target linker script. */
+ extern int __data_start[];
diff --git a/java/cacao/files/patch-boehm-gc-os_dep.c b/java/cacao/files/patch-boehm-gc-os_dep.c
deleted file mode 100644
index 657ac9500dd5..000000000000
--- a/java/cacao/files/patch-boehm-gc-os_dep.c
+++ /dev/null
@@ -1,29 +0,0 @@
---- src/boehm-gc/os_dep.c.orig Thu May 19 20:48:49 2005
-+++ src/mm/boehm-gc/os_dep.c Fri Jun 17 21:28:07 2005
-@@ -699,7 +699,7 @@
- || defined(HURD) || defined(NETBSD)
- static struct sigaction old_segv_act;
- # if defined(IRIX5) || defined(HPUX) \
-- || defined(HURD) || defined(NETBSD)
-+ || defined(HURD) || defined(NETBSD) || defined(FREEBSD)
- static struct sigaction old_bus_act;
- # endif
- # else
-@@ -714,7 +714,7 @@
- # endif
- {
- # if defined(SUNOS5SIGS) || defined(IRIX5) \
-- || defined(OSF1) || defined(HURD) || defined(NETBSD)
-+ || defined(OSF1) || defined(HURD) || defined(NETBSD) || defined(FREEBSD)
- struct sigaction act;
-
- act.sa_handler = h;
-@@ -736,7 +736,7 @@
- # else
- (void) sigaction(SIGSEGV, &act, &old_segv_act);
- # if defined(IRIX5) \
-- || defined(HPUX) || defined(HURD) || defined(NETBSD)
-+ || defined(HPUX) || defined(HURD) || defined(NETBSD) || defined(FREEBSD)
- /* Under Irix 5.x or HP/UX, we may get SIGBUS. */
- /* Pthreads doesn't exist under Irix 5.x, so we */
- /* don't have to worry in the threads case. */
diff --git a/java/cacao/files/patch-configure b/java/cacao/files/patch-configure
index 813d8e010b3c..266529eeb03c 100644
--- a/java/cacao/files/patch-configure
+++ b/java/cacao/files/patch-configure
@@ -1,11 +1,29 @@
---- configure.orig Sun Feb 4 14:38:16 2007
-+++ configure Sun Feb 4 15:30:30 2007
-@@ -2662,7 +2661,7 @@
- ARCH_CFLAGS="-mcpu=v9 -m64 -D__SPARC_64__"
+--- configure.orig 2012-09-03 12:10:16.000000000 -0400
++++ configure 2012-09-19 19:08:48.000000000 -0400
+@@ -3626,7 +3626,7 @@
+ JAVA_ARCH="sparc"
;;
-x86_64 )
+x86_64 | amd64 )
ARCH_DIR="x86_64"
- ARCH_CFLAGS="-D__X86_64__"
- ;;
+ ARCH_FLAGS="-m64 -D__X86_64__"
+ JAVA_ARCH="amd64"
+@@ -9731,7 +9731,7 @@
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpthread $LIBS"
++LIBS="$PTHREAD_LIBS $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -9760,7 +9760,7 @@
+ #define HAVE_LIBPTHREAD 1
+ _ACEOF
+
+- LIBS="-lpthread $LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
+
+ fi
+
diff --git a/java/cacao/files/patch-src-native-jni.h b/java/cacao/files/patch-src-native-jni.h
deleted file mode 100644
index 048fa5709b0c..000000000000
--- a/java/cacao/files/patch-src-native-jni.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- src/native/jni.h.orig 2007-04-02 13:23:24.000000000 +0200
-+++ src/native/jni.h 2009-01-15 20:32:31.000000000 +0100
-@@ -45,10 +45,12 @@
-
- #include CLASSPATH_JNI_H
-
--
- #ifndef _JNI_H
- #define _JNI_H
-
-+#define JNINativeInterface JNINativeInterface_
-+#define JNIInvokeInterface JNIInvokeInterface_
-+
- /* forward typedefs ***********************************************************/
-
- typedef struct localref_table localref_table;
diff --git a/java/cacao/pkg-plist b/java/cacao/pkg-plist
index 01a3b1a51278..885e80e1cb75 100644
--- a/java/cacao/pkg-plist
+++ b/java/cacao/pkg-plist
@@ -1,6 +1,4 @@
bin/cacao
-lib/libjvm.la
lib/libjvm.so
-lib/libjvm-0.98.so
-share/cacao/vm.zip
-@dirrm share/cacao
+%%DATADIR%%/vm.zip
+@dirrm %%DATADIR%%