mirror_zfs/lib/libzfs/Makefile.am
Tony Hutter d2f5cb3a50
Move range_tree, btree, highbit64 to common code
Break out the range_tree, btree, and highbit64/lowbit64 code from kernel
space into shared kernel and userspace code.  This is needed for the
updated `zpool status -vv` error byte range reporting that will be
coming in a future commit.  That commit needs the range_tree code in
kernel and userspace.

Reviewed-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #18133
2026-02-22 11:43:51 -08:00

94 lines
2.4 KiB
Makefile

# SPDX-License-Identifier: CDDL-1.0
libzfs_la_CFLAGS = $(AM_CFLAGS) $(LIBRARY_CFLAGS)
libzfs_la_CFLAGS += $(LIBCRYPTO_CFLAGS) $(ZLIB_CFLAGS)
libzfs_la_CFLAGS += -fvisibility=hidden
lib_LTLIBRARIES += libzfs.la
CPPCHECKTARGETS += libzfs.la
dist_libzfs_la_SOURCES = \
%D%/libzfs_impl.h \
%D%/libzfs_share.h \
%D%/libzfs_changelist.c \
%D%/libzfs_config.c \
%D%/libzfs_crypto.c \
%D%/libzfs_dataset.c \
%D%/libzfs_diff.c \
%D%/libzfs_import.c \
%D%/libzfs_iter.c \
%D%/libzfs_mount.c \
%D%/libzfs_pool.c \
%D%/libzfs_share.c \
%D%/libzfs_share_nfs.c \
%D%/libzfs_sendrecv.c \
%D%/libzfs_status.c \
%D%/libzfs_util.c
if BUILD_FREEBSD
dist_libzfs_la_SOURCES += \
%D%/os/freebsd/libzfs_compat.c \
%D%/os/freebsd/libzfs_share_nfs.c \
%D%/os/freebsd/libzfs_share_smb.c \
%D%/os/freebsd/libzfs_zmount.c
endif
if BUILD_LINUX
dist_libzfs_la_SOURCES += \
%D%/os/linux/libzfs_mount_os.c \
%D%/os/linux/libzfs_pool_os.c \
%D%/os/linux/libzfs_share_nfs.c \
%D%/os/linux/libzfs_share_smb.c \
%D%/os/linux/libzfs_util_os.c
endif
nodist_libzfs_la_SOURCES = \
module/zcommon/cityhash.c \
module/zcommon/zfeature_common.c \
module/zcommon/zfs_comutil.c \
module/zcommon/zfs_deleg.c \
module/zcommon/zfs_fletcher.c \
module/zcommon/zfs_fletcher_aarch64_neon.c \
module/zcommon/zfs_fletcher_avx512.c \
module/zcommon/zfs_fletcher_intel.c \
module/zcommon/zfs_fletcher_sse.c \
module/zcommon/zfs_fletcher_superscalar.c \
module/zcommon/zfs_fletcher_superscalar4.c \
module/zcommon/zfs_namecheck.c \
module/zcommon/zfs_prop.c \
module/zcommon/zfs_valstr.c \
module/zcommon/zpool_prop.c \
module/zcommon/zprop_common.c
# Special case:
#
# We need to include btree.c and range_tree.c as SOURCES rather than
# LIBADD'ing them. This is because LIBADD'ing them will add their symbols to
# the libzfs API, which we do not want at this time.
nodist_libzfs_la_SOURCES += \
module/zfs/btree.c \
module/zfs/range_tree.c
libzfs_la_LIBADD = \
libzfs_core.la \
libnvpair.la \
libzutil.la
libzfs_la_LIBADD += -lrt -lm $(LIBCRYPTO_LIBS) $(ZLIB_LIBS) $(LIBFETCH_LIBS) $(LTLIBINTL)
libzfs_la_LDFLAGS = -pthread
if !ASAN_ENABLED
libzfs_la_LDFLAGS += -Wl,-z,defs
endif
if BUILD_FREEBSD
libzfs_la_LIBADD += -lutil -lgeom
endif
libzfs_la_LDFLAGS += -version-info 7:0:0
pkgconfig_DATA += %D%/libzfs.pc
dist_noinst_DATA += %D%/libzfs.abi %D%/libzfs.suppr
dist_noinst_DATA += %D%/THIRDPARTYLICENSE.openssl %D%/THIRDPARTYLICENSE.openssl.descrip