diff --git a/prov/efa/Makefile.include b/prov/efa/Makefile.include index 46b06dd9efb..01dae7ddc82 100644 --- a/prov/efa/Makefile.include +++ b/prov/efa/Makefile.include @@ -175,8 +175,9 @@ nodist_prov_efa_test_efa_unit_test_SOURCES = \ efa_CPPFLAGS += -I$(top_srcdir)/include -I$(top_srcdir)/prov/efa/test $(cmocka_CPPFLAGS) prov_efa_test_efa_unit_test_CPPFLAGS = $(efa_CPPFLAGS) -prov_efa_test_efa_unit_test_LDADD = $(cmocka_LIBS) $(linkback) -prov_efa_test_efa_unit_test_LDFLAGS = $(cmocka_rpath) $(efa_LDFLAGS) $(cmocka_LDFLAGS) \ +prov_efa_test_efa_unit_test_LDADD = $(efa_LIBS) -lrdmacm -libverbs -lpthread -ldl +prov_efa_test_efa_unit_test_LDFLAGS = $(efa_LDFLAGS) $(cmocka_rpath) $(cmocka_LIBS_STATIC) \ + -Wl,--whole-archive,$(top_builddir)/src/.libs/libfabric.a,--no-whole-archive \ -Wl,--wrap=ibv_create_ah \ -Wl,--wrap=ibv_destroy_ah \ -Wl,--wrap=ibv_is_fork_initialized \ @@ -234,7 +235,8 @@ if HAVE_EFADV_QUERY_CQ prov_efa_test_efa_unit_test_LDFLAGS += -Wl,--wrap=efadv_query_cq endif HAVE_EFADV_QUERY_CQ -prov_efa_test_efa_unit_test_LIBS = $(efa_LIBS) $(linkback) +prov_efa_test_efa_unit_test_LIBS = $(efa_LIBS) +prov_efa_test_efa_unit_test_DEPENDENCIES = $(top_builddir)/src/libfabric.la endif ENABLE_EFA_UNIT_TEST diff --git a/prov/efa/configure.m4 b/prov/efa/configure.m4 index 260a6358573..a0cbee9b446 100644 --- a/prov/efa/configure.m4 +++ b/prov/efa/configure.m4 @@ -308,7 +308,7 @@ AC_DEFUN([FI_EFA_CONFIGURE],[ [], [$cmocka_dir], [], - [efa_LIBS+=" $cmocka_LDFLAGS $cmocka_LIBS -static"], + [cmocka_LIBS_STATIC="$cmocka_LDFLAGS $cmocka_LIBS"], [AC_MSG_ERROR([Cannot compile EFA unit tests without a valid Cmocka installation directory.])], [ #include @@ -323,6 +323,7 @@ AC_DEFUN([FI_EFA_CONFIGURE],[ ]) AC_SUBST(cmocka_rpath) + AC_SUBST(cmocka_LIBS_STATIC) AC_DEFINE_UNQUOTED([EFA_UNIT_TEST], [$efa_unit_test], [EFA unit testing]) AM_CONDITIONAL([HAVE_EFADV_CQ_EX], [ test $efadv_support_extended_cq = 1])