config: check for -Wno-cast-function-type
[freebsd.git] / lib / libzpool / Makefile.am
1 include $(top_srcdir)/config/Rules.am
2
3 VPATH = \
4         $(top_srcdir)/module/zfs \
5         $(top_srcdir)/module/zcommon \
6         $(top_srcdir)/module/lua \
7         $(top_srcdir)/module/os/linux/zfs \
8         $(top_srcdir)/lib/libzpool
9
10 if BUILD_FREEBSD
11 DEFAULT_INCLUDES += -I$(top_srcdir)/include/os/freebsd/zfs
12 endif
13 if BUILD_LINUX
14 DEFAULT_INCLUDES += -I$(top_srcdir)/include/os/linux/zfs
15 endif
16
17 # Unconditionally enable debugging for libzpool
18 AM_CPPFLAGS += -DDEBUG -UNDEBUG -DZFS_DEBUG
19
20 # Includes kernel code generate warnings for large stack frames
21 AM_CFLAGS += $(FRAME_LARGER_THAN)
22
23 AM_CFLAGS += $(ZLIB_CFLAGS)
24
25 AM_CFLAGS += -DLIB_ZPOOL_BUILD
26
27 # For the void (*)(void *) -> void *(*)(void *) cast in zk_thread_create()
28 # See https://github.com/openzfs/zfs/pull/13110#discussion_r808450136
29 kernel.$(OBJEXT): CFLAGS += $(NO_CAST_FUNCTION_TYPE)
30 kernel.l$(OBJEXT): CFLAGS += $(NO_CAST_FUNCTION_TYPE)
31
32 lib_LTLIBRARIES = libzpool.la
33
34 USER_C = \
35         kernel.c \
36         taskq.c \
37         util.c
38
39 KERNEL_C = \
40         zfeature_common.c \
41         zfs_comutil.c \
42         zfs_deleg.c \
43         zfs_fletcher.c \
44         zfs_fletcher_aarch64_neon.c \
45         zfs_fletcher_avx512.c \
46         zfs_fletcher_intel.c \
47         zfs_fletcher_sse.c \
48         zfs_fletcher_superscalar.c \
49         zfs_fletcher_superscalar4.c \
50         zfs_namecheck.c \
51         zfs_prop.c \
52         zpool_prop.c \
53         zprop_common.c \
54         abd.c \
55         abd_os.c \
56         aggsum.c \
57         arc.c \
58         arc_os.c \
59         blkptr.c \
60         bplist.c \
61         bpobj.c \
62         bptree.c \
63         bqueue.c \
64         btree.c \
65         cityhash.c \
66         dbuf.c \
67         dbuf_stats.c \
68         ddt.c \
69         ddt_zap.c \
70         dmu.c \
71         dmu_diff.c \
72         dmu_object.c \
73         dmu_objset.c \
74         dmu_recv.c \
75         dmu_redact.c \
76         dmu_send.c \
77         dmu_traverse.c \
78         dmu_tx.c \
79         dmu_zfetch.c \
80         dnode.c \
81         dnode_sync.c \
82         dsl_bookmark.c \
83         dsl_crypt.c \
84         dsl_dataset.c \
85         dsl_deadlist.c \
86         dsl_deleg.c \
87         dsl_destroy.c \
88         dsl_dir.c \
89         dsl_pool.c \
90         dsl_prop.c \
91         dsl_scan.c \
92         dsl_synctask.c \
93         dsl_userhold.c \
94         edonr_zfs.c \
95         fm.c \
96         gzip.c \
97         hkdf.c \
98         lz4.c \
99         lz4_zfs.c \
100         lzjb.c \
101         metaslab.c \
102         mmp.c \
103         multilist.c \
104         objlist.c \
105         pathname.c \
106         range_tree.c \
107         refcount.c \
108         rrwlock.c \
109         sa.c \
110         sha256.c \
111         skein_zfs.c \
112         spa.c \
113         spa_boot.c \
114         spa_checkpoint.c \
115         spa_config.c \
116         spa_errlog.c \
117         spa_history.c \
118         spa_log_spacemap.c \
119         spa_misc.c \
120         spa_stats.c \
121         space_map.c \
122         space_reftree.c \
123         trace.c \
124         txg.c \
125         uberblock.c \
126         unique.c \
127         vdev.c \
128         vdev_cache.c \
129         vdev_draid.c \
130         vdev_draid_rand.c \
131         vdev_file.c \
132         vdev_indirect.c \
133         vdev_indirect_births.c \
134         vdev_indirect_mapping.c \
135         vdev_initialize.c \
136         vdev_label.c \
137         vdev_mirror.c \
138         vdev_missing.c \
139         vdev_queue.c \
140         vdev_raidz.c \
141         vdev_raidz_math.c \
142         vdev_raidz_math_aarch64_neon.c \
143         vdev_raidz_math_aarch64_neonx2.c \
144         vdev_raidz_math_avx2.c \
145         vdev_raidz_math_avx512bw.c \
146         vdev_raidz_math_avx512f.c \
147         vdev_raidz_math_powerpc_altivec.c \
148         vdev_raidz_math_scalar.c \
149         vdev_raidz_math_sse2.c \
150         vdev_raidz_math_ssse3.c \
151         vdev_rebuild.c \
152         vdev_removal.c \
153         vdev_root.c \
154         vdev_trim.c \
155         zap.c \
156         zap_leaf.c \
157         zap_micro.c \
158         zcp.c \
159         zcp_get.c \
160         zcp_global.c \
161         zcp_iter.c \
162         zcp_set.c \
163         zcp_synctask.c \
164         zfeature.c \
165         zfs_byteswap.c \
166         zfs_debug.c \
167         zfs_fm.c \
168         zfs_fuid.c \
169         zfs_racct.c \
170         zfs_sa.c \
171         zfs_ratelimit.c \
172         zfs_rlock.c \
173         zfs_znode.c \
174         zil.c \
175         zio.c \
176         zio_checksum.c \
177         zio_compress.c \
178         zio_crypt.c \
179         zio_inject.c \
180         zle.c \
181         zrlock.c \
182         zthr.c
183
184 LUA_C = \
185         lapi.c \
186         lauxlib.c \
187         lbaselib.c \
188         lcode.c \
189         lcompat.c \
190         lcorolib.c \
191         lctype.c \
192         ldebug.c \
193         ldo.c \
194         lfunc.c \
195         lgc.c \
196         llex.c \
197         lmem.c \
198         lobject.c \
199         lopcodes.c \
200         lparser.c \
201         lstate.c \
202         lstring.c \
203         lstrlib.c \
204         ltable.c \
205         ltablib.c \
206         ltm.c \
207         lvm.c \
208         lzio.c
209
210 dist_libzpool_la_SOURCES = \
211         $(USER_C)
212
213 nodist_libzpool_la_SOURCES = \
214         $(KERNEL_C) \
215         $(LUA_C)
216
217 libzpool_la_LIBADD = \
218         $(abs_top_builddir)/lib/libicp/libicp.la \
219         $(abs_top_builddir)/lib/libunicode/libunicode.la \
220         $(abs_top_builddir)/lib/libnvpair/libnvpair.la \
221         $(abs_top_builddir)/lib/libzstd/libzstd.la \
222         $(abs_top_builddir)/lib/libzutil/libzutil.la
223
224 libzpool_la_LIBADD += $(LIBCLOCK_GETTIME) $(ZLIB_LIBS) -ldl -lm
225
226 libzpool_la_LDFLAGS = -pthread
227
228 if !ASAN_ENABLED
229 libzpool_la_LDFLAGS += -Wl,-z,defs
230 endif
231
232 if BUILD_FREEBSD
233 libzpool_la_LIBADD += -lgeom
234 endif
235
236 libzpool_la_LDFLAGS += -version-info 5:0:0
237
238 if TARGET_CPU_POWERPC
239 vdev_raidz_math_powerpc_altivec.$(OBJEXT): CFLAGS += -maltivec
240 vdev_raidz_math_powerpc_altivec.l$(OBJEXT): CFLAGS += -maltivec
241 endif
242
243 include $(top_srcdir)/config/CppCheck.am