diff options
author | Stefan Schmidt <stefan@buglabs.net> | 2010-11-11 09:33:09 +0100 |
---|---|---|
committer | Stefan Schmidt <stefan@buglabs.net> | 2011-01-18 10:11:26 +0100 |
commit | d2b084e28497209016f7d837ddd595627f9887f8 (patch) | |
tree | 60f2680aa76fcb30ccf722f64aaf6579aaf6e613 /classes | |
parent | 4be33a03f28437cf3f37ca3587b735e49fefe23b (diff) | |
download | openembedded-d2b084e28497209016f7d837ddd595627f9887f8.tar.gz |
jni-library.bbclass: Add helper class for jni libraries
Signed-off-by: Stefan Schmidt <stefan@buglabs.net>
Diffstat (limited to 'classes')
-rw-r--r-- | classes/jni-library.bbclass | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/classes/jni-library.bbclass b/classes/jni-library.bbclass new file mode 100644 index 0000000000..fefbace208 --- /dev/null +++ b/classes/jni-library.bbclass @@ -0,0 +1,54 @@ +# we need javah +DEPENDS += "openjdk-langtools-native zip-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}/../../ \ +" + +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 +} |