[oe-commits] org.oe.dev jamvm: Added -initial version.

thebohemian commit openembedded-commits at lists.openembedded.org
Wed Jan 9 13:40:08 UTC 2008


jamvm: Added -initial version.
cacao: Multiple fixes.
  - added -initial version
  - added -native snapshot version
classpath:
  - added -initial version
  - added -native version
ecj:
  - added -initial version
  - added -native version that is compiled from source
jikes:
  - jikes-native is not a virtual/javac-native provider any more

Author: thebohemian at openembedded.org
Branch: org.openembedded.dev
Revision: 64c06913c22a9e5e86178b37c2a23bd8aa5baf77
ViewMTN: http://monotone.openembedded.org/revision/info/64c06913c22a9e5e86178b37c2a23bd8aa5baf77
Files:
1
packages/jamvm/files
packages/cacao/cacao-initial_0.98.bb
packages/cacao/cacao-native.inc
packages/cacao/cacao-native_0.98+hg20071001.bb
packages/cacao/files/cacao-0.98-initial.patch
packages/classpath/classpath-initial_0.93.bb
packages/classpath/classpath-native.inc
packages/classpath/classpath-native_0.96.1.bb
packages/classpath/files/gjar-prefix-patch.diff
packages/ecj/ecj-bootstrap-native_3.3.bb
packages/ecj/ecj-initial_3.3.bb
packages/ecj/files/ecj.in
packages/jamvm/files/jamvm_1.5.0-initial.patch
packages/jamvm/jamvm-initial_1.5.0.bb
packages/jikes/jikes-initial.bb
packages/jikes/jikes-native_1.21.bb
mtn:execute
true
Diffs:

