--- /home/carel/CMake/CMake/Modules/UseSWIG.cmake	2007-03-05 21:21:49.000000000 +0100
+++ /usr/local/share/cmake-2.5/Modules/UseSWIG.cmake	2007-12-11 10:31:38.000000000 +0100
@@ -18,7 +18,8 @@
 SET(SWIG_CXX_EXTENSION "cxx")
 SET(SWIG_EXTRA_LIBRARIES "")
 
-SET(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py")
+SET(SWIG_PYTHON_EXTRA_FILE_EXTENSION ".py")
+SET(SWIG_JAVA_EXTRA_FILE_EXTENSION "JNI.java" ".java")
 
 #
 # For given swig module initialize variables associated with it
@@ -48,9 +49,15 @@
 #
 
 MACRO(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
-  FOREACH(it ${SWIG_PYTHON_EXTRA_FILE_EXTENSION})
+  GET_SOURCE_FILE_PROPERTY(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename
+    ${infile} SWIG_MODULE_NAME)
+  IF(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
+    GET_FILENAME_COMPONENT(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE)
+  ENDIF(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
+  FOREACH(it ${SWIG_${language}_EXTRA_FILE_EXTENSION})
     SET(${outfiles} ${${outfiles}}
-      "${generatedpath}/${infile}.${it}")
+      "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}${it}")
   ENDFOREACH(it)
 ENDMACRO(SWIG_GET_EXTRA_OUTPUT_FILES)
 
@@ -105,7 +112,7 @@
   SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
     swig_extra_generated_files
     "${swig_outdir}"
-    "${swig_source_file_name_we}")
+    "${infile}")
   SET(swig_generated_file_fullname
     "${swig_generated_file_fullname}/${swig_source_file_name_we}")
   # add the language into the name of the file (i.e. TCL_wrap)
