From mboxrd@z Thu Jan 1 00:00:00 1970 From: alexandre.montplaisir@polymtl.ca (Alexandre Montplaisir) Date: Wed, 11 Apr 2012 22:28:51 -0400 Subject: [lttng-dev] [UST PATCH] Build a jar for the Java side of the JNI interface In-Reply-To: <20120411225027.GA31311@Krystal> References: <1334172282-4972-1-git-send-email-alexandre.montplaisir@polymtl.ca> <20120411225027.GA31311@Krystal> Message-ID: <4F863DE3.10504@polymtl.ca> On 12-04-11 06:50 PM, Mathieu Desnoyers wrote: > With this, is the java application visible from lttng-tools before the > first JNI call is done ? No, not yet. This patch only adds the makefile target. I'm still experimenting with the contents of .java file (namely, adding support for other tracepoints types). Something like "LTTngUst.init()" will be needed eventually, since Java classes are lazy-loaded. This init() can also serve as a check for the liblttng-ust-java.so library, which will avoid blowing up the application if that library is not found at runtime. -- Alexandre Montplaisir DORSAL lab, ?cole Polytechnique de Montr?al > > * Alexandre Montplaisir (alexandre.montplaisir at polymtl.ca) wrote: >> Signed-off-by: Alexandre Montplaisir >> --- >> liblttng-ust-java/.gitignore | 1 + >> liblttng-ust-java/LTTngUst.java | 2 +- >> liblttng-ust-java/Makefile.am | 8 ++++++-- >> liblttng-ust-java/README | 5 +++++ >> 4 files changed, 13 insertions(+), 3 deletions(-) >> >> diff --git a/liblttng-ust-java/.gitignore b/liblttng-ust-java/.gitignore >> index 677373e..e07ee50 100644 >> --- a/liblttng-ust-java/.gitignore >> +++ b/liblttng-ust-java/.gitignore >> @@ -1,2 +1,3 @@ >> org_lttng_ust_LTTngUst.h >> org/ >> +liblttng-ust-java.jar >> diff --git a/liblttng-ust-java/LTTngUst.java b/liblttng-ust-java/LTTngUst.java >> index d3f1eda..68ed120 100644 >> --- a/liblttng-ust-java/LTTngUst.java >> +++ b/liblttng-ust-java/LTTngUst.java >> @@ -18,7 +18,7 @@ >> >> package org.lttng.ust; >> >> -class LTTngUst { >> +public class LTTngUst { >> public static native void tracepointString(String name, String arg); >> static { >> System.loadLibrary("lttng-ust-java"); >> diff --git a/liblttng-ust-java/Makefile.am b/liblttng-ust-java/Makefile.am >> index 9e01e04..7e1834a 100644 >> --- a/liblttng-ust-java/Makefile.am >> +++ b/liblttng-ust-java/Makefile.am >> @@ -7,10 +7,11 @@ liblttng_ust_java_la_SOURCES = LTTngUst.c org_lttng_ust_LTTngUst.h lttng_ust_jav >> dist_noinst_DATA = LTTngUst.java >> liblttng_ust_java_la_LIBADD = -lc -L$(top_builddir)/liblttng-ust/.libs -llttng-ust >> >> -all: LTTngUst.class org_lttng_ust_LTTngUst.h >> +all: LTTngUst.class org_lttng_ust_LTTngUst.h liblttng-ust-java.jar >> >> clean-local: >> - rm org_lttng_ust_LTTngUst.h >> + rm org_lttng_ust_LTTngUst.h >> + rm liblttng-ust-java.jar >> rm -rf org/ >> >> LTTngUst.class: LTTngUst.java >> @@ -19,4 +20,7 @@ LTTngUst.class: LTTngUst.java >> org_lttng_ust_LTTngUst.h: LTTngUst.class >> javah org.lttng.ust.LTTngUst >> >> +liblttng-ust-java.jar: LTTngUst.class >> + jar cf liblttng-ust-java.jar org/* >> + >> endif >> diff --git a/liblttng-ust-java/README b/liblttng-ust-java/README >> index 37834e6..4b4d2c6 100644 >> --- a/liblttng-ust-java/README >> +++ b/liblttng-ust-java/README >> @@ -10,3 +10,8 @@ dependency: openjdk-6-jdk >> >> dependency: gcj-4.4-jdk >> ./configure --with-java-jdk=/usr/lib/jvm/java-gcj --with-jni-interface >> + >> + >> +After building, you can use the liblttng-ust-java.jar file in a Java project. >> +It requires the liblttng-ust-java.so* files (which get installed when doing >> +`make install') so make sure those are in the linker's library path. >> -- >> 1.7.9.1 >> >> >> _______________________________________________ >> lttng-dev mailing list >> lttng-dev at lists.lttng.org >> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev