Files
oasis-linux-mirror/pkg/squashfs-tools-ng/gen.lua
T
2021-06-27 01:51:57 -07:00

192 lines
3.6 KiB
Lua

cflags{
'-std=c99', '-Wall', '-Wpedantic',
'-Wno-discarded-qualifiers',
'-D _GNU_SOURCE',
'-I $srcdir',
'-I $srcdir/include',
'-I $dir',
}
pkg.deps = {}
local cfg = {}
for line in iterlines('config.h', 1) do
local var = line:match('^#define (WITH_[%w_]+)')
if var then
cfg[var] = true
end
end
local srcs = paths[[
lib/sqfs/(
id_table.c super.c
readdir.c xattr/xattr.c
write_table.c meta_writer.c
read_super.c meta_reader.c
read_inode.c write_inode.c
dir_writer.c xattr/xattr_reader.c
read_table.c comp/compressor.c
dir_reader.c read_tree.c
inode.c xattr/xattr_writer.c
xattr/xattr_writer_flush.c
xattr/xattr_writer_record.c
write_super.c data_reader.c
block_processor/frontend.c
block_processor/block_processor.c
block_processor/backend.c
frag_table.c
block_writer.c
misc.c
unix/io_file.c
)
lib/util/threadpool.c
libutil.a
]]
if cfg.WITH_GZIP then
cflags{'-isystem $builddir/pkg/zlib/include'}
table.insert(pkg.deps, 'pkg/zlib/headers')
table.insert(srcs, {
'lib/sqfs/comp/gzip.c',
'$builddir/pkg/zlib/libz.a',
})
end
if cfg.WITH_ZSTD then
cflags{'-isystem $builddir/pkg/zstd/include'}
table.insert(pkg.deps, 'pkg/zstd/headers')
table.insert(srcs, {
'lib/sqfs/comp/zstd.c',
'$builddir/pkg/zstd/libzstd.a',
})
end
lib('libsquashfs.a', srcs)
lib('libcommon.a', [[
lib/common/(
inode_stat.c hardlink.c
print_version.c data_reader_dump.c
compress.c comp_opt.c
data_writer.c
get_path.c data_writer_ostream.c
perror.c
mkdir_p.c parse_size.c
print_size.c
writer/(
init.c cleanup.c
serialize_fstree.c
finish.c
)
)
libsquashfs.a.d
libfstream.a
libfstree.a.d
]])
lib('libfstream.a', [[
lib/fstream/(
ostream.c printf.c
istream.c get_line.c
compressor.c
compress/(
ostream_compressor.c
gzip.c
zstd.c
)
uncompress/(
istream_compressor.c
autodetect.c
gzip.c
zstd.c
)
unix/(ostream.c istream.c)
)
]])
lib('libfstree.a', [[
lib/fstree/(
fstree.c fstree_from_file.c
fstree_sort.c hardlink.c
post_process.c get_path.c
mknode.c fstree_from_dir.c
add_by_path.c get_by_path.c
source_date_epoch.c
canonicalize_name.c
filename_sane.c
)
libfstream.a
]])
lib('libtar.a', [[
lib/tar/(
read_header.c write_header.c
number.c checksum.c cleanup.c
read_sparse_map.c read_sparse_map_old.c
base64.c urldecode.c
padd_file.c record_to_memory.c
pax_header.c read_sparse_map_new.c
)
]])
lib('libutil.a', [[
lib/util/(
str_table.c alloc.c
rbtree.c
array.c
xxhash.c hash_table.c
threadpool_serial.c
is_memory_zero.c
)
]])
exe('gensquashfs', [[
bin/gensquashfs/(mkfs.c options.c selinux.c dirscan_xattr.c)
libcommon.a.d
]])
file('bin/gensquashfs', '755', '$outdir/gensquashfs')
man{'bin/gensquashfs/gensquashfs.1'}
exe('rdsquashfs', [[
bin/rdsquashfs/(
rdsquashfs.c
list_files.c options.c
restore_fstree.c describe.c
fill_files.c dump_xattrs.c
stat.c
)
libcommon.a.d
]])
file('bin/rdsquashfs', '755', '$outdir/rdsquashfs')
man{'bin/rdsquashfs/rdsquashfs.1'}
exe('sqfsdiff', [[
bin/sqfsdiff/(
sqfsdiff.c
util.c options.c
compare_dir.c node_compare.c
compare_files.c super.c
extract.c
)
libcommon.a.d
]])
file('bin/sqfsdiff', '755', '$outdir/sqfsdiff')
man{'bin/sqfsdiff/sqfsdiff.1'}
exe('sqfs2tar', [[
bin/sqfs2tar/(sqfs2tar.c options.c write_tree.c xattr.c)
libcommon.a.d libtar.a
]])
file('bin/sqfs2tar', '755', '$outdir/sqfs2tar')
man{'bin/sqfs2tar/sqfs2tar.1'}
exe('tar2sqfs', [[
bin/tar2sqfs/(tar2sqfs.c options.c process_tarball.c)
libcommon.a.d libtar.a
]])
file('bin/tar2sqfs', '755', '$outdir/tar2sqfs')
man{'bin/tar2sqfs/tar2sqfs.1'}
fetch 'git'