@@ -53,6 +53,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
5353 opal_check_pmi_$1 _LDFLAGS=
5454 opal_check_pmi_$1 _CPPFLAGS=
5555 opal_check_pmi_$1 _LIBS=
56+ opal_check_pmi_have_hdr=no
5657
5758 AC_MSG_CHECKING ( [ if user requested PMI support] )
5859 AS_IF ( [ test "$with_pmi" = "no"] ,
@@ -69,11 +70,11 @@ AC_DEFUN([OPAL_CHECK_PMI],[
6970 opal_default_loc="yes"] )
7071 AS_IF ( [ test ! -z "$with_pmi_libdir"] ,
7172 [ opal_check_pmi_lib_dir=$with_pmi_libdir
72- opal_default_libloc=no] ,
73+ opal_default_libloc=no] ,
7374 [ opal_check_pmi_lib_dir=$opal_check_pmi_install_dir
74- AS_IF ( [ test "$opal_default_loc" = "no"] ,
75- [ opal_default_libloc=no] ,
76- [ opal_default_libloc=yes] ) ] )
75+ AS_IF ( [ test "$opal_default_loc" = "no"] ,
76+ [ opal_default_libloc=no] ,
77+ [ opal_default_libloc=yes] ) ] )
7778 # check for pmi-1 lib */
7879 files=`ls -U $opal_check_pmi_lib_dir/libpmi.* 2> /dev/null | wc -l`
7980 AS_IF ( [ test "$files" -gt "0"] ,
@@ -83,7 +84,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
8384 opal_pmi_rpath="$opal_check_pmi_lib_dir"
8485 opal_pmi_added_ldflag=yes] )
8586 opal_check_pmi_$1 _LIBS="-lpmi"] ,
86- [ files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi.* 2> /dev/null | wc -l`
87+ [ files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi.* 2> /dev/null | wc -l`
8788 AS_IF ( [ test "$files" -gt "0"] ,
8889 [ opal_have_pmi1=1
8990 AS_IF ( [ test "$opal_default_libloc" = "no"] ,
@@ -100,16 +101,22 @@ AC_DEFUN([OPAL_CHECK_PMI],[
100101 opal_pmi_added_ldflag=yes] )
101102 opal_check_pmi_$1 _LIBS="-lpmi"] ) ] ) ] )
102103 # check for pmi.h
103- AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/pmi.h"] ,
104- [ AS_IF ( [ test "$opal_default_loc" = "no"] ,
105- [ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include"
106- opal_pmi_added_cppflag=yes] ) ] ,
107- # this could be SLURM, which puts things in a different location
108- [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/slurm/pmi.h"] ,
109- # even if this was the default loc, we still need to add it in
110- # because of the slurm path addition
111- [ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"
112- opal_pmi_added_cppflag=yes] ) ] )
104+ AS_IF ( [ test -f "$opal_check_pmi_install_dir/pmi.h"] ,
105+ [ opal_check_pmi_have_hdr=yes
106+ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir"
107+ opal_pmi_added_cppflag=yes] ,
108+ [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/pmi.h"] ,
109+ [ opal_check_pmi_have_hdr=yes
110+ AS_IF ( [ test "$opal_default_loc" = "no"] ,
111+ [ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include"
112+ opal_pmi_added_cppflag=yes] ) ] ,
113+ # this could be SLURM, which puts things in a different location
114+ [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/slurm/pmi.h"] ,
115+ # even if this was the default loc, we still need to add it in
116+ # because of the slurm path addition
117+ [ opal_check_pmi_have_hdr=yes
118+ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"
119+ opal_pmi_added_cppflag=yes] ) ] ) ] )
113120
114121 # check for pmi2 lib */
115122 files=`ls -U $opal_check_pmi_lib_dir/libpmi2.* 2> /dev/null | wc -l`
@@ -120,7 +127,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
120127 opal_pmi_rpath="$opal_check_pmi_lib_dir"
121128 opal_pmi_added_ldflag=yes] )
122129 opal_check_pmi_$1 _LIBS="$opal_check_pmi_$1 _LIBS -lpmi2"] ,
123- [ files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi2.* 2> /dev/null | wc -l`
130+ [ files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi2.* 2> /dev/null | wc -l`
124131 AS_IF ( [ test "$files" -gt "0"] ,
125132 [ opal_have_pmi2=1
126133 AS_IF ( [ test "$opal_default_libloc" = "no"] ,
@@ -138,26 +145,37 @@ AC_DEFUN([OPAL_CHECK_PMI],[
138145 opal_check_pmi_$1 _LIBS="$opal_check_pmi_$1 _LIBS -lpmi2"] ) ] ) ] )
139146 # check for pmi2.h
140147 AS_IF ( [ test "$opal_pmi_added_cppflag" = "no"] ,
141- [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/pmi2.h"] ,
142- [ AS_IF ( [ test "$opal_default_loc" = "no"] ,
143- [ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include"] ) ] ,
144- # this could be SLURM, which puts things in a different location
145- [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/slurm/pmi2.h"] ,
146- # even if this was the default loc, we still need to add it in
147- # because of the slurm path addition
148- [ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"] ) ] ) ] )
148+ [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/pmi2.h"] ,
149+ [ opal_check_pmi_have_hdr=yes
150+ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir"] ,
151+ [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/pmi2.h"] ,
152+ [ opal_check_pmi_have_hdr=yes
153+ AS_IF ( [ test "$opal_default_loc" = "no"] ,
154+ [ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include"] ) ] ,
155+ # this could be SLURM, which puts things in a different location
156+ [ AS_IF ( [ test -f "$opal_check_pmi_install_dir/include/slurm/pmi2.h"] ,
157+ # even if this was the default loc, we still need to add it in
158+ # because of the slurm path addition
159+ [ opal_check_pmi_have_hdr=yes
160+ opal_check_pmi_$1 _CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"] ) ] ) ] ) ] )
149161
150162 # since support was explicitly requested, then we should error out
151163 # if we didn't find the required support
152164 AC_MSG_CHECKING ( [ if PMI support can be built] )
153- AS_IF ( [ test "$opal_have_pmi1 " != "1" && test "$opal_have_pmi2" != "1 "] ,
165+ AS_IF ( [ test "$opal_check_pmi_have_hdr " != "yes "] ,
154166 [ AC_MSG_RESULT ( [ no] )
155167 AC_MSG_WARN ( [ PMI support requested (via --with-pmi) but neither pmi.h] )
156- AC_MSG_WARN ( [ nor pmi2.h were found under locations:] )
168+ AC_MSG_WARN ( [ nor pmi2.h were found under locations:] )
157169 AC_MSG_WARN ( [ $opal_check_pmi_install_dir] )
158- AC_MSG_WARN ( [ $opal_check_pmi_install_dir/slurm] )
170+ AC_MSG_WARN ( [ $opal_check_pmi_install_dir/include] )
171+ AC_MSG_WARN ( [ $opal_check_pmi_install_dir/include/slurm] )
159172 AC_MSG_WARN ( [ Specified path: $with_pmi] )
160- AC_MSG_WARN ( [ OR neither libpmi nor libpmi2 were found under:] )
173+ AC_MSG_ERROR ( [ Aborting] )
174+ $3 ] )
175+
176+ AS_IF ( [ test "$opal_have_pmi1" != "1" && test "$opal_have_pmi2" != "1"] ,
177+ [ AC_MSG_RESULT ( [ no] )
178+ AC_MSG_WARN ( [ PMI support requested but neither libpmi nor libpmi2 were found under:] )
161179 AC_MSG_WARN ( [ $opal_check_pmi_lib_dir/lib] )
162180 AC_MSG_WARN ( [ $opal_check_pmi_lib_dir/lib64] )
163181 AC_MSG_WARN ( [ Specified path: $with_pmi_libdir] )
0 commit comments