@@ -93,18 +93,29 @@ AC_DEFUN([OPAL_SETUP_JAVA],[
93
93
# hard-code a few of the common ones so that users don't have to
94
94
# specify --with-java-<foo>=LONG_ANNOYING_DIRECTORY.
95
95
AS_IF([test -z " $with_jdk_bindir " ],
96
- [ # OS X Snow Leopard and Lion (10.6 and 10.7 -- did not
97
- # check prior versions)
96
+ [ # OS X/macOS
98
97
opal_java_found= 0
98
+ # The following logic was deliberately decided upon in https://github.com/open-mpi/ompi/pull/5015 specifically to prevent this script and the
99
+ # rest of Open MPI's build system from getting confused by the somewhat unorthodox Java toolchain layout present on OS X/macOS systems, described
100
+ # in depth by https://github.com/open-mpi/ompi/pull/5015#issuecomment-379324639, and mishandling OS X/macOS Java toolchain path
101
+ # detection as a result.
99
102
AS_IF([test -x /usr/libexec/java_home],
100
- [opal_java_dir= ` /usr/libexec/java_home` /include ],
101
- [opal_java_dir= /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers ])
102
- AC_MSG_CHECKING([OSX locations])
103
+ [opal_java_dir= ` /usr/libexec/java_home` ],
104
+ [opal_java_dir= /System/Library/Frameworks/JavaVM.framework/Versions/Current])
105
+ AC_MSG_CHECKING([OS X/macOS locations])
103
106
AS_IF([test -d $opal_java_dir ],
104
107
[AC_MSG_RESULT([found ($opal_java_dir )])
105
108
opal_java_found= 1
106
- with_jdk_headers= $opal_java_dir
107
- with_jdk_bindir= /usr/bin],
109
+ if test -d " $opal_java_dir /Headers" && test -d " $opal_java_dir /Commands" ; then
110
+ with_jdk_headers=$opal_java_dir /Headers
111
+ with_jdk_bindir=$opal_java_dir /Commands
112
+ elif test -d " $opal_java_dir /include" && test -d " $opal_java_dir /bin" ; then
113
+ with_jdk_headers=$opal_java_dir /include
114
+ with_jdk_bindir=$opal_java_dir /bin
115
+ else
116
+ AC_MSG_WARN([No recognized OS X/macOS JDK directory structure found under $opal_java_dir ])
117
+ opal_java_found=0
118
+ fi],
108
119
[AC_MSG_RESULT([not found])])
109
120
110
121
if test " $opal_java_found " = " 0" ; then
0 commit comments