2
2
#
3
3
# Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
4
4
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
5
- # Copyright (c) 2015-2017 Research Organization for Information Science
5
+ # Copyright (c) 2015-2018 Research Organization for Information Science
6
6
# and Technology (RIST). All rights reserved.
7
7
#
8
8
# Copyright (c) 2017 Intel, Inc. All rights reserved.
@@ -56,7 +56,7 @@ AC_DEFUN([MCA_opal_event_external_POST_CONFIG],[
56
56
AC_DEFUN([MCA_opal_event_external_CONFIG],[
57
57
AC_CONFIG_FILES([opal/mca/event/external/Makefile])
58
58
59
- OPAL_VAR_SCOPE_PUSH([opal_event_external_CPPFLAGS_save opal_event_external_CFLAGS_save opal_event_external_LDFLAGS_save opal_event_external_LIBS_save opal_event_dir])
59
+ OPAL_VAR_SCOPE_PUSH([opal_event_external_CPPFLAGS_save opal_event_external_CFLAGS_save opal_event_external_LDFLAGS_save opal_event_external_LIBS_save opal_event_dir opal_event_external_support ])
60
60
61
61
# Make some processing below easier ($with_libevent==yes and
62
62
# $with_libevent==no has already been filtered out).
@@ -73,7 +73,8 @@ AC_DEFUN([MCA_opal_event_external_CONFIG],[
73
73
74
74
# Did the user want us to check for libevent in a specific location?
75
75
AC_MSG_CHECKING([for external libevent in])
76
- AS_IF([test " $with_libevent " != " external" && \
76
+ AS_IF([test -n " $with_libevent " && \
77
+ test " $with_libevent " != " external" && \
77
78
test " $with_libevent " != " internal" && \
78
79
test " $with_libevent " != " yes" && \
79
80
test " $with_libevent " != " no" ],
@@ -104,70 +105,76 @@ AC_DEFUN([MCA_opal_event_external_CONFIG],[
104
105
AS_IF([test ! -z " $with_libevent_libdir " && test " $with_libevent_libdir " != " yes" ],
105
106
[opal_event_libdir= " $with_libevent_libdir " ])
106
107
107
- opal_event_external_CPPFLAGS_save= $CPPFLAGS
108
- opal_event_external_CFLAGS_save= $CFLAGS
109
- opal_event_external_LDFLAGS_save= $LDFLAGS
110
- opal_event_external_LIBS_save= $LIBS
111
-
112
- OPAL_CHECK_PACKAGE([opal_event_external],
113
- [event.h],
114
- [event],
115
- [event_config_new],
116
- [-levent_pthreads],
117
- [$opal_event_dir ],
118
- [$opal_event_libdir ],
119
- [opal_event_external_support= yes],
120
- [opal_event_external_support= no])
121
-
122
- # Ensure that this libevent has the symbol
123
- # "evthread_set_lock_callbacks", which will only exist if
124
- # libevent was configured with thread support.
125
- LIBS= " $opal_event_external_LDFLAGS $LIBS "
126
- AC_CHECK_LIB([event], [evthread_set_lock_callbacks],
127
- [],
128
- [AC_MSG_WARN([External libevent does not have thread support])
129
- AC_MSG_WARN([Open MPI requires libevent to be compiled with])
130
- AC_MSG_WARN([thread support enabled])
131
- AC_MSG_ERROR([Cannot continue])])
132
-
133
- AC_CHECK_LIB([event_pthreads], [evthread_use_pthreads],
134
- [],
135
- [AC_MSG_WARN([External libevent does not have thread support])
136
- AC_MSG_WARN([Open MPI requires libevent to be compiled with])
137
- AC_MSG_WARN([thread support enabled])
138
- AC_MSG_ERROR([Cannot continue])])
139
-
140
- CPPFLAGS= $opal_event_external_CPPFLAGS_save
141
- CFLAGS= $opal_event_external_CFLAGS_save
142
- LDFLAGS= $opal_event_external_LDFLAGS_save
143
- LIBS= $opal_event_external_LIBS_save
144
-
145
- AC_SUBST(opal_event_external_CPPFLAGS)
146
- AC_SUBST(opal_event_external_LDFLAGS)
147
- AC_SUBST(opal_event_external_LIBS)
148
-
149
- # These flags need to get passed to the wrapper compilers
150
- # (this is unnecessary for the internal/embedded event)
151
- event_external_WRAPPER_EXTRA_CPPFLAGS= $opal_event_external_CPPFLAGS
152
-
153
- # Finally, add some flags to the wrapper compiler if we're
154
- # building with developer headers so that our headers can
155
- # be found.
156
- event_external_WRAPPER_EXTRA_LDFLAGS= $opal_event_external_LDFLAGS
157
- event_external_WRAPPER_EXTRA_LIBS= $opal_event_external_LIBS
108
+ AS_IF([test " $with_libevent " != " internal" ],
109
+ [opal_event_external_CPPFLAGS_save= $CPPFLAGS
110
+ opal_event_external_CFLAGS_save= $CFLAGS
111
+ opal_event_external_LDFLAGS_save= $LDFLAGS
112
+ opal_event_external_LIBS_save= $LIBS
113
+
114
+ OPAL_CHECK_PACKAGE([opal_event_external],
115
+ [event.h],
116
+ [event],
117
+ [event_config_new],
118
+ [-levent_pthreads],
119
+ [$opal_event_dir ],
120
+ [$opal_event_libdir ],
121
+ [opal_event_external_support= yes],
122
+ [opal_event_external_support= no])
123
+
124
+ AS_IF([test " $opal_event_external_support " = " yes" ],
125
+ [# Ensure that this libevent has the symbol
126
+ # "evthread_set_lock_callbacks", which will only exist if
127
+ # libevent was configured with thread support.
128
+ LIBS= " $opal_event_external_LDFLAGS $LIBS "
129
+ AC_CHECK_LIB([event], [evthread_set_lock_callbacks],
130
+ [],
131
+ [AC_MSG_WARN([External libevent does not have thread support])
132
+ AC_MSG_WARN([Open MPI requires libevent to be compiled with])
133
+ AC_MSG_WARN([thread support enabled])
134
+ opal_event_external_support= no])])
135
+
136
+ AS_IF([test " $opal_event_external_support " = " yes" ],
137
+ [AC_CHECK_LIB([event_pthreads], [evthread_use_pthreads],
138
+ [],
139
+ [AC_MSG_WARN([External libevent does not have thread support])
140
+ AC_MSG_WARN([Open MPI requires libevent to be compiled with])
141
+ AC_MSG_WARN([thread support enabled])
142
+ opal_event_external_support= no])])
143
+
144
+ CPPFLAGS= $opal_event_external_CPPFLAGS_save
145
+ CFLAGS= $opal_event_external_CFLAGS_save
146
+ LDFLAGS= $opal_event_external_LDFLAGS_save
147
+ LIBS= $opal_event_external_LIBS_save
148
+
149
+ AC_SUBST(opal_event_external_CPPFLAGS)
150
+ AC_SUBST(opal_event_external_LDFLAGS)
151
+ AC_SUBST(opal_event_external_LIBS)
152
+
153
+ # These flags need to get passed to the wrapper compilers
154
+ # (this is unnecessary for the internal/embedded event)
155
+ event_external_WRAPPER_EXTRA_CPPFLAGS= $opal_event_external_CPPFLAGS
156
+
157
+ # Finally, add some flags to the wrapper compiler if we're
158
+ # building with developer headers so that our headers can
159
+ # be found.
160
+ event_external_WRAPPER_EXTRA_LDFLAGS= $opal_event_external_LDFLAGS
161
+ event_external_WRAPPER_EXTRA_LIBS= $opal_event_external_LIBS ])
158
162
159
163
# #################################################################
160
164
161
165
# Done!
162
166
AS_IF([test " $opal_event_external_support " = " yes" ],
163
- [ # If we configured successfully, set
167
+ [# If we configured successfully, set
164
168
# OPAL_HAVE_WORKING_EVENTOPS to 1 (it's a calculated value
165
169
# in the embedded Open MPI libevent, so we can only assume
166
170
# what it is in the installed libevent :-\ ).
167
171
file= $opal_event_dir /include/libevent/config.h
168
172
OPAL_HAVE_WORKING_EVENTOPS= 1
169
173
$1 ],
170
174
[OPAL_HAVE_WORKING_EVENTOPS= 0
175
+ AS_IF([test " $with_libevent " != internal && test -n " $with_libevent " ],
176
+ [AC_MSG_WARN([external libevent requested but cannot be built])
177
+ AC_MSG_ERROR([Cannot continue.])])
171
178
$2 ])
172
179
173
180
OPAL_VAR_SCOPE_POP
0 commit comments