aboutsummaryrefslogtreecommitdiff
path: root/lib/sqfs/Makemodule.am
blob: df0b21a9b2907962a03fc2dfa97bf40b74ce915d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
LIBSQFS_HEARDS = include/sqfs/meta_writer.h \
		include/sqfs/meta_reader.h include/sqfs/id_table.h \
		include/sqfs/compressor.h include/sqfs/block_processor.h \
		include/sqfs/super.h include/sqfs/inode.h \
		include/sqfs/dir.h include/sqfs/xattr.h \
		include/sqfs/table.h include/sqfs/predef.h \
		include/sqfs/error.h include/sqfs/dir_reader.h \
		include/sqfs/dir_writer.h include/sqfs/io.h \
		include/sqfs/data_reader.h include/sqfs/block.h \
		include/sqfs/xattr_reader.h include/sqfs/xattr_writer.h \
		include/sqfs/frag_table.h include/sqfs/block_writer.h \
		include/sqfs/dir_entry.h

libsquashfs_la_SOURCES = $(LIBSQFS_HEARDS) lib/sqfs/src/id_table.c \
	lib/sqfs/src/super.c lib/sqfs/src/readdir.c lib/sqfs/src/xattr/xattr.c \
	lib/sqfs/src/write_table.c lib/sqfs/src/meta_writer.c \
	lib/sqfs/src/read_super.c lib/sqfs/src/meta_reader.c \
	lib/sqfs/src/read_inode.c lib/sqfs/src/write_inode.c \
	lib/sqfs/src/dir_writer.c lib/sqfs/src/xattr/xattr_reader.c \
	lib/sqfs/src/read_table.c lib/sqfs/src/comp/compressor.c \
	lib/sqfs/src/comp/internal.h lib/sqfs/src/dir_reader.c \
	lib/sqfs/src/inode.c lib/sqfs/src/dir_iterator.c \
	lib/sqfs/src/xattr/xattr_writer.c \
	lib/sqfs/src/xattr/xattr_writer_flush.c \
	lib/sqfs/src/xattr/xattr_writer_record.c \
	lib/sqfs/src/xattr/xattr_writer.h \
	lib/sqfs/src/write_super.c lib/sqfs/src/data_reader.c \
	lib/sqfs/src/block_processor/internal.h \
	lib/sqfs/src/block_processor/frontend.c \
	lib/sqfs/src/block_processor/block_processor.c \
	lib/sqfs/src/block_processor/backend.c \
	lib/sqfs/src/block_processor/ostream.c \
	lib/sqfs/src/frag_table.c lib/sqfs/src/block_writer.c \
	lib/sqfs/src/misc.c lib/sqfs/src/io/istream.c \
	lib/sqfs/src/io/ostream.c lib/sqfs/src/io/file.c \
	lib/sqfs/src/io/stream_api.c lib/sqfs/src/dir_entry.c \
	lib/sqfs/src/io/dir_rec.c lib/sqfs/src/io/dir_hl.c
libsquashfs_la_CPPFLAGS = $(AM_CPPFLAGS)
libsquashfs_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBSQUASHFS_SO_VERSION)
libsquashfs_la_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) $(ZLIB_CFLAGS)
libsquashfs_la_CFLAGS += $(XZ_CFLAGS) $(LZ4_CFLAGS)
libsquashfs_la_CFLAGS += $(ZSTD_CFLAGS) $(PTHREAD_CFLAGS)
libsquashfs_la_LIBADD = $(XZ_LIBS) $(ZLIB_LIBS) $(LZ4_LIBS)
libsquashfs_la_LIBADD += $(ZSTD_LIBS) $(PTHREAD_LIBS)

# directly "import" stuff from libutil
libsquashfs_la_SOURCES += lib/util/src/str_table.c lib/util/src/alloc.c
libsquashfs_la_SOURCES += lib/util/src/xxhash.c lib/util/src/file_cmp.c
libsquashfs_la_SOURCES += lib/util/src/hash_table.c include/util/hash_table.h
libsquashfs_la_SOURCES += lib/util/src/rbtree.c include/util/rbtree.h
libsquashfs_la_SOURCES += lib/util/src/array.c include/util/array.h
libsquashfs_la_SOURCES += lib/util/src/is_memory_zero.c
libsquashfs_la_SOURCES += include/util/threadpool.h

# and from libcompat
libsquashfs_la_SOURCES += lib/compat/src/strchrnul.c lib/compat/src/strndup.c
libsquashfs_la_SOURCES += include/compat.h

