$OpenBSD: patch-Modules_FindJNI_cmake,v 1.24 2019/08/21 05:47:40 rsadowski Exp $
Index: Modules/FindJNI.cmake
--- Modules/FindJNI.cmake.orig
+++ Modules/FindJNI.cmake
@@ -45,6 +45,8 @@ The following cache variables are also available to se
   the include path to jawt.h
 #]=======================================================================]
 
+set(MODJAVA_VER $ENV{MODJAVA_VER})
+
 # Expand {libarch} occurrences to java_libarch subdirectory(-ies) and set ${_var}
 macro(java_append_library_directories _var)
     # Determine java arch-specific library subdir
@@ -93,8 +95,10 @@ macro(java_append_library_directories _var)
 
     # Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or
     # system is non-Linux (where the code above has not been well tested)
-    if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
-        list(APPEND _java_libarch "i386" "amd64" "ppc")
+    if(NOT MODJAVA_VER)
+      if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
+          list(APPEND _java_libarch "i386" "amd64" "ppc")
+      endif()
     endif()
 
     # Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer
@@ -130,17 +134,71 @@ if(_JAVA_HOME_EXPLICIT)
   set(CMAKE_FIND_FRAMEWORK NEVER)
 endif()
 
-set(JAVA_AWT_LIBRARY_DIRECTORIES)
-if(_JAVA_HOME)
+if(MODJAVA_VER)
+  set(JAVA_AWT_LIBRARY_DIRECTORIES)
   JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
-    ${_JAVA_HOME}/jre/lib/{libarch}
-    ${_JAVA_HOME}/jre/lib
-    ${_JAVA_HOME}/lib/{libarch}
-    ${_JAVA_HOME}/lib
-    ${_JAVA_HOME}
+    ${LOCALBASE}/jdk-1.8.0/jre/lib/{libarch}
+    ${LOCALBASE}/jre-1.8.0/lib/{libarch}
+    ${LOCALBASE}/jdk-11/jre/lib/{libarch}
+    ${LOCALBASE}/jre-11/lib/{libarch}
     )
+else(MODJAVA_VER)
+  set(JAVA_AWT_LIBRARY_DIRECTORIES)
+  if(_JAVA_HOME)
+    JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
+      ${_JAVA_HOME}/jre/lib/{libarch}
+      ${_JAVA_HOME}/jre/lib
+      ${_JAVA_HOME}/lib/{libarch}
+      ${_JAVA_HOME}/lib
+      ${_JAVA_HOME}
+      )
 endif()
+list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
+  )
+JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
+  /usr/lib
+  /usr/local/lib
+  /usr/lib/jvm/java/lib
+  /usr/lib/java/jre/lib/{libarch}
+  /usr/lib/jvm/jre/lib/{libarch}
+  /usr/local/lib/java/jre/lib/{libarch}
+  /usr/local/share/java/jre/lib/{libarch}
+  /usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
+  /usr/lib/j2sdk1.5-sun/jre/lib/{libarch}
+  /opt/sun-jdk-1.5.0.04/jre/lib/{libarch}
+  /usr/lib/jvm/java-6-sun/jre/lib/{libarch}
+  /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
+  /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch}       # can this one be removed ac
+  /usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
+  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch}        # fedora
+  # Debian specific paths for default JVM
+  /usr/lib/jvm/default-java/jre/lib/{libarch}
+  /usr/lib/jvm/default-java/jre/lib
+  /usr/lib/jvm/default-java/lib
+  # Arch Linux specific paths for default JVM
+  /usr/lib/jvm/default/jre/lib/{libarch}
+  /usr/lib/jvm/default/lib/{libarch}
+  # Ubuntu specific paths for default JVM
+  /usr/lib/jvm/java-8-openjdk-{libarch}/jre/lib/{libarch}     # Ubuntu 15.10
+  /usr/lib/jvm/java-7-openjdk-{libarch}/jre/lib/{libarch}     # Ubuntu 15.10
+  /usr/lib/jvm/java-6-openjdk-{libarch}/jre/lib/{libarch}     # Ubuntu 15.10
+  # OpenBSD specific paths for default JVM
+  ${LOCALBASE}/jdk-1.8.0/jre/lib/{libarch}
+  ${LOCALBASE}/jre-1.8.0/lib/{libarch}
+  ${LOCALBASE}/jdk-11/jre/lib/{libarch}
+  ${LOCALBASE}/jre-11/lib/{libarch}
+  # SuSE specific paths for default JVM
+  /usr/lib64/jvm/java/jre/lib/{libarch}
+  /usr/lib64/jvm/jre/lib/{libarch}
+  )
+endif(MODJAVA_VER)
 
+get_filename_component(java_install_version
+  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
+
 if (WIN32)
   set (_JNI_HINTS)
   execute_process(COMMAND REG QUERY HKLM\\SOFTWARE\\JavaSoft\\JDK /f "." /k
@@ -209,10 +267,10 @@ set(_JNI_JAVA_DIRECTORIES_BASE
   /usr/lib/jvm/java-7-openjdk-{libarch}     # Ubuntu 15.10
   /usr/lib/jvm/java-6-openjdk-{libarch}     # Ubuntu 15.10
   # OpenBSD specific paths for default JVM
-  /usr/local/jdk-1.7.0
-  /usr/local/jre-1.7.0
-  /usr/local/jdk-1.6.0
-  /usr/local/jre-1.6.0
+  ${LOCALBASE}/jdk-1.8.0
+  ${LOCALBASE}/jre-1.8.0
+  ${LOCALBASE}/jdk-11
+  ${LOCALBASE}/jre-11
   # SuSE specific paths for default JVM
   /usr/lib64/jvm/java
   /usr/lib64/jvm/jre
