aboutsummaryrefslogtreecommitdiffstats
path: root/classes/jni-library.bbclass
blob: f484b97dac4d7cfa79cd0956373759a25f9d5092 (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
53
54
55
# we need javah
DEPENDS += "openjdk-langtools-native zip-native icedtea6-native"

JNI_LIB_DIR = "/usr/lib/jni"

PACKAGE_ARCH = "${MACHINE_ARCH}"

EXTRA_OEMAKE +=" \
	JAVAH_OUT=${D}${JNI_LIB_DIR} \
	LIB_DIR=${D}${JNI_LIB_DIR} \
	JAVAH_CLASSPATH=${S}/build --debug \
	COMMON_CLASSPATH=${STAGING_LIBDIR}/com.buglabs.bug.jni.common.jar \
	STAGING_BUG_INCDIR=${STAGING_INCDIR}/bug \
	BUG_LINUX_SRC=${STAGING_KERNEL_DIR} \
	STAGING_INCDIR=${STAGING_INCDIR} \
	CLASSPATH_INCDIR=${STAGING_INCDIR}/classpath \
	ROOTFS_BUG=${STAGING_LIBDIR}/../../ \
	JAVAH=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \
"

addtask jni_compile after do_compile before do_install
do_jni_compile() {
        cd ${S}/src/c
        oe_runmake jni
}

addtask jni_install after do_install before do_package
do_jni_install() {
  install -d ${D}${JNI_LIB_DIR}
  cd ${S}/src/c
  oe_runmake libs
}

addtask jni_update_jar after do_jni_install before do_package
do_jni_update_jar(){
  cd ${S}/src/c/
  install -d lib/
  cp *.so lib/
  zip -u ${D}${datadir_java}/${JARFILENAME} lib/*.so
}

addtask jni_staging after do_jni_install before do_package
do_jni_staging() {
  if test -e ${S}/src/c/*.so; then
	install -d ${STAGING_LIBDIR}/bug
	cp -r ${S}/src/c/*.so ${STAGING_LIBDIR}/bug
	cp -r ${S}/src/c/*.so ${STAGING_LIBDIR}/
  fi

  if test -e ${S}/src/c/include/*.h; then
	  install -d ${STAGING_INCDIR}/bug
	  cp -r ${S}/src/c/include/*.h ${STAGING_INCDIR}/bug
	  cp -r ${S}/src/c/include/*.h ${STAGING_INCDIR}/
  fi
}