autogen.sh: config will now already always exist

We have config/fi_provider.m4, so the config/ directory will always
exist, even upon a fresh git clone.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Makefile.am: properly differentiate CFLAGS and CPPFLAGS

Also, remove trailing whitespace from AM_CFLAGS line.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
fi.h: it is an error if these macros are not already defined

These macros are not for public consumption; they're defined as part
of the build system for libfabric itself.  Hence, if they're not
already defined, it's an error -- they shouldn't be redundantly
defined in Makefile.am *and* fi.h.

As such, make the build system equivalent CPPFLAGS be for the entire
builds (i.e., AM_CPPFLAGS), not just specific to libfabric.la.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Makefile.am: DSO providers should not have redundant symbols

DSO providers can find the symbols they require from libfabric.la;
they don't need to actually include a second copy of them.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
fi_provider.m4: remove this unused AC_DEFINE

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
configury: install DL, move AM_CONDITIONALS to fi_provider.m4

Build up a list of DL-enabled providers and then install them in
$pkglibdir (they weren't being installed previously).

Also, move the AM_CONDITIONALs  in each provider.m4 up to
fi_provider.m4 -- they're really part of the build system and are
common between all providers.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
configury: make FI_<provider>_CONDITIONALS be optional

Still support the per-provider CONDITIONALS m4 macro, but make it
optional: if the provider has it, call it.  But if a provider does not
have it, then just skip it (i.e., it's not an error).

This move is because the only AM_CONDITIONALs we're using right now
are part of the build system and were just slurped up into
fi_provider.m4 (i.e., we don't have any provider-specific
AM_CONDITIONALs in any provider.m4 right now).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Merge pull request #159 from jsquyres/topic/still-moar-configury

More configury / build system updates
fabric: Rename FI_REMOTE_EQ_DATA

The EQ was renamed to CQ for completions.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Update fi_tostr routine

Rename PP (pretty print) to 'tostr', since the function does
not actually print anything.  Change the fi_pp_type to just
fi_type for increased generality.

Move some header formatting functionality out into the
calling functions, so that headers do not appear in strings
for base data types.

Add a prefix parameter to the functions.  The prefix will be
inserted at the start of any new line.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Merge pull request #163 from shefty/master

Update tostr call and fix naming of EQ_DATA
Clean up dl-open features:

Add --with-dlopen=[yes,no] option to compile without loadable provider support.
Selecting no also disables the check for -ldl.

Rename FI_EXTPATH to FI_EXTDIR for consistency with variable names and configure options.

Remove unused includes in fabric.c

Re-include common.c and enosys.c in dl-loadable providers, these are needed.

Address issues from review:

Remove the ./configure-able extdir: this isn't really needed, if one wants to not
scandir a directory on libfabric load do:

1) build with: --enable-dlopen=no
2) set FI_EXTDIR=/dev/null

Not addressed in this patch:

common sources. This is a seperate issue, in the meantime
re-add these so dl-loadable providers are not broken.

More error-checking in configure script for mistakes (ie dlopen=no and providers
built with =dl). I have more ideas for this and will address in a seperate patch.
Merge pull request #161 from pmmccorm/master

Clean up dl-open features:
prov/psm: Fix PSM build -- missed EQ rename ro CQ

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Merge pull request #167 from shefty/master

prov/psm: Fix PSM build -- missed EQ rename ro CQ
prov/verbs: Return -FI_ENOMEM if fi_allocinfo fails

Return a negative value, rather than positive value from
fi_ibv_getpeinfo.

Problem reported by: Reese Faucette <rfaucett@cisco.com>

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Merge pull request #168 from shefty/master

prov/verbs: Return -FI_ENOMEM if fi_allocinfo fails
prov/psm: support fi_cq_write

Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
prov/psm: initialize cq wait object

Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
prov/psm: define optimized version of tagged send/recv

Remove branches when the default EP op_flags is 0 and when the AV
type is known.

Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>