mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-06-25 10:38:00 +03:00

5b9e695
added specific userspace versions of abd_os.h and abd_impl_os.h
for libzpool. However, abd.h and abd_impl.h, which include them, are
packaged with libzfs, so other programs building against libzfs can
fail to build, either because the headers aren't installed, or because
they aren't on any standard include path.
So, move abd_os.h and abd_impl_os.h to libspl, where they we will be
installed alongside abd.h and abd_impl.h in a known path.
Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16940
Closes #17390
Closes #17394
77 lines
2.4 KiB
Plaintext
77 lines
2.4 KiB
Plaintext
#
|
|
# Default build rules for all user space components, every Makefile.am
|
|
# should include these rules and override or extend them as needed.
|
|
#
|
|
|
|
PHONY =
|
|
AM_CPPFLAGS = \
|
|
-include $(top_builddir)/zfs_config.h \
|
|
-I$(top_builddir)/include \
|
|
-I$(top_srcdir)/include \
|
|
-I$(top_srcdir)/module/icp/include \
|
|
-I$(top_srcdir)/lib/libspl/include \
|
|
-I$(top_srcdir)/lib/libspl/include/os/@ac_system_l@
|
|
|
|
AM_LIBTOOLFLAGS = --silent
|
|
|
|
AM_CFLAGS = -std=gnu99 -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wno-sign-compare -Wno-missing-field-initializers
|
|
AM_CFLAGS += -fno-strict-aliasing
|
|
AM_CFLAGS += $(NO_OMIT_FRAME_POINTER)
|
|
AM_CFLAGS += $(IMPLICIT_FALLTHROUGH)
|
|
AM_CFLAGS += $(DEBUG_CFLAGS)
|
|
AM_CFLAGS += $(ASAN_CFLAGS)
|
|
AM_CFLAGS += $(UBSAN_CFLAGS)
|
|
AM_CFLAGS += $(CODE_COVERAGE_CFLAGS)
|
|
AM_CFLAGS += $(NO_FORMAT_ZERO_LENGTH)
|
|
AM_CFLAGS += $(NO_FORMAT_TRUNCATION)
|
|
if BUILD_FREEBSD
|
|
AM_CFLAGS += -fPIC -Werror -Wno-unknown-pragmas -Wno-enum-conversion
|
|
AM_CFLAGS += -include $(top_srcdir)/include/os/freebsd/spl/sys/ccompile.h
|
|
AM_CFLAGS += -I/usr/include -I/usr/local/include
|
|
endif
|
|
|
|
AM_CPPFLAGS += -D_GNU_SOURCE
|
|
AM_CPPFLAGS += -D_REENTRANT
|
|
AM_CPPFLAGS += -D_FILE_OFFSET_BITS=64
|
|
AM_CPPFLAGS += -D_LARGEFILE64_SOURCE
|
|
AM_CPPFLAGS += -DLIBEXECDIR=\"$(libexecdir)\"
|
|
AM_CPPFLAGS += -DZFSEXECDIR=\"$(zfsexecdir)\"
|
|
AM_CPPFLAGS += -DRUNSTATEDIR=\"$(runstatedir)\"
|
|
AM_CPPFLAGS += -DSBINDIR=\"$(sbindir)\"
|
|
AM_CPPFLAGS += -DSYSCONFDIR=\"$(sysconfdir)\"
|
|
AM_CPPFLAGS += -DPKGDATADIR=\"$(pkgdatadir)\"
|
|
AM_CPPFLAGS += $(DEBUG_CPPFLAGS)
|
|
AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
|
|
AM_CPPFLAGS += -DTEXT_DOMAIN=\"zfs-@ac_system_l@-user\"
|
|
|
|
if ASAN_ENABLED
|
|
AM_CPPFLAGS += -DZFS_ASAN_ENABLED
|
|
endif
|
|
|
|
if UBSAN_ENABLED
|
|
AM_CPPFLAGS += -DZFS_UBSAN_ENABLED
|
|
endif
|
|
|
|
AM_LDFLAGS = $(DEBUG_LDFLAGS)
|
|
AM_LDFLAGS += $(ASAN_LDFLAGS)
|
|
AM_LDFLAGS += $(UBSAN_LDFLAGS)
|
|
|
|
if BUILD_FREEBSD
|
|
AM_LDFLAGS += -fstack-protector-strong
|
|
AM_LDFLAGS += -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel
|
|
AM_LDFLAGS += -lm
|
|
endif
|
|
|
|
|
|
# If a target includes kernel code, generate warnings for large stack frames
|
|
KERNEL_CFLAGS = $(FRAME_LARGER_THAN)
|
|
|
|
# See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54020
|
|
LIBRARY_CFLAGS = -no-suppress
|
|
|
|
# Forcibly enable asserts/debugging for libzpool &al.
|
|
# Since ZFS_DEBUG can change shared data structures, all libzpool users must
|
|
# be compiled with the same flags.
|
|
# See https://github.com/openzfs/zfs/issues/16476
|
|
LIBZPOOL_CPPFLAGS = -DDEBUG -UNDEBUG -DZFS_DEBUG
|