summaryrefslogtreecommitdiff
path: root/package/cacaovm
diff options
context:
space:
mode:
Diffstat (limited to 'package/cacaovm')
-rw-r--r--package/cacaovm/Makefile50
-rw-r--r--package/cacaovm/patches/patch-src_cacaoh_headers_c14
-rw-r--r--package/cacaovm/patches/patch-src_threads_posix_thread-posix_h14
3 files changed, 78 insertions, 0 deletions
diff --git a/package/cacaovm/Makefile b/package/cacaovm/Makefile
new file mode 100644
index 000000000..1d85a420a
--- /dev/null
+++ b/package/cacaovm/Makefile
@@ -0,0 +1,50 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= cacaovm
+PKG_VERSION:= 0.99.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 63220327925ace13756ae334c55a3baa
+PKG_DESCR:= Java VM
+PKG_SECTION:= lang
+PKG_BUILDDEP:= classpath zlib
+PKG_DEPENDS:= classpath zlib
+PKG_URL:= http://www.cacaovm.org/
+PKG_SITES:= http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.99.4/
+
+WRKDIST= ${WRKDIR}/cacao-${PKG_VERSION}
+DISTFILES:= cacao-${PKG_VERSION}.tar.bz2
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,CACAOVM,cacaovm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+= --with-jni_md_h=${STAGING_TARGET_DIR}/usr/include \
+ --with-java-runtime-library-prefix=${STAGING_TARGET_DIR}/usr \
+ --with-cacaoh=${STAGING_TARGET_DIR}/bin/cacaoh
+
+post-patch:
+ (cd ${WRKBUILD}; ./configure \
+ --enable-jit \
+ --with-java-runtime-library-prefix=/opt/local \
+ --enable-gc=none \
+ );
+ $(MAKE) -C ${WRKBUILD}/src/vmcore
+ $(MAKE) -C ${WRKBUILD}/src/toolbox
+ $(MAKE) -C ${WRKBUILD}/src/cacaoh
+ $(CP) $(WRKBUILD)/src/cacaoh/cacaoh $(STAGING_TARGET_DIR)/bin
+ $(MAKE) -C ${WRKBUILD} clean
+
+cacaovm-install:
+ $(INSTALL_DIR) $(IDIR_CACAOVM)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libjvm.so $(IDIR_CACAOVM)/usr/lib
+ $(INSTALL_DIR) $(IDIR_CACAOVM)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/cacao $(IDIR_CACAOVM)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/java $(IDIR_CACAOVM)/usr/bin
+ $(INSTALL_DIR) $(IDIR_CACAOVM)/usr/share/cacao
+ $(CP) $(WRKINST)/usr/share/cacao/vm.zip \
+ $(IDIR_CACAOVM)/usr/share/cacao
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cacaovm/patches/patch-src_cacaoh_headers_c b/package/cacaovm/patches/patch-src_cacaoh_headers_c
new file mode 100644
index 000000000..0e1ca0923
--- /dev/null
+++ b/package/cacaovm/patches/patch-src_cacaoh_headers_c
@@ -0,0 +1,14 @@
+--- cacao-0.99.4.orig/src/cacaoh/headers.c 2008-08-04 18:51:28.000000000 +0200
++++ cacao-0.99.4/src/cacaoh/headers.c 2011-03-26 20:11:11.000000000 +0100
+@@ -35,8 +35,10 @@
+ #if defined(ENABLE_THREADS)
+ # if defined(__DARWIN__)
+ # include <signal.h>
++# include <sys/ucontext.h>
++# else
++# include <ucontext.h>
+ # endif
+-# include <ucontext.h>
+ #endif
+
+ #include "mm/gc-common.h"
diff --git a/package/cacaovm/patches/patch-src_threads_posix_thread-posix_h b/package/cacaovm/patches/patch-src_threads_posix_thread-posix_h
new file mode 100644
index 000000000..fc43526fb
--- /dev/null
+++ b/package/cacaovm/patches/patch-src_threads_posix_thread-posix_h
@@ -0,0 +1,14 @@
+--- cacao-0.99.4.orig/src/threads/posix/thread-posix.h 2008-08-04 18:51:28.000000000 +0200
++++ cacao-0.99.4/src/threads/posix/thread-posix.h 2011-03-26 20:12:13.000000000 +0100
+@@ -34,7 +34,11 @@ typedef struct threadobject threadobject
+ #include "config.h"
+
+ #include <pthread.h>
++#if defined(__DARWIN__)
++#include <sys/ucontext.h>
++#else
+ #include <ucontext.h>
++#endif
+
+ #include "vm/types.h"
+