public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Generate all JNIXX files before any are compiled. Date: Fri, 02 May 2008 22:09:00 -0000 [thread overview] Message-ID: <20080502220904.14133.qmail@sourceware.org> (raw) The branch, master has been updated via f34e0e28d1e06376968f23cefcdce18ce037b27c (commit) via 540c5bd25a81288010163839555101d883cf720d (commit) from 7ce3168066508c638de88f15eb839a829710b16a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit f34e0e28d1e06376968f23cefcdce18ce037b27c Author: Andrew Cagney <cagney@redhat.com> Date: Fri May 2 18:07:31 2008 -0400 Generate all JNIXX files before any are compiled. frysk-common/ChangeLog 2008-05-02 Andrew Cagney <cagney@redhat.com> * Makefile.gen.sh (generate_jnixx_sources): Order build so that all JNIXX files are generated before any are compiled. commit 540c5bd25a81288010163839555101d883cf720d Author: Andrew Cagney <cagney@redhat.com> Date: Fri May 2 17:44:35 2008 -0400 Conver Signal to jnixx. frysk-sys/frysk/sys/ChangeLog 2008-05-02 Andrew Cagney <cagney@redhat.com> * jni/Signal.cxx-sh: Use generated jnixx header. ----------------------------------------------------------------------- Summary of changes: frysk-common/ChangeLog | 3 ++ frysk-common/Makefile.gen.sh | 32 ++++++++++++++++++----------- frysk-sys/frysk/sys/ChangeLog | 2 + frysk-sys/frysk/sys/jni/Signal.cxx-sh | 35 ++++++++++++++------------------ 4 files changed, 40 insertions(+), 32 deletions(-) First 500 lines of diff: diff --git a/frysk-common/ChangeLog b/frysk-common/ChangeLog index 282a1ee..bb3411a 100644 --- a/frysk-common/ChangeLog +++ b/frysk-common/ChangeLog @@ -1,5 +1,8 @@ 2008-05-02 Andrew Cagney <cagney@redhat.com> + * Makefile.gen.sh (generate_jnixx_sources): Order build so that + all JNIXX files are generated before any are compiled. + * Makefile.rules (root_srcdir, abs_root_srcdir): Define. * Makefile.gen.sh (generate_jnixx_sources): Depend on all jnixx java files. diff --git a/frysk-common/Makefile.gen.sh b/frysk-common/Makefile.gen.sh index eb7bbef..928c119 100755 --- a/frysk-common/Makefile.gen.sh +++ b/frysk-common/Makefile.gen.sh @@ -657,9 +657,15 @@ generate_cni_header () { # Assume these are all generated from .class files found in the master # .jar. -echo "JNIXX_BUILT =" -echo "CLEANFILES += \$(JNIXXX_BUILT)" -echo "jnixx_sources = \$(wildcard \$(root_srcdir)/frysk-sys/frysk/jnixx/*.java)" +cat <<EOF +JNIXX_BUILT = +CLEANFILES += \$(JNIXXX_BUILT) +# Generate sources after the .jar is built +\$(JNIXX_BUILT): | \${GEN_DIRNAME}.jar +jnixx_sources = \$(wildcard \$(root_srcdir)/frysk-sys/frysk/jnixx/*.java) +# If any of the JNI sources change, re-generate everything. +\$(JNIXX_BUILT): \$(jnixx_sources) +EOF generate_jnixx_sources () { local file=$1 local d=$2 @@ -678,16 +684,18 @@ generate_jnixx_sources () { # Assume file defining macro depends on this file automake_variable $m = \$\($_file\) elif has_java_source ${h} ; then - echo "JNIXX_BUILT += ${h}-jni.hxx" - echo "JNIXX_BUILT += ${h}-jni.cxx" - echo "${sources} += ${h}-jni.cxx" - echo "${h}-jni.o: ${h}-jni.hxx" j=`echo ${h} | tr '[_]' '[/]'` - # Hack, try to trigger jni regen when jnixx changes - echo "${h}-jni.hxx ${h}-jni.cxx: \$(jnixx_sources)" - echo "${h}-jni.hxx ${h}-jni.cxx: | ${GEN_DIRNAME}.jar" - echo "${h}-jni.hxx: $j.java" - echo "${h}-jni.cxx: $j.java" + cat <<EOF +JNIXX_BUILT += ${h}-jni.hxx +JNIXX_BUILT += ${h}-jni.cxx +${sources} += ${h}-jni.cxx +${h}-jni.o: ${h}-jni.hxx +# Require all code to be generated before compiling so that +# any indirectly included headers are present. +${h}-jni.o: | \$(JNIXX_BUILT) +${h}-jni.hxx: $j.java +${h}-jni.cxx: $j.java +EOF case $action in include) case "$suffix" in diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog index bbfb494..5cc2246 100644 --- a/frysk-sys/frysk/sys/ChangeLog +++ b/frysk-sys/frysk/sys/ChangeLog @@ -1,5 +1,7 @@ 2008-05-02 Andrew Cagney <cagney@redhat.com> + * jni/Signal.cxx-sh: Use generated jnixx header. + * jni/PseudoTerminal.cxx: Ditto. * jni/Signal.cxx-sh: Update; frysk.jni renamed to frysk.jnixx. diff --git a/frysk-sys/frysk/sys/jni/Signal.cxx-sh b/frysk-sys/frysk/sys/jni/Signal.cxx-sh index fa5ca6d..9022058 100644 --- a/frysk-sys/frysk/sys/jni/Signal.cxx-sh +++ b/frysk-sys/frysk/sys/jni/Signal.cxx-sh @@ -47,16 +47,12 @@ cat <<EOF #include <sys/syscall.h> #include <string.h> -#include "frysk_sys_Signal.h" +#include "frysk/sys/Signal-jni.hxx" #include "frysk/jnixx/exceptions.hxx" -JNIEXPORT void -Java_frysk_sys_Signal_kill__IILjava_lang_String_2(JNIEnv *env, - jclass klass, - jint pid, - jint sig, - jstring name) { +void +frysk::sys::Signal::kill(JNIEnv *env, jint pid, jint sig, jstring name) { errno = 0; if (::kill(pid, sig) < 0) { const char *sname = env->GetStringUTFChars(name, NULL); @@ -68,9 +64,8 @@ Java_frysk_sys_Signal_kill__IILjava_lang_String_2(JNIEnv *env, } } -JNIEXPORT void -Java_frysk_sys_Signal_tkill(JNIEnv *env, jclass klass, jint tid, jint sig, - jstring name) { +void +frysk::sys::Signal::tkill(JNIEnv *env, jint tid, jint sig, jstring name) { errno = 0; if (::syscall(__NR_tkill, tid, sig) < 0) { const char *sname = env->GetStringUTFChars(name, NULL); @@ -82,8 +77,8 @@ Java_frysk_sys_Signal_tkill(JNIEnv *env, jclass klass, jint tid, jint sig, } } -JNIEXPORT void -Java_frysk_sys_Signal_drain(JNIEnv *env, jclass, jint sig) { +void +frysk::sys::Signal::drain(JNIEnv *env, jint sig) { struct sigaction oldAction = { }; struct sigaction newAction = { }; newAction.sa_handler = SIG_IGN; @@ -99,24 +94,24 @@ Java_frysk_sys_Signal_drain(JNIEnv *env, jclass, jint sig) { } } -JNIEXPORT jint -Java_frysk_sys_Signal_nsig(JNIEnv *env, jclass) { +jint +frysk::sys::Signal::nsig(JNIEnv *env) { return NSIG; } -JNIEXPORT jint -Java_frysk_sys_Signal_rtMin(JNIEnv *env, jclass) { +jint +frysk::sys::Signal::rtMin(JNIEnv *env) { return SIGRTMIN; } -JNIEXPORT jint -Java_frysk_sys_Signal_rtMax(JNIEnv *env, jclass) { +jint +frysk::sys::Signal::rtMax(JNIEnv *env) { return SIGRTMAX; } EOF for sig in \ - hup int_1 quit ill abrt fpe kill__ segv pipe alrm term usr1 usr2 chld cont stop tstp ttin ttou \ + hup int_ quit ill abrt fpe kill segv pipe alrm term usr1 usr2 chld cont stop tstp ttin ttou \ bus poll prof sys trap urg vtalrm xcpu xfsz \ iot emt stkflt io cld pwr info lost winch unused do @@ -124,7 +119,7 @@ do cat <<EOF jint -Java_frysk_sys_Signal_${sig}(JNIEnv *, jclass) { +frysk::sys::Signal::${sig}(JNIEnv *) { #ifdef ${SIG} return ${SIG}; #else hooks/post-receive -- frysk system monitor/debugger
reply other threads:[~2008-05-02 22:09 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080502220904.14133.qmail@sourceware.org \ --to=cagney@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).