1
1

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.
Этот коммит содержится в:
Ralph Castain 2010-10-28 21:26:07 +00:00
родитель 9ea2b196ce
Коммит 838ed14401
3 изменённых файлов: 65 добавлений и 23 удалений

Просмотреть файл

@ -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])