This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] master: Generate all JNIXX files before any are compiled.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]