summaryrefslogtreecommitdiff
path: root/packages/cacao/cacao.inc
blob: cc107abf27ad2a48d857305196c812a614305e6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
DESCRIPTION = "Cacao is a Java Virtual Machine, which uses GNU Classpath as default Java core library"
HOMEPAGE = "http://www.cacaojvm.org/"
LICENSE  = "GPL"
PRIORITY = "optional"
SECTION  = "interpreters"

DEPENDS = "zlib libtool classpath cacaoh-native virtual/javac-native"

# Avoid version number here, otherwise dpkg will expect a package name
# and cannot be satisfied with a package that provides classpath.
RDEPENDS = "classpath"

PROVIDES = "cacao virtual/java"
RPROVIDES_cacao = "java2-runtime"

inherit autotools update-alternatives

EXTRA_OECONF = "\
	${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \
	--enable-debug \
	--with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-${PV} \
	--with-classpath-libdir=${STAGING_LIBDIR}/classpath \
	--with-classpath-includedir=${STAGING_INCDIR}/classpath \
	--with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \
	--with-target-classpath-classes=${datadir}/classpath/glibj.zip \
	--with-vm-zip=${datadir}/cacao/vm.zip \
	--with-classpath-libdir=${libdir} \
	"

PACKAGES = "${PN} ${PN}-doc ${PN}-dbg"

FILES_${PN} = "${bindir}/${PN} ${libdir}/lib*.so* ${datadir}/${PN}"
FILES_${PN}-doc = "${datadir}/man"
FILES_${PN}-dbg = "${bindir}/.debug ${libdir}/.debug/lib*.so*"

ALTERNATIVE_NAME = "java"
ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}"
ALTERNATIVE_PATH = "${bindir}/cacao"
ALTERNATIVE_PRIORITY = "10"

do_configure_prepend() {
  # Replaces the placeholder OE_LIBDIR_JNI with the JNI library directory
  # configured in OE.
  if [ -e src/vm/properties.c ]; then
    sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/properties.c
  fi

  if [ -e src/vm/properties.c ]; then
    sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/vm.c
  fi
}