#
# mt diff -rd7fa03e49c13cc4c48551f9ea7d8f18ef558c0f1 -r64c06913c22a9e5e86178b37c2a23bd8aa5baf77
#
# 
# 
# add_dir "packages/jamvm/files"
# 
# add_file "packages/cacao/cacao-initial_0.98.bb"
#  content [154e9de597ec6ab475c760aca2814514979356ea]
# 
# add_file "packages/cacao/cacao-native.inc"
#  content [cc20995498c174c9ac504a54e5d844cfddfb8f3f]
# 
# add_file "packages/cacao/cacao-native_0.98+hg20071001.bb"
#  content [b087b9a24b9593dfff241d8dbafef831492c316b]
# 
# add_file "packages/cacao/files/cacao-0.98-initial.patch"
#  content [0ae2a924095b58fa9168774fc8b8a24c6093e87f]
# 
# add_file "packages/classpath/classpath-initial_0.93.bb"
#  content [dcbd137250c9fd6e2ca0ca88afc7404e9ede289c]
# 
# add_file "packages/classpath/classpath-native.inc"
#  content [ce05671105e08fb6217f1907cf4202d41ebfd512]
# 
# add_file "packages/classpath/classpath-native_0.96.1.bb"
#  content [8b956ee477f32cf28c75a7cd39e9e85373378164]
# 
# add_file "packages/classpath/files/gjar-prefix-patch.diff"
#  content [d511884813b1b0a0b7ea1f16e8e11c32981eb117]
# 
# add_file "packages/ecj/ecj-bootstrap-native_3.3.bb"
#  content [defbc5098ae61f56a2ac8c59ace6bbe9c8007eb3]
# 
# add_file "packages/ecj/ecj-initial_3.3.bb"
#  content [b410a403c3f29b5239ebde0751e23e02f0d3409a]
# 
# add_file "packages/ecj/files/ecj.in"
#  content [ded1ab42bf6383b2789b01c1f98beeb3a909507f]
# 
# add_file "packages/jamvm/files/jamvm_1.5.0-initial.patch"
#  content [91a98ee8f2d7c025af1263c9f0e20fc020521ed2]
# 
# add_file "packages/jamvm/jamvm-initial_1.5.0.bb"
#  content [08d6c4fd24b6e2bf4ac4e75a896b575f9431bfa4]
# 
# add_file "packages/jikes/jikes-initial.bb"
#  content [acb7ab273c93fa5264bb5d431ef94cf91cb08c8b]
# 
# patch "packages/jikes/jikes-native_1.21.bb"
#  from [1259d32e2a9d8f19824f3284c5c62601c2dd947b]
#    to [ceee4d931ba6e74ba4e24d312663180e70c0db0d]
# 
#   set "packages/ecj/files/ecj.in"
#  attr "mtn:execute"
# value "true"
# 
============================================================
--- packages/cacao/cacao-initial_0.98.bb	154e9de597ec6ab475c760aca2814514979356ea
+++ packages/cacao/cacao-initial_0.98.bb	154e9de597ec6ab475c760aca2814514979356ea
@@ -0,0 +1,34 @@
+require cacao-native.inc
+
+PROVIDES = "virtual/java-initial"
+
+DEPENDS = "zlib-native libtool-native fastjar-native classpath-initial jikes-initial"
+
+PR = "r0"
+
+SRC_URI = "\
+        http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2; \
+        file://cacao-0.98-initial.patch;patch=1;pnum=1 \
+        "
+
+# libjvm disabled - it would conflict with cacao-native installations
+EXTRA_OECONF = "\
+    --enable-debug \
+    --with-classpath-libdir=${libdir} \
+    --with-classpath-includedir=${includedir}/classpath-initial \
+    --with-classpath-classes=${datadir}/classpath-initial/glibj.zip \
+    --with-vm-zip=${datadir}/cacao-initial/vm.zip \
+    --program-suffix=-initial \
+    --disable-libjvm \
+    "
+
+# enforces the usage of jikes-initial
+export JAVAC=jikes-initial
+
+# enforces the usage of fastjar
+export JAR=fastjar
+
+do_configure_append() {
+  # Fix the executable name in the wrapper script.
+  sed -i -e "s|exec cacao|exec cacao-initial|" src/scripts/java.in
+}
============================================================
--- packages/cacao/cacao-native.inc	cc20995498c174c9ac504a54e5d844cfddfb8f3f
+++ packages/cacao/cacao-native.inc	cc20995498c174c9ac504a54e5d844cfddfb8f3f
@@ -0,0 +1,27 @@
+DESCRIPTION = "CacaoVM for use as OpenEmbedded's Java VM"
+HOMEPAGE = "http://www.cacaojvm.org/"
+LICENSE  = "GPL"
+PRIORITY = "optional"
+SECTION  = "interpreters"
+
+DEPENDS = "zlib-native libtool-native classpath-native ecj-initial fastjar-native"
+
+PROVIDES = "virtual/java-native"
+
+S = "${WORKDIR}/cacao-${PV}"
+
+inherit native autotools
+
+EXTRA_OECONF = "\
+    --enable-debug \
+    --with-classpath-libdir=${libdir} \
+    --with-classpath-includedir=${includedir}/classpath \
+    --with-classpath-classes=${datadir}/classpath/glibj.zip \
+    --with-vm-zip=${datadir}/cacao/vm.zip \
+    "
+
+# force usage of ecj-initial (but Java5-compatible class library)
+export JAVAC="${STAGING_BINDIR_NATIVE}/ecj-initial -bootclasspath ${STAGING_DATADIR_NATIVE}/classpath/glibj.zip"
+
+# force usage of fastjar
+export JAR=fastjar
============================================================
--- packages/cacao/cacao-native_0.98+hg20071001.bb	b087b9a24b9593dfff241d8dbafef831492c316b
+++ packages/cacao/cacao-native_0.98+hg20071001.bb	b087b9a24b9593dfff241d8dbafef831492c316b
@@ -0,0 +1,5 @@
+require cacao-native.inc
+
+PR = "r1"
+
+SRC_URI = "http://jalimo.evolvis.org/repository/sources/cacao-${PV}.tar.bz2;md5sum=9ff10c929bd0cbf15909107c1aff7518"
============================================================
--- packages/cacao/files/cacao-0.98-initial.patch	0ae2a924095b58fa9168774fc8b8a24c6093e87f
+++ packages/cacao/files/cacao-0.98-initial.patch	0ae2a924095b58fa9168774fc8b8a24c6093e87f
@@ -0,0 +1,45 @@
+Index: cacao-0.98/configure.ac
+===================================================================
+--- cacao-0.98.orig/configure.ac	2007-12-19 22:07:55.000000000 +0100
++++ cacao-0.98/configure.ac	2007-12-19 22:08:02.000000000 +0100
+@@ -27,7 +27,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+ 
+ 
+-AC_INIT(cacao, 0.98, cacao at cacaojvm.org)
++AC_INIT(cacao-initial, 0.98, cacao at cacaojvm.org)
+ AC_CONFIG_SRCDIR(src/cacao/cacao.c)
+ AC_CANONICAL_HOST
+ AC_PREREQ(2.59)
+Index: cacao-0.98/src/vm/vm.c
+===================================================================
+--- cacao-0.98.orig/src/vm/vm.c	2007-12-19 22:31:19.000000000 +0100
++++ cacao-0.98/src/vm/vm.c	2007-12-19 22:32:36.000000000 +0100
+@@ -623,7 +623,7 @@
+ #else
+ 	puts("  java.boot.class.path           : "CLASSPATH_CLASSES"");
+ #endif
+-	puts("  gnu.classpath.boot.library.path: "CLASSPATH_LIBDIR"/classpath\n");
++	puts("  gnu.classpath.boot.library.path: "CLASSPATH_LIBDIR"/classpath-initial\n");
+ 
+ 	puts("Runtime variables:\n");
+ 	printf("  maximum heap size              : %d\n", opt_heapmaxsize);
+@@ -828,15 +828,15 @@
+ 
+ 	/* and finally set the path to GNU Classpath libraries */
+ 
+-	len = strlen(cacao_prefix) + strlen("/lib/classpath") + strlen("0");
++	len = strlen(cacao_prefix) + strlen("/lib/classpath-initial") + strlen("0");
+ 
+ 	classpath_libdir = MNEW(char, len);
+ 	strcpy(classpath_libdir, cacao_prefix);
+-	strcat(classpath_libdir, "/lib/classpath");
++	strcat(classpath_libdir, "/lib/classpath-initial");
+ #else
+ 	cacao_prefix     = CACAO_PREFIX;
+ 	cacao_libjvm     = CACAO_LIBDIR"/libjvm";
+-	classpath_libdir = CLASSPATH_LIBDIR"/classpath";
++	classpath_libdir = CLASSPATH_LIBDIR"/classpath-initial";
+ #endif
+ 
+ 	/* set the bootclasspath */
============================================================
--- packages/classpath/classpath-initial_0.93.bb	dcbd137250c9fd6e2ca0ca88afc7404e9ede289c
+++ packages/classpath/classpath-initial_0.93.bb	dcbd137250c9fd6e2ca0ca88afc7404e9ede289c
@@ -0,0 +1,28 @@
+# No later version of Classpath may be used because this is the latest that can be compiled
+# by jikes!
+
+require classpath-native.inc
+
+DESCRIPTION="Java1.4-compatible GNU Classpath variant that is used as bootclasspath for jikes-native."
+
+PR = "r0"
+
+DEPENDS = "zip-native fastjar-native jikes-native"
+
+EXTRA_OECONF = "\
+  --with-jikes=jikes \
+  --with-fastjar=fastjar \
+  --with-glibj \
+  --disable-local-sockets \
+  --disable-alsa \
+  --disable-gconf-peer \
+  --disable-gtk-peer \
+  --disable-plugin \
+  --disable-dssi \
+  --disable-examples \
+  --disable-tools \
+  --with-glibj-dir=${STAGING_DATADIR}/classpath-initial \
+  --with-native-libdir=${STAGING_LIBDIR}/classpath-initial \
+  --includedir=${STAGING_INCDIR}/classpath-initial \
+  "
+
============================================================
--- packages/classpath/classpath-native.inc	ce05671105e08fb6217f1907cf4202d41ebfd512
+++ packages/classpath/classpath-native.inc	ce05671105e08fb6217f1907cf4202d41ebfd512
@@ -0,0 +1,32 @@
+DESCRIPTION = "GNU Classpath standard Java libraries - For native Java-dependent programs"
+HOMEPAGE = "http://www.gnu.org/software/classpath/"
+LICENSE = "Classpath"
+
+S = "${WORKDIR}/classpath-${PV}"
+
+SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz"
+
+DEPENDS = "ecj-initial fastjar-native zip-native"
+
+inherit autotools native
+
+EXTRA_OECONF = "\
+  --with-glibj \
+  --with-ecj=${STAGING_BINDIR_NATIVE}/ecj-initial \
+  --with-fastjar=fastjar \
+  --enable-local-sockets \
+  --disable-alsa \
+  --disable-gconf-peer \
+  --disable-gtk-peer \
+  --disable-plugin \
+  --disable-dssi \
+  --enable-examples \
+  --enable-tools \
+  --includedir=${STAGING_INCDIR}/classpath \
+  --with-vm=java \
+  "
+
+do_stage() {
+	oe_runmake install
+}
+
============================================================
--- packages/classpath/classpath-native_0.96.1.bb	8b956ee477f32cf28c75a7cd39e9e85373378164
+++ packages/classpath/classpath-native_0.96.1.bb	8b956ee477f32cf28c75a7cd39e9e85373378164
@@ -0,0 +1,6 @@
+require classpath-native.inc
+
+PR = "r1"
+
+SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0"
+
============================================================
--- packages/classpath/files/gjar-prefix-patch.diff	d511884813b1b0a0b7ea1f16e8e11c32981eb117
+++ packages/classpath/files/gjar-prefix-patch.diff	d511884813b1b0a0b7ea1f16e8e11c32981eb117
@@ -0,0 +1,40 @@
+Index: tools/gnu/classpath/tools/jar/Entry.java
+===================================================================
+RCS file: /sources/classpath/classpath/tools/gnu/classpath/tools/jar/Entry.java,v
+retrieving revision 1.1
+diff -u -r1.1 Entry.java
+--- tools/gnu/classpath/tools/jar/Entry.java	8 May 2006 18:38:20 -0000	1.1
++++ tools/gnu/classpath/tools/jar/Entry.java	10 Dec 2007 22:20:05 -0000
+@@ -1,5 +1,5 @@
+ /* Entry.java - represent a single file to write to a jar
+- Copyright (C) 2006 Free Software Foundation, Inc.
++ Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ 
+  This file is part of GNU Classpath.
+ 
+@@ -49,12 +49,22 @@
+   public Entry(File file, String name)
+   {
+     this.file = file;
+-    this.name = name;
++
++    /* Removes any './' prefixes automatically. Those caused trouble
++     * in (boot) classpath use-cases. See #32516.
++     */
++    int start = 0;
++    while (name.length() > start + 2
++           && name.codePointAt(start) == '.'
++           && name.codePointAt(start + 1) == File.separatorChar)
++      start += 2;
++
++    this.name = name.substring(start);
+   }
+ 
+   public Entry(File file)
+   {
+-    this.file = file;
+-    this.name = file.toString();
++    this(file, file.toString());
+   }
++
+ }
============================================================
--- packages/ecj/ecj-bootstrap-native_3.3.bb	defbc5098ae61f56a2ac8c59ace6bbe9c8007eb3
+++ packages/ecj/ecj-bootstrap-native_3.3.bb	defbc5098ae61f56a2ac8c59ace6bbe9c8007eb3
@@ -0,0 +1,38 @@
+# ECJ as a bootstrap compiler is a drop-in replacement for Sun's javac. It offers no more
+# and no less features.
+#
+# Since the VM running the compiler has no effect on the produced bytecode this recipe
+# uses the jar created by ecj-initial and creates a start script that runs it with a different
+# VM.
+
+DESCRIPTION = "JDT Core Batch Compiler - Bootstrap variant"
+HOMEPAGE = "http://www.eclipse.org/"
+SECTION = "devel"
+PRIORITY = "optional"
+LICENSE = "EPL"
+
+DEPENDS = "ecj-initial virtual/java-native"
+
+PROVIDES = "virtual/javac-native"
+
+SRC_URI = "file://ecj.in"
+
+S = "${WORKDIR}"
+
+JAR = "ecj-bootstrap-${PV}.jar"
+
+inherit native
+
+do_compile() {
+  # Create the start script
+  echo "#!/bin/sh" > ecj-bootstrap
+  echo "ECJ_JAR=${STAGING_DATADIR}/java/${JAR}" >> ecj-bootstrap
+  echo "RUNTIME=java" >> ecj-bootstrap
+  cat ecj.in >> ecj-bootstrap
+}
+
+do_stage() {
+  install -d ${STAGING_BINDIR}
+  install -m 755 ${S}/ecj-bootstrap ${STAGING_BINDIR}
+  install -m 755 ${S}/ecj-bootstrap ${STAGING_BINDIR}/javac
+}
============================================================
--- packages/ecj/ecj-initial_3.3.bb	b410a403c3f29b5239ebde0751e23e02f0d3409a
+++ packages/ecj/ecj-initial_3.3.bb	b410a403c3f29b5239ebde0751e23e02f0d3409a
@@ -0,0 +1,84 @@
+# ECJ as a bootstrap compiler is a drop-in replacement for Sun's javac. It offers no more
+# and no less features.
+
+# This variant runs on the initial (not Java5-compatible runtime).
+
+DESCRIPTION = "JDT Core Batch Compiler - Bootstrap variant"
+HOMEPAGE = "http://www.eclipse.org/"
+LICENSE = "EPL"
+
+DEPENDS = "fastjar-native jikes-initial virtual/java-initial"
+
+SRC_URI = "\
+    http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.3-200706251500/ecjsrc.zip \
+    file://ecj.in \
+    "
+
+S = "${WORKDIR}"
+
+inherit native
+
+JAR = "ecj-bootstrap-${PV}.jar"
+
+do_unpackpost() {
+  if [ ! -d source ]; then
+    mkdir source
+  fi
+
+  if [ ! -d build ]; then
+    mkdir build
+  fi
+
+  # Remove crap.
+  rm about.html build.xml
+  rm -rf META-INF
+
+  # Move source into separate subdir.
+  mv org source/
+
+  # Remove stuff unneeded for the bootstrap compiler.
+  rm -rf source/org/eclipse/jdt/internal/compiler/apt
+  rm -rf source/org/eclipse/jdt/internal/compiler/tool
+  rm -rf source/org/eclipse/jdt/internal/antadapter
+  rm source/org/eclipse/jdt/core/JDTCompilerAdapter.java
+
+  # Make a copy of the remaining source to get the embedded
+  # resources.
+  cp -r source/org build/
+
+  # Remove source code and other stuff.
+  find build -name '*.java' -exec rm -f {} \;
+  find build -name '*.html' -exec rm -f {} \;
+}
+
+addtask unpackpost after do_unpack before do_patch
+
+do_compile() {
+  find source -name '*.java' > sourcefiles
+  split -l 25 sourcefiles ecj-sources.
+
+  # Compiling in place is done because the sources contain
+  # property files which need to be available at runtime.
+  for list in `find . -name 'ecj-sources.*'`; do
+      echo "building files in $list ...";
+      echo jikes-initial -d build -source 1.4 -sourcepath source `cat $list`;
+      jikes-initial \
+				-d build -source 1.4 -sourcepath source `cat $list`;
+  done
+
+  fastjar -c -C build . -f ${JAR}
+
+  # Create the start script
+  echo "#!/bin/sh" > ecj-initial
+  echo "ECJ_JAR=${STAGING_DATADIR}/java/${JAR}" >> ecj-initial
+  echo "RUNTIME=java-initial" >> ecj-initial
+  cat ecj.in >> ecj-initial
+}
+
+do_stage() {
+  install -d ${STAGING_DATADIR}/java
+  install -m 755 ${S}/${JAR} ${STAGING_DATADIR}/java
+
+  install -d ${STAGING_BINDIR}
+  install -m 755 ${S}/ecj-initial ${STAGING_BINDIR}
+}
============================================================
--- packages/ecj/files/ecj.in	ded1ab42bf6383b2789b01c1f98beeb3a909507f
+++ packages/ecj/files/ecj.in	ded1ab42bf6383b2789b01c1f98beeb3a909507f
@@ -0,0 +1 @@
+${RUNTIME} -Xmx512m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"}
============================================================
--- packages/jamvm/files/jamvm_1.5.0-initial.patch	91a98ee8f2d7c025af1263c9f0e20fc020521ed2
+++ packages/jamvm/files/jamvm_1.5.0-initial.patch	91a98ee8f2d7c025af1263c9f0e20fc020521ed2
@@ -0,0 +1,82 @@
+Index: jamvm-1.5.0/configure.ac
+===================================================================
+--- jamvm-1.5.0.orig/configure.ac	2007-12-20 00:01:08.000000000 +0100
++++ jamvm-1.5.0/configure.ac	2007-12-20 00:03:40.000000000 +0100
+@@ -22,7 +22,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+ 
+ AC_INIT(src/jam.c)
+-AM_INIT_AUTOMAKE(jamvm, 1.5.0)
++AM_INIT_AUTOMAKE(jamvm-initial, 1.5.0)
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_PREFIX_DEFAULT(/usr/local/jamvm)
+ 
+Index: jamvm-1.5.0/java-initial
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ jamvm-1.5.0/java-initial	2007-12-20 00:03:27.000000000 +0100
+@@ -0,0 +1,5 @@
++#!/bin/sh
++#
++# Wrapper script inspired by the one provided by cacao.
++
++exec jamvm-initial ${1+"$@"}
+Index: jamvm-1.5.0/lib/Makefile.am
+===================================================================
+--- jamvm-1.5.0.orig/lib/Makefile.am	2007-12-20 00:05:24.000000000 +0100
++++ jamvm-1.5.0/lib/Makefile.am	2007-12-20 00:05:28.000000000 +0100
+@@ -19,7 +19,7 @@
+ ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ##
+ 
+-CP_LIB_DIR = ${with_classpath_install_dir}/share/classpath
++CP_LIB_DIR = ${with_classpath_install_dir}/share/classpath-initial
+ GLIBJ_ZIP  = ${CP_LIB_DIR}/glibj.zip
+ 
+ SUBDIRS = jam%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list