3e597dee11
libtool stores absolute paths in the dependency_libs component of the .la files. If the Makefile for a dependent library refers to the libraries by relative path, some libraries end up duplicated on the link command line. As an example, libzfs specifies libzfs_core, libnvpair and libuutil as dependencies to be linked in. The .la file for libzfs_core also specifies libnvpair, but using an absolute path, with the result that libnvpair is present twice in the linker command line for producing libzfs. While the only thing this causes is to slightly slow down the linking, we can avoid it by using absolute paths everywhere, including for convenience libraries just for consistency. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Closes #10538
26 lines
537 B
Makefile
26 lines
537 B
Makefile
include $(top_srcdir)/config/Rules.am
|
|
|
|
pkgconfig_DATA = libzfs_core.pc
|
|
|
|
lib_LTLIBRARIES = libzfs_core.la
|
|
|
|
USER_C = \
|
|
libzfs_core.c
|
|
|
|
libzfs_core_la_SOURCES = $(USER_C)
|
|
|
|
libzfs_core_la_LIBADD = \
|
|
$(abs_top_builddir)/lib/libzutil/libzutil.la \
|
|
$(abs_top_builddir)/lib/libnvpair/libnvpair.la
|
|
|
|
libzfs_core_la_LIBADD += $(LTLIBINTL)
|
|
|
|
libzfs_core_la_LDFLAGS = -pthread -Wl,-z,defs
|
|
|
|
if BUILD_FREEBSD
|
|
libzfs_core_la_LIBADD += -lutil -lgeom
|
|
libzfs_core_la_LDFLAGS += -version-info 3:0:0
|
|
else
|
|
libzfs_core_la_LDFLAGS += -version-info 1:0:0
|
|
endif
|