From cd030f3c36c6a6ed6fa721cdcaa98fe4a4fce8a4 Mon Sep 17 00:00:00 2001 From: Benjamin Kaduk Date: Fri, 12 Sep 2014 17:21:42 -0400 Subject: [PATCH] Normalize LT_deps/LT_objs split As described in the commit message of 69f26ece3c4545ecc9099641f7a507796fe9dc77, LT_objs should contain the .lo files for the given module, and LT_deps should contain the libtool dependencies, i.e., the .la files from other parts of the tree. However, this simple split by file suffix is not correct when we are using convenience libraries. Really, LT_objs represents the "new" objects being provided by the module, and LT_deps is libraries from other modules that provide functionality on which we depend. Since convenience libraries are just thin aggregates of object files, they behave more like object files than libraries upon which we depend. In particular, libafsrpc and libafsauthent are wrapper libraries that gather together the functionality of several modules and export them as a single library interface; they do not have any objects of their own. However, libafsauthent has a dependency on libafsrpc, which does belong in LT_deps (or possibly in LT_libs). Simon's description of LT_libs leaves a little ambiguity, as it does not describe what should be done with non-libtool libraries from within OpenAFS. (At present, these include libafshcrypto and librokenafs, both of which are regularly put in LT_libs.) I prefer to recast LT_libs as containing externally visible libraries, not just external libraries, which rationalizes the inclusion of roken and hcrypto there, since we currently install those libraries, and build libraries that have shared library dependencies on them. In the future, as we begin committing to stable shared library interfaces for libraries produced by libtool, I would like to have those .la files be moved to LT_libs, since they would then be external library dependencies of the given module. Change-Id: Ie50010da84df99cec048c3e39ffeb9d5897fc08c Reviewed-on: http://gerrit.openafs.org/11460 Reviewed-by: Benjamin Kaduk Reviewed-by: D Brashear Tested-by: D Brashear --- src/libafsauthent/Makefile.in | 6 +++--- src/libafsrpc/Makefile.in | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libafsauthent/Makefile.in b/src/libafsauthent/Makefile.in index 5a3ac3874..21aefc583 100644 --- a/src/libafsauthent/Makefile.in +++ b/src/libafsauthent/Makefile.in @@ -19,11 +19,11 @@ LT_objs = \ $(top_builddir)/src/sys/libsys_pic.la \ $(top_builddir)/src/ptserver/libprot_pic.la \ $(top_builddir)/src/volser/libvolser_pic.la \ - $(top_builddir)/src/vlserver/libvlserver_pic.la + $(top_builddir)/src/vlserver/libvlserver_pic.la \ + $(top_builddir)/src/opr/libopr_pic.la \ + $(top_builddir)/src/util/libafsutil_pic.la LT_deps = \ - $(top_builddir)/src/opr/libopr_pic.la \ - $(top_builddir)/src/util/libafsutil_pic.la \ $(top_builddir)/src/libafsrpc/libafsrpc.la LT_libs = $(LIB_hcrypto) $(LIB_roken) $(LIB_crypt) $(LIB_AFSDB) $(MT_LIBS) diff --git a/src/libafsrpc/Makefile.in b/src/libafsrpc/Makefile.in index b4dda3e8e..d8a8ba0ec 100644 --- a/src/libafsrpc/Makefile.in +++ b/src/libafsrpc/Makefile.in @@ -18,11 +18,11 @@ LT_objs = \ $(top_builddir)/src/util/libafsrpc_util.la \ $(top_builddir)/src/rxstat/librxstat_pic.la \ $(top_builddir)/src/sys/libafsrpc_sys.la \ - $(top_builddir)/src/lwp/liblwpcompat_pic.la - -LT_deps = \ + $(top_builddir)/src/lwp/liblwpcompat_pic.la \ $(top_builddir)/src/opr/libopr_pic.la +LT_deps = + LT_libs = $(LIB_hcrypto) $(LIB_roken) $(MT_LIBS) all: libafsrpc.la libafsrpc_pic.la \ -- 2.39.5