Include the libevent headers when --with-devel-headers is specified. Ensure that the proper include paths are added to the wrapper compilers - thanks to Jeff for figuring out how to do it.
This commit was SVN r23967.
Этот коммит содержится в:
родитель
9ea2b196ce
Коммит
838ed14401
@ -38,31 +38,34 @@ compared to prior versions in the OPAL code base by replacing
|
|||||||
file-by-file edits with configuration logic. Thus, updating the
|
file-by-file edits with configuration logic. Thus, updating the
|
||||||
included libevent code can generally be accomplished by:
|
included libevent code can generally be accomplished by:
|
||||||
|
|
||||||
1. svn delete the contents of the opal/event/libevent directory
|
1. create a new opal/mca/event component for the updated version, using
|
||||||
--> We may want to do this via SVN 3rd party update. Not clear yet.
|
a name "libeventxxx", where xxx = libevent version. For example,
|
||||||
|
libevent 2.0.7 => component libevent207
|
||||||
|
|
||||||
2. unpack the new libevent code tarball in the opal/event/libevent directory
|
2. create a subdirectory "libevent" in the new component and unpack the
|
||||||
--> We may want to do this via SVN 3rd party update. Not clear yet.
|
new libevent code tarball into it.
|
||||||
|
|
||||||
3. restore the symbolic link:
|
3. copy the configure.m4, autogen.subdirs, component.c, moduule.c,
|
||||||
cd libevent/m4
|
Makefile.am, and .h files from a prior version to the new component.
|
||||||
ln -s ../../opal_libevent_configure.m4 opal_libevent_configure.m4
|
You will need to customize them for the new version, but they can
|
||||||
|
serve as a good template. In many cases, you will just have to update
|
||||||
|
the component name.
|
||||||
|
|
||||||
4. edit libevent/configure.in to add two lines:
|
4. edit libevent/configure.in to add OMPI specific options and modes.
|
||||||
(a) just before AC_PROG_LIBTOOL near the beginning of the file:
|
Use the corresponding file from a prior version as a guide. The
|
||||||
OPAL_CONFIGURE_LIBEVENT_OPTIONS
|
necessary changes are marked with "OMPI" comments. These changes
|
||||||
(b) just before AC_CONFIG_FILES at the very end:
|
have been pushed upstream to libevent, and so edits may no longer
|
||||||
OPAL_CONFIGURE_LIBEVENT_MODES
|
be required in the new version.
|
||||||
|
|
||||||
5. Merge the contents of opal_libevent_makefile.am with
|
5. Modify libevent/Makefile.am. Here again, you should use the file from
|
||||||
libevent/Makefile.am. Depending upon what the Libevent developers
|
a prior version as an example. Hopefully, you can just use the file
|
||||||
did for the update, this may well need to be done by hand.
|
without change - otherwise, the changes will have to be done by hand.
|
||||||
|
Required changes reflect the need for OMPI to turn "off" unused
|
||||||
|
subsystems such as http. These changes have been pushed upstream to
|
||||||
|
libevent, and so edits may no longer be required in the new version.
|
||||||
|
|
||||||
6. Edit libevent/configure.in and add the following after the
|
6. in your new component Makefile.am, note that the libevent headers
|
||||||
AM_INIT_AUTOMAKE line:
|
are listed by name when WITH_INSTALL_HEADERS is given. This is required
|
||||||
|
to support the OMPI --with-devel-headers configure option. Please review
|
||||||
# If Automake supports silent rules, enable them.
|
the list and update it to include all libevent headers for the new
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
version.
|
||||||
|
|
||||||
This isn't critical, but it makes the compiler output MUCH
|
|
||||||
prettier (and consistent with OMPI).
|
|
||||||
|
@ -21,6 +21,44 @@ sources = \
|
|||||||
|
|
||||||
# Conditionally install the header files
|
# Conditionally install the header files
|
||||||
if WANT_INSTALL_HEADERS
|
if WANT_INSTALL_HEADERS
|
||||||
|
headers += libevent/event.h libevent/evutil.h libevent/util-internal.h \
|
||||||
|
libevent/mm-internal.h libevent/ipv6-internal.h \
|
||||||
|
libevent/strlcpy-internal.h libevent/evbuffer-internal.h \
|
||||||
|
libevent/bufferevent-internal.h libevent/event-internal.h \
|
||||||
|
libevent/evthread-internal.h libevent/defer-internal.h \
|
||||||
|
libevent/minheap-internal.h libevent/log-internal.h \
|
||||||
|
libevent/evsignal-internal.h libevent/evmap-internal.h \
|
||||||
|
libevent/changelist-internal.h libevent/iocp-internal.h \
|
||||||
|
libevent/ratelim-internal.h \
|
||||||
|
libevent/WIN32-Code/event2/event-config.h \
|
||||||
|
libevent/WIN32-Code/tree.h \
|
||||||
|
libevent/compat/sys/queue.h \
|
||||||
|
libevent/evhttp.h libevent/http-internal.h libevent/ht-internal.h \
|
||||||
|
libevent/evrpc.h libevent/evrpc-internal.h \
|
||||||
|
libevent/evdns.h libevent/include/event2/buffer_compat.h \
|
||||||
|
libevent/include/event2/buffer.h \
|
||||||
|
libevent/include/event2/bufferevent_compat.h \
|
||||||
|
libevent/include/event2/bufferevent_ssl.h \
|
||||||
|
libevent/include/event2/bufferevent_struct.h \
|
||||||
|
libevent/include/event2/bufferevent.h \
|
||||||
|
libevent/include/event2/dns_compat.h \
|
||||||
|
libevent/include/event2/dns_struct.h \
|
||||||
|
libevent/include/event2/event_compat.h \
|
||||||
|
libevent/include/event2/event_struct.h \
|
||||||
|
libevent/include/event2/event-config.h \
|
||||||
|
libevent/include/event2/event.h \
|
||||||
|
libevent/include/event2/http_compat.h \
|
||||||
|
libevent/include/event2/http_struct.h \
|
||||||
|
libevent/include/event2/http.h \
|
||||||
|
libevent/include/event2/keyvalq_struct.h \
|
||||||
|
libevent/include/event2/listener.h \
|
||||||
|
libevent/include/event2/rpc_compat.h \
|
||||||
|
libevent/include/event2/rpc_struct.h \
|
||||||
|
libevent/include/event2/rpc.h \
|
||||||
|
libevent/include/event2/tag_compat.h \
|
||||||
|
libevent/include/event2/tag.h \
|
||||||
|
libevent/include/event2/thread.h \
|
||||||
|
libevent/include/event2/util.h
|
||||||
opaldir = $(includedir)/openmpi/$(subdir)
|
opaldir = $(includedir)/openmpi/$(subdir)
|
||||||
nobase_opal_HEADERS = $(headers)
|
nobase_opal_HEADERS = $(headers)
|
||||||
endif
|
endif
|
||||||
|
@ -167,6 +167,7 @@ EOF
|
|||||||
event_base_include_cppflags="-I$OMPI_TOP_SRCDIR/$file -I$OMPI_TOP_SRCDIR/$file/include"
|
event_base_include_cppflags="-I$OMPI_TOP_SRCDIR/$file -I$OMPI_TOP_SRCDIR/$file/include"
|
||||||
AS_IF([test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"],
|
AS_IF([test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"],
|
||||||
[event_base_include_cppflags="$event_base_include_cpp_flags -I$OMPI_TOP_BUILDDIR/$file/include"])
|
[event_base_include_cppflags="$event_base_include_cpp_flags -I$OMPI_TOP_BUILDDIR/$file/include"])
|
||||||
|
WRAPPER_EXTRA_CPPFLAGS="$WRAPPER_EXTRA_CPPFLAGS "'-I${includedir}/openmpi/opal/mca/event/libevent207/libevent -I${includedir}/openmpi/opal/mca/event/libevent207/libevent/include'
|
||||||
$1],
|
$1],
|
||||||
[$2
|
[$2
|
||||||
OPAL_HAVE_WORKING_EVENTOPS=0])
|
OPAL_HAVE_WORKING_EVENTOPS=0])
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user