@@ -39,7 +39,7 @@ dnl results of the build.
39
39
AC_DEFUN ( [ OMPI_SETUP_PRRTE] ,[
40
40
AC_REQUIRE ( [ AC_PROG_LN_S ] )
41
41
42
- OPAL_VAR_SCOPE_PUSH([ prrte_setup_internal_happy prrte_setup_external_happy target_rst_dir] )
42
+ OPAL_VAR_SCOPE_PUSH([ prrte_setup_internal_happy target_rst_dir] )
43
43
44
44
opal_show_subtitle "Configuring PRRTE"
45
45
@@ -56,16 +56,34 @@ OPAL_VAR_SCOPE_PUSH([prrte_setup_internal_happy prrte_setup_external_happy targe
56
56
rm -rf "$target_rst_dir/prrte-rst-content"
57
57
rm -rf "$target_rst_dir/schizo-ompi-rst-content"
58
58
59
- OPAL_3RDPARTY_WITH([ prrte] , [ prrte] , [ package_prrte] , [ 1] )
59
+ AC_ARG_WITH ( [ prrte] ,
60
+ [ AS_HELP_STRING ( [ --with-prrte] ,
61
+ [ Enable/disable building with PRRTE. Supports 'yes' and 'no', defaulting to 'yes'] ) ] )
62
+
63
+ # We only want to accept 'yes' or 'no' as args for --with-prrte.
64
+ # If user does not specify, it defaults to 'yes'.
65
+ # We no longer support external prrte builds.
66
+ prrte_setup_internal_happy=0
67
+ AS_IF ( [ test "$with_prrte" != "yes" -a "$with_prrte" != "no" -a "$with_prrte" != ""] ,
68
+ AC_MSG_ERROR ( [ "--with-prrte option defaults to 'yes' and supports 'yes' or 'no'. External PRRTE builds are no longer supported.] ) )
60
69
61
70
AC_ARG_WITH ( [ prrte-bindir] ,
62
71
[ AS_HELP_STRING ( [ --with-prrte-bindir=DIR] ,
63
72
[ Search for PRRTE binaries in DIR. Defaults to PRRTE_DIR/bin if not specified] ) ] )
73
+
74
+ # Determines if user wants to build with PRRTE.
75
+ # Defaults to building with PRRTE if unspecified.
76
+ AS_CASE ( [ $with_prrte] ,
77
+ [ "yes"] , [ prrte_setup_internal_happy=1
78
+ opal_prrte_mode="internal"] ,
79
+ [ "no"] , [ prrte_setup_internal_happy=0
80
+ opal_prrte_mode="disabled"] ,
81
+ [ ""] , [ prrte_setup_internal_happy=1
82
+ opal_prrte_mode="internal"] )
64
83
65
- prrte_setup_internal_happy=0
66
84
m4_ifdef ( [ package_prrte] ,
67
85
[ OMPI_PRRTE_ADD_ARGS
68
- AS_IF ( [ test "$opal_prrte_mode" = "unspecified" -o "$opal_prrte_mode" = " internal"] ,
86
+ AS_IF ( [ test "$opal_prrte_mode" = "internal"] ,
69
87
[ # Run PRRTE's configure script unless the user
70
88
# explicitly asked us to use an external PMIX, so that
71
89
# "make dist" includes PRRTE in the dist tarball. This
@@ -78,37 +96,26 @@ OPAL_VAR_SCOPE_PUSH([prrte_setup_internal_happy prrte_setup_external_happy targe
78
96
_OMPI_SETUP_PRRTE_INTERNAL([ prrte_setup_internal_happy=1] ,
79
97
[ prrte_setup_internal_happy=0] )] )
80
98
81
- # if we have a pmix package and configure did not complete
82
- # successfully (or wasn't started), then disable make dist.
83
- AS_IF ( [ test $prrte_setup_internal_happy != 1] ,
84
- [ OPAL_MAKEDIST_DISABLE="$OPAL_MAKEDIST_DISABLE PRRTE"] ) ] )
85
-
86
- # unless internal specifically requested by the user, try to find
87
- # an external that works.
88
- prrte_setup_external_happy=0
89
- AS_IF ( [ test "$opal_prrte_mode" != "internal" -a "$opal_prrte_mode" != "disabled"] ,
90
- [ _OMPI_SETUP_PRRTE_EXTERNAL(
91
- [ prrte_setup_external_happy=1
92
- opal_prrte_mode="external"] ,
93
- [ AS_IF ( [ test "$opal_prrte_mode" = "external"] ,
94
- [ AC_MSG_ERROR ( [ External PRRTE requested but not found.] ) ] ) ] )] )
95
-
96
- # external did not work out and customer did not specify external,
97
- # so try the internal version.
98
- AS_IF ( [ test "$prrte_setup_external_happy" = "0" -a "$prrte_setup_internal_happy" = "1"] ,
99
- [ opal_prrte_mode="internal"
100
- OMPI_USING_INTERNAL_PRRTE=1
101
- _OMPI_SETUP_PRRTE_INTERNAL_POST()] ,
102
- [ OMPI_USING_INTERNAL_PRRTE=0] )
103
-
104
- AS_IF ( [ test "$opal_prrte_mode" != "disabled"] ,
105
- [ AS_IF ( [ test "$prrte_setup_external_happy" = "0" -a "$prrte_setup_internal_happy" = "0"] ,
106
- [ AC_MSG_ERROR ( [ Could not find viable prrte build.] ) ] )
107
- OMPI_HAVE_PRRTE=1] ,
108
- [ OMPI_HAVE_PRRTE=0] )
99
+ # if we have a pmix package and configure did not complete
100
+ # successfully (or wasn't started), then disable make dist.
101
+ AS_IF ( [ test $prrte_setup_internal_happy != 1] ,
102
+ [ OPAL_MAKEDIST_DISABLE="$OPAL_MAKEDIST_DISABLE PRRTE"] ) ] )
103
+
104
+ AS_IF ( [ test "$opal_prrte_mode" = "disabled"] ,
105
+ [ OMPI_WANT_PRRTE=0
106
+ OMPI_HAVE_PRRTE=0
107
+ OMPI_USING_INTERNAL_PRRTE=0
108
+ OMPI_HAVE_PRRTE_RST=0] ,
109
+ [ AS_IF ( [ test "$prrte_setup_internal_happy" = "1"] ,
110
+ [ OMPI_WANT_PRRTE=1
111
+ OMPI_HAVE_PRRTE=1
112
+ OMPI_USING_INTERNAL_PRRTE=1
113
+ _OMPI_SETUP_PRRTE_INTERNAL_POST()] ,
114
+ [ OMPI_HAVE_PRRTE=0
115
+ OMPI_USING_INTERNAL_PRRTE=0] ) ] )
109
116
110
117
AM_CONDITIONAL([ OMPI_WANT_PRRTE] ,
111
- [ test "$prrte_setup_internal_happy" = "1" -o "$prrte_setup_external_happy" = "1" ] )
118
+ [ test "$prrte_setup_internal_happy" = "1"] )
112
119
113
120
AC_DEFINE_UNQUOTED ( [ OMPI_HAVE_PRRTE] ,
114
121
[ $OMPI_HAVE_PRRTE] ,
@@ -265,77 +272,3 @@ dnl succeeded.
265
272
AC_DEFUN ( [ _OMPI_SETUP_PRRTE_INTERNAL_POST] , [
266
273
OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS prrte"
267
274
] )
268
-
269
-
270
- dnl _OMPI_SETUP_PRRTE_EXTERNAL([action if success], [action if not success])
271
- dnl
272
- dnl Try to find an external prrte with sufficient version.
273
- AC_DEFUN ( [ _OMPI_SETUP_PRRTE_EXTERNAL] , [
274
- OPAL_VAR_SCOPE_PUSH([ ompi_prte_min_version ompi_prte_min_num_version setup_prrte_external_happy opal_prrte_CPPFLAGS_save] )
275
-
276
- opal_prrte_CPPFLAGS_save=$CPPFLAGS
277
-
278
- AS_IF ( [ test -n "${with_prrte}" -a "${with_prrte}" != "yes" -a "${with_prrte}" != "no"] ,
279
- [ OPAL_FLAGS_APPEND_UNIQ([ CPPFLAGS] , [ "-I${with_prrte}/include"] )] )
280
-
281
- AC_CHECK_HEADER ( [ prte.h] , [ setup_prrte_external_happy=yes] ,
282
- [ setup_prrte_external_happy=no] )
283
-
284
- ompi_prte_min_version=OMPI_PRTE_MIN_VERSION
285
- ompi_prte_min_num_version=OMPI_PRTE_NUMERIC_MIN_VERSION
286
- AS_IF ( [ test "${setup_prrte_external_happy}" = "yes"] ,
287
- [ AC_CACHE_CHECK ( [ if external PRRTE version is OMPI_PRTE_MIN_VERSION or greater] ,
288
- [ ompi_setup_prrte_cv_version_happy] ,
289
- [ AC_COMPILE_IFELSE ( [ AC_LANG_PROGRAM ( [ [ #include <prte_version.h>
290
- ] ] , [ [
291
- #if PRTE_NUMERIC_VERSION < $ompi_prte_min_num_version
292
- #error "prrte API version is less than $ompi_prte_min_version"
293
- #endif
294
- ] ] ) ] ,
295
- [ ompi_setup_prrte_cv_version_happy="yes"] ,
296
- [ ompi_setup_prrte_cv_version_happy="no"] ) ] )
297
- AS_IF ( [ test "${ompi_setup_prrte_cv_version_happy}" = "no"] ,
298
- [ setup_prrte_external_happy="no"] ) ] )
299
-
300
- CPPFLAGS="$opal_prrte_CPPFLAGS_save"
301
-
302
- # If an external build and the user told us where to find PRRTE,
303
- # find prterun and save that path.
304
- prterun_path=
305
- AS_IF ( [ test "$setup_prrte_external_happy" = "yes"] ,
306
- [ AS_IF ( [ test "${with_prrte_bindir}" = "yes" -o "${with_prrte_bindir}" = "no"] ,
307
- [ AC_MSG_ERROR ( [ "yes" and "no" are not valid arguments for --with-prrte-bindir] ) ] )
308
- AS_IF ( [ test -z "${with_prrte_bindir}" -a -n "${with_prrte}"] ,
309
- [ with_prrte_bindir="${with_prrte}/bin"] )
310
- AS_IF ( [ test -n "${with_prrte_bindir}"] ,
311
- [ AS_IF ( [ test -x ${with_prrte_bindir}/prterun] ,
312
- [ prterun_path="${with_prrte_bindir}/prterun"] ,
313
- [ AC_MSG_ERROR ( [ Could not find executable prterun: ${with_prrte_bindir}/prterun] ) ] ) ] ) ] )
314
- AS_IF ( [ test -n "${prterun_path}"] ,
315
- [ AC_DEFINE_UNQUOTED ( [ OMPI_PRTERUN_PATH] , [ "${prterun_path}"] , [ Path to prterun] ) ] )
316
-
317
- OMPI_HAVE_PRRTE_RST=0
318
- AS_IF ( [ test "$setup_prrte_external_happy" = "yes"] ,
319
- [ # Determine if this external PRRTE has installed the RST
320
- # directories that we care about
321
-
322
- AC_MSG_CHECKING ( [ for external PRRTE RST files] )
323
- prrte_install_dir=${with_prrte}/share/prte/rst
324
- AS_IF ( [ test -n "$SPHINX_BUILD"] ,
325
- [ AS_IF ( [ test -d "$prrte_install_dir/prrte-rst-content" && \
326
- test -d "$prrte_install_dir/schizo-ompi-rst-content"] ,
327
- [ OMPI_HAVE_PRRTE_RST=1
328
- OMPI_PRRTE_RST_CONTENT_DIR="$prrte_install_dir/prrte-rst-content"
329
- OMPI_SCHIZO_OMPI_RST_CONTENT_DIR="$prrte_install_dir/schizo-ompi-rst-content"
330
- AC_MSG_RESULT ( [ found] )
331
- ] ,
332
- [ # This version of PRRTE doesn't have installed RST
333
- # files.
334
- AC_MSG_RESULT ( [ not found] )
335
- ] )
336
- ] )
337
- $1 ] ,
338
- [ $2 ] )
339
-
340
- OPAL_VAR_SCOPE_POP
341
- ] )
0 commit comments