if CUSTOM_ALLOC
libsquashfs_la_SOURCES += lib/util/src/mempool.c include/util/mempool.h
endif

if WINDOWS
libsquashfs_la_SOURCES += lib/sqfs/src/io/win32.c lib/sqfs/src/io/dir_win32.c

libsquashfs_la_CFLAGS += -DWINVER=0x0600 -D_WIN32_WINNT=0x0600
libsquashfs_la_CFLAGS += -Wc,-static-libgcc
libsquashfs_la_LDFLAGS += -no-undefined -avoid-version
else
libsquashfs_la_SOURCES += lib/sqfs/src/io/unix.c lib/sqfs/src/io/dir_unix.c
endif

if HAVE_PTHREAD
libsquashfs_la_SOURCES += lib/util/src/threadpool.c
else
if WINDOWS
libsquashfs_la_SOURCES += lib/util/src/threadpool.c
else
libsquashfs_la_SOURCES += lib/util/src/threadpool_serial.c
libsquashfs_la_CPPFLAGS += -DNO_THREAD_IMPL
endif
endif

if WITH_GZIP
libsquashfs_la_SOURCES += lib/sqfs/src/comp/gzip.c
libsquashfs_la_CPPFLAGS += -DWITH_GZIP
endif

if WITH_XZ
libsquashfs_la_SOURCES += lib/sqfs/src/comp/xz.c
libsquashfs_la_SOURCES += lib/sqfs/src/comp/lzma.c
libsquashfs_la_CPPFLAGS += -DWITH_XZ
endif

if WITH_LZ4
libsquashfs_la_SOURCES += lib/sqfs/src/comp/lz4.c
libsquashfs_la_CPPFLAGS += -DWITH_LZ4
endif

if WITH_ZSTD
libsquashfs_la_SOURCES += lib/sqfs/src/comp/zstd.c
libsquashfs_la_CPPFLAGS += -DWITH_ZSTD
endif

sqfsincludedir = $(includedir)/sqfs
sqfsinclude_HEADERS = $(LIBSQFS_HEARDS)

lib_LTLIBRARIES += libsquashfs.la

pkgconfig_DATA += lib/sqfs/libsquashfs1.pc

test_abi_SOURCES = lib/sqfs/test/abi.c
test_abi_LDADD = libsquashfs.la libcompat.a

test_xattr_SOURCES = lib/sqfs/test/xattr.c
test_xattr_LDADD = libsquashfs.la libcompat.a

test_table_SOURCES = lib/sqfs/test/table.c
test_table_LDADD = libsquashfs.la libcompat.a

test_xattr_writer_SOURCES = lib/sqfs/test/xattr_writer.c
test_xattr_writer_LDADD = libsquashfs.la libcompat.a

xattr_benchmark_SOURCES = lib/sqfs/test/xattr_benchmark.c
xattr_benchmark_LDADD = libcommon.a libsquashfs.la libcompat.a

test_istream_read_SOURCES = lib/sqfs/test/istream_read.c
test_istream_read_LDADD = libcommon.a libsquashfs.la libutil.a libcompat.a

test_istream_skip_SOURCES = lib/sqfs/test/istream_skip.c
test_istream_skip_LDADD = libcommon.a libsquashfs.la libutil.a libcompat.a

test_stream_splice_SOURCES = lib/sqfs/test/stream_splice.c
test_stream_splice_LDADD = libcommon.a libsquashfs.la libutil.a libcompat.a

test_rec_dir_SOURCES = lib/sqfs/test/rec_dir.c
test_rec_dir_LDADD = libsquashfs.la libutil.a libcompat.a

test_hl_dir_SOURCES = lib/sqfs/test/hl_dir.c
test_hl_dir_LDADD = libsquashfs.la libutil.a libcompat.a

test_dir_iterator_SOURCES = lib/sqfs/test/dir_iterator.c
test_dir_iterator_LDADD = libsquashfs.la libutil.a libcompat.a
test_dir_iterator_CPPFLAGS = $(AM_CPPFLAGS)
test_dir_iterator_CPPFLAGS += -DTESTPATH=$(top_srcdir)/lib/sqfs/test/testdir

LIBSQFS_TESTS = \
	test_abi test_xattr test_table test_xattr_writer \
	test_istream_read test_istream_skip test_stream_splice test_rec_dir \
	test_hl_dir test_dir_iterator
noinst_PROGRAMS += xattr_benchmark

check_PROGRAMS += $(LIBSQFS_TESTS)
TESTS += $(LIBSQFS_TESTS)

EXTRA_DIST += $(top_srcdir)/lib/sqfs/test/testdir