Hello,

perusing the OMPI source tree a bit more, I stumbled over a couple of
things:

1) This is from test/Makefile.am:

--- snip ---
# This should be libsupport.a, not libsupport.la.  Automake doesn't
# support check_LTLIBRARIES, as technically you have to install a
# shared library before you can use it.
#
check_LIBRARIES = libsupport.a

libsupport_a_SOURCES = \
--- snip ---

The statement in the comment is not true; Automake supports
check_LTLIBRARIES, and they don't have to be installed before use
either.  What may be confusing is that, by default, check_LTLIBRARIES
will be convenience archives rather than shared libraries.  If you want
to have an uninstalled shared library for testing, then you can use

check_LTLIBRARIES = libsupport.la
# induce libtool to create a shared library:
libsupport_la_LDFLAGS = -rpath /nowhere
libsupport_la_SOURCES = \
        ...



2) test/dss/ has only a Makefile with 'CC = mpicc' hardcoded.  That
looks like it won't use the correct (uninstalled) mpicc but requires a
prior 'make install'.  Not sure whether that's intentional.

3) in opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am, there
are some manual dependencies listed that should not be necessary, as
Automake should treat bison/yacc generated files correctly.  IOW, the
patch below, which simplifies things slightly, should still generate a
functional Makefile.  If it doesn't, I'd like to hear about it (because
that could be an Automake bug).

Cheers,
Ralf

Automake takes care of bison/yacc output file dependencies.

Index: opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am
===================================================================
--- opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am  (revision 18570)
+++ opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am  (working copy)
@@ -22,11 +22,6 @@
 bin_PROGRAMS += plpa-taskset
 endif

-# Force recognition that tokens.h is generated via tokens.c; there's a
-# rule to create tokens.c from tokens.y.
-tokens.c: tokens.y
-tokens.h: tokens.c
-
 # Force parser.c to be re-compiled when tokens.h is re-generated
 parser.c: tokens.h

Reply via email to