11dnl -* - shell-script -* -
22dnl
3- dnl Copyright (c) 2015-2016  Cisco Systems, Inc.  All rights reserved.
3+ dnl Copyright (c) 2015-2019  Cisco Systems, Inc.  All rights reserved.
44dnl Copyright (c) 2016-2017 Los Alamos National Security, LLC. All rights
55dnl                         reserved.
66dnl $COPYRIGHT $
@@ -10,102 +10,116 @@ dnl
1010dnl $HEADER $
1111dnl
1212
13- 
14- #  OPAL_CHECK_OFI(prefix, [action-if-found], [action-if-not-found]
15- #  --------------------------------------------------------
16- #  Check if libfabric support can be found.
17- # 
18- #  Sets prefix_{CPPFLAGS, LDFLAGs, LIBS} as needed and runs
19- #  action-if-found if there is support; otherwise executes
20- #  action-if-not-found.
21- # 
22- AC_DEFUN([OPAL_CHECK_OFI],[
23-     if  test  -z " $opal_check_libfabric_happy " ;  then 
24- 	OPAL_VAR_SCOPE_PUSH([opal_check_libfabric_$1 _save_CPPFLAGS opal_check_libfabric_$1 _save_LDFLAGS opal_check_libfabric_$1 _save_LIBS])
25- 
26- 	#  Add --with options
27- 	AC_ARG_WITH([libfabric],
28- 		    [AC_HELP_STRING([--with-libfabric= DIR],
29- 				    [Deprecated synonym for  --with-ofi])])
30- 	AC_ARG_WITH([libfabric-libdir],
31- 		    [AC_HELP_STRING([--with-libfabric-libdir= DIR],
32- 				    [Deprecated synonym for  --with-ofi-libdir])])
33- 
34- 	AC_ARG_WITH([ofi],
35- 		    [AC_HELP_STRING([--with-ofi= DIR],
36- 				    [Specify location of OFI libfabric installation, adding DIR/include to the default search location for  libfabric headers, and DIR/lib or DIR/lib64 to the default search location for  libfabric libraries.  Error if  libfabric support cannot be found.])])
37- 
38- 	AC_ARG_WITH([ofi-libdir],
39- 		    [AC_HELP_STRING([--with-ofi-libdir= DIR],
40- 				    [Search for  OFI libfabric libraries  in  DIR])])
41- 
42- 	if  test  " $with_ofi " " " ;  then 
43- 	     with_ofi=$with_libfabric 
44- 	fi 
45- 
46- 	if  test  " $with_ofi_libdir " " " ;  then 
47- 	     with_ofi_libdir=$with_libfabric_libdir 
48- 	fi 
49- 
50- 	    #  Sanity check the --with values
51- 	OPAL_CHECK_WITHDIR([ofi], [$with_ofi ],
52- 			   [include/rdma/fabric.h])
53- 	OPAL_CHECK_WITHDIR([ofi-libdir], [$with_ofi_libdir ],
54- 			   [libfabric.* ])
55- 
56- 	opal_check_ofi_$1 _save_CPPFLAGS=$CPPFLAGS 
57- 	opal_check_ofi_$1 _save_LDFLAGS=$LDFLAGS 
58- 	opal_check_ofi_$1 _save_LIBS=$LIBS 
59- 
60- 	opal_check_ofi_happy=yes
61- 	AS_IF([test " $with_ofi " =  " no" 
62-               [opal_check_ofi_happy= no])
63- 
64- 	AS_IF([test $opal_check_ofi_happy  =  yes],
65-               [AC_MSG_CHECKING([looking for  OFI libfabric in])
66-                AS_IF([test " $with_ofi " !=  " yes" 
67-                      [opal_ofi_dir= $with_ofi 
68-                       AC_MSG_RESULT([($opal_ofi_dir )])],
69-                      [AC_MSG_RESULT([(default search paths)])])
70-                AS_IF([test !  -z  " $with_ofi_libdir " &&  \
71- 			     test  " $with_ofi_libdir " !=  " yes" 
72-                      [opal_ofi_libdir= $with_ofi_libdir ])
73-               ])
74- 
75- 	AS_IF([test $opal_check_ofi_happy  =  yes],
76-               [OPAL_CHECK_PACKAGE([opal_check_ofi],
77- 				  [rdma/fabric.h],
78- 				  [fabric],
79- 				  [fi_getinfo],
80- 				  [],
81- 				  [$opal_ofi_dir ],
82- 				  [$opal_ofi_libdir ],
83- 				  [],
84- 				  [opal_check_ofi_happy= no])])
85- 
86- 	CPPFLAGS=$opal_check_ofi_ $1 _save_CPPFLAGS
87- 	LDFLAGS=$opal_check_ofi_ $1 _save_LDFLAGS
88- 	LIBS=$opal_check_ofi_ $1 _save_LIBS
89- 
90- 	OPAL_SUMMARY_ADD([[Transports]],[[OpenFabrics Libfabric]],[$1 ],[$opal_check_ofi_happy ])
91- 
92- 	OPAL_VAR_SCOPE_POP
13+ dnl
14+ dnl _OPAL_CHECK_OFI
15+ dnl --------------------------------------------------------
16+ dnl Do the real work of checking for  OFI libfabric.
17+ dnl Upon return:
18+ dnl
19+ dnl - opal_ofi_happy: will be " yes" " no" 
20+ dnl - opal_ofi_{CPPFLAGS| LDFLAGS| LIBS} will be loaded (if relevant)
21+ dnl
22+ AC_DEFUN([_OPAL_CHECK_OFI],[
23+     #  Add --with options
24+     AC_ARG_WITH([libfabric],
25+                 [AC_HELP_STRING([--with-libfabric= DIR],
26+                                 [Deprecated synonym for  --with-ofi])])
27+     AC_ARG_WITH([libfabric-libdir],
28+                 [AC_HELP_STRING([--with-libfabric-libdir= DIR],
29+                                 [Deprecated synonym for  --with-ofi-libdir])])
30+ 
31+     AC_ARG_WITH([ofi],
32+                 [AC_HELP_STRING([--with-ofi= DIR],
33+                                 [Specify location of OFI libfabric installation, adding DIR/include to the default search location for  libfabric headers, and DIR/lib or DIR/lib64 to the default search location for  libfabric libraries.  Error if  libfabric support cannot be found.])])
34+ 
35+     AC_ARG_WITH([ofi-libdir],
36+                 [AC_HELP_STRING([--with-ofi-libdir= DIR],
37+                                 [Search for  OFI libfabric libraries  in  DIR])])
38+ 
39+     if  test  " $with_ofi " " " ;  then 
40+          with_ofi=$with_libfabric 
9341    fi 
9442
95-     if  test  $opal_check_ofi_happy  = yes ;  then 
96- 	$1 _CPPFLAGS=" [$]$1 _CPPFLAGS $opal_check_ofi_CPPFLAGS " 
97- 	$1 _LIBS=" [$]$1 _LIBS $opal_check_ofi_LIBS " 
98- 	$1 _LDFLAGS=" [$]$1 _LDFLAGS $opal_check_ofi_LDFLAGS " 
99- 
100- 	AC_SUBST($1 _CPPFLAGS)
101- 	AC_SUBST($1 _LDFLAGS)
102- 	AC_SUBST($1 _LIBS)
43+     if  test  " $with_ofi_libdir " " " ;  then 
44+          with_ofi_libdir=$with_libfabric_libdir 
10345    fi 
10446
105-     AS_IF([test $opal_check_ofi_happy  =  yes],
106-           [$2 ],
47+     #  Sanity check the --with values
48+     OPAL_CHECK_WITHDIR([ofi], [$with_ofi ],
49+                        [include/rdma/fabric.h])
50+     OPAL_CHECK_WITHDIR([ofi-libdir], [$with_ofi_libdir ],
51+                        [libfabric.* ])
52+ 
53+     OPAL_VAR_SCOPE_PUSH([opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS])
54+     opal_check_ofi_save_CPPFLAGS=$CPPFLAGS 
55+     opal_check_ofi_save_LDFLAGS=$LDFLAGS 
56+     opal_check_ofi_save_LIBS=$LIBS 
57+ 
58+     opal_ofi_happy=yes
59+     AS_IF([test " $with_ofi " =  " no" 
60+           [opal_ofi_happy= no])
61+ 
62+     AS_IF([test $opal_ofi_happy  =  yes],
63+           [AC_MSG_CHECKING([looking for  OFI libfabric in])
64+            AS_IF([test " $with_ofi " !=  " yes" 
65+                  [opal_ofi_dir= $with_ofi 
66+                   AC_MSG_RESULT([($opal_ofi_dir )])],
67+                  [AC_MSG_RESULT([(default search paths)])])
68+            AS_IF([test !  -z  " $with_ofi_libdir " &&  \
69+                          test  " $with_ofi_libdir " !=  " yes" 
70+                  [opal_ofi_libdir= $with_ofi_libdir ])
71+           ])
72+ 
73+     AS_IF([test $opal_ofi_happy  =  yes],
74+           [OPAL_CHECK_PACKAGE([opal_ofi],
75+                               [rdma/fabric.h],
76+                               [fabric],
77+                               [fi_getinfo],
78+                               [],
79+                               [$opal_ofi_dir ],
80+                               [$opal_ofi_libdir ],
81+                               [],
82+                               [opal_ofi_happy= no])])
83+ 
84+     CPPFLAGS=$opal_check_ofi_save_CPPFLAGS 
85+     LDFLAGS=$opal_check_ofi_save_LDFLAGS 
86+     LIBS=$opal_check_ofi_save_LIBS 
87+ 
88+     AC_SUBST([opal_ofi_CPPFLAGS])
89+     AC_SUBST([opal_ofi_LDFLAGS])
90+     AC_SUBST([opal_ofi_LIBS])
91+ 
92+     OPAL_SUMMARY_ADD([[Transports]],[[OpenFabrics OFI Libfabric]],[],[$opal_ofi_happy ])
93+ 
94+     OPAL_VAR_SCOPE_POP
95+ 
96+     AS_IF([test $opal_ofi_happy  =  no],
10797          [AS_IF([test -n  " $with_ofi " &&  test  " $with_ofi " !=  " no" 
10898                 [AC_MSG_WARN([OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found.])
10999                  AC_MSG_ERROR([Cannot continue.])])
110-            $3 ])
100+            ])
111101])dnl
102+ 
103+ 
104+ dnl
105+ dnl OPAL_CHECK_OFI
106+ dnl --------------------------------------------------------
107+ dnl Check to see if  OFI libfabric is available.
108+ dnl
109+ dnl This is a simple wrapper around _OPAL_CHECK_OFI that just
110+ dnl ensures to only run the checks once.  We do  not use AC_REQUIRE
111+ dnl because that re-orders the texts and makes ordering in  stdout
112+ dnl quite confusing / difficult to grok.
113+ dnl
114+ AC_DEFUN([OPAL_CHECK_OFI],[
115+     #  Check for OFI libfabric.  Note that $opal_ofi_happy is used in
116+     #  other configure.m4's to know if OFI/libfabric configured
117+     #  successfully.  We only need to run the back-end checks once, but
118+     #  at least emit a "checking..." statement each subsequent time
119+     #  this macro is invoked so that configure's stdout has
120+     #  sensible/logical output.
121+     AS_IF([test -z  " $opal_ofi_happy " 
122+         [_OPAL_CHECK_OFI],
123+         [AC_MSG_CHECKING([if OFI libfabric is available])
124+          AC_MSG_RESULT([$opal_ofi_happy ])])
125+ ])
0 commit comments