meson: add second build system
To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
This commit is contained in:
parent
9fb5486c27
commit
d4c880d5a4
|
@ -181,3 +181,4 @@ ylwrap
|
|||
/write
|
||||
/zramctl
|
||||
/uclampset
|
||||
/build*/
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
mkfs_sources = files(
|
||||
'mkfs.c',
|
||||
)
|
||||
|
||||
mkfs_bfs_sources = files(
|
||||
'mkfs.bfs.c',
|
||||
)
|
||||
|
||||
isosize_sources = files(
|
||||
'isosize.c',
|
||||
)
|
||||
|
||||
mkswap_sources = files(
|
||||
'mkswap.c',
|
||||
)
|
||||
|
||||
swaplabel_sources = files(
|
||||
'swaplabel.c',
|
||||
) + \
|
||||
swapprober_c
|
||||
|
||||
fsck_sources = files(
|
||||
'fsck.c',
|
||||
) + \
|
||||
monotonic_c
|
||||
|
||||
mkfs_minix_sources = files(
|
||||
'mkfs.minix.c',
|
||||
'minix_programs.h',
|
||||
)
|
||||
|
||||
fsck_minix_sources = files(
|
||||
'fsck.minix.c',
|
||||
'minix_programs.h',
|
||||
)
|
||||
|
||||
mkfs_cramfs_sources = files(
|
||||
'mkfs.cramfs.c',
|
||||
'cramfs.h',
|
||||
'cramfs_common.c',
|
||||
)
|
||||
|
||||
fsck_cramfs_sources = files(
|
||||
'fsck.cramfs.c',
|
||||
'cramfs.h',
|
||||
'cramfs_common.c',
|
||||
)
|
||||
|
||||
raw_sources = files(
|
||||
'raw.c',
|
||||
)
|
||||
|
||||
fdformat_sources = files(
|
||||
'fdformat.c',
|
||||
)
|
||||
|
||||
blockdev_sources = files(
|
||||
'blockdev.c',
|
||||
)
|
||||
|
||||
fdisk_sources = files(
|
||||
'fdisk.c',
|
||||
'fdisk.h',
|
||||
'fdisk-menu.c',
|
||||
'fdisk-list.c',
|
||||
'fdisk-list.h')
|
||||
|
||||
sfdisk_sources = files(
|
||||
'sfdisk.c',
|
||||
'fdisk-list.c',
|
||||
'fdisk-list.h')
|
||||
|
||||
cfdisk_sources = files(
|
||||
'cfdisk.c',
|
||||
)
|
||||
|
||||
addpart_sources = files(
|
||||
'addpart.c',
|
||||
)
|
||||
delpart_sources = files(
|
||||
'delpart.c',
|
||||
)
|
||||
resizepart_sources = files(
|
||||
'resizepart.c',
|
||||
)
|
||||
partx_sources = files(
|
||||
'partx.c',
|
||||
)
|
||||
|
||||
addpart_delpart_man = files(
|
||||
'addpart.8',
|
||||
'delpart.8',
|
||||
'resizepart.8',
|
||||
'partx.8',
|
||||
)
|
|
@ -0,0 +1,3 @@
|
|||
dir_include = include_directories('.')
|
||||
|
||||
list_h = files('list.h')
|
|
@ -0,0 +1,92 @@
|
|||
lib_common_sources = '''
|
||||
blkdev.c
|
||||
canonicalize.c
|
||||
color-names.c
|
||||
crc32.c
|
||||
crc32c.c
|
||||
encode.c
|
||||
env.c
|
||||
exec_shell.c
|
||||
fileutils.c
|
||||
ismounted.c
|
||||
mangle.c
|
||||
match.c
|
||||
mbsalign.c
|
||||
mbsedit.c
|
||||
pager.c
|
||||
pwdutils.c
|
||||
setproctitle.c
|
||||
signames.c
|
||||
timeutils.c
|
||||
ttyutils.c
|
||||
'''.split()
|
||||
|
||||
idcache_c = files('idcache.c')
|
||||
randutils_c = files('randutils.c')
|
||||
md5_c = files('md5.c')
|
||||
sha1_c = files('sha1.c')
|
||||
strutils_c = files('strutils.c')
|
||||
strv_c = files('strv.c')
|
||||
|
||||
lib_common_sources += [idcache_c,
|
||||
randutils_c,
|
||||
md5_c,
|
||||
sha1_c,
|
||||
strutils_c,
|
||||
strv_c]
|
||||
|
||||
monotonic_c = files('monotonic.c')
|
||||
timer_c = files('timer.c')
|
||||
swapprober_c = files('swapprober.c')
|
||||
pty_session_c = files('pty-session.c')
|
||||
|
||||
if LINUX
|
||||
lib_common_sources += '''
|
||||
caputils.c
|
||||
linux_version.c
|
||||
loopdev.c
|
||||
'''.split()
|
||||
endif
|
||||
|
||||
if build_plymouth_support
|
||||
lib_common_sources += '''
|
||||
plymouth-ctrl.c
|
||||
'''.split()
|
||||
endif
|
||||
|
||||
if conf.get('HAVE_LANGINFO_H') in [1]
|
||||
lib_common_sources += 'langinfo.c'
|
||||
endif
|
||||
|
||||
if conf.get('HAVE_CPU_SET_T') in [1]
|
||||
lib_common_sources += 'cpuset.c'
|
||||
endif
|
||||
|
||||
if conf.get('HAVE_OPENAT') in [1] and conf.get('HAVE_DIRFD') in [1]
|
||||
lib_common_sources += '''
|
||||
path.c
|
||||
procutils.c
|
||||
sysfs.c
|
||||
'''.split()
|
||||
endif
|
||||
|
||||
lib_common = static_library(
|
||||
'common',
|
||||
lib_common_sources,
|
||||
include_directories : dir_include)
|
||||
|
||||
|
||||
lib_color_sources = files('''
|
||||
colors.c
|
||||
color-names.c
|
||||
'''.split())
|
||||
# colors.h include/color-names.h
|
||||
|
||||
lib_tcolors = static_library(
|
||||
'tcolors',
|
||||
lib_color_sources,
|
||||
include_directories : dir_include,
|
||||
dependencies : curses_libs)
|
||||
|
||||
install_man(
|
||||
'terminal-colors.d.5')
|
|
@ -0,0 +1,144 @@
|
|||
dir_libblkid = include_directories('.', 'src')
|
||||
|
||||
blkid_h = configure_file(
|
||||
input : 'src/blkid.h.in',
|
||||
output : 'blkid.h',
|
||||
configuration : conf)
|
||||
|
||||
lib_blkid_sources = '''
|
||||
src/blkidP.h
|
||||
src/init.c
|
||||
src/cache.c
|
||||
src/config.c
|
||||
src/dev.c
|
||||
src/devname.c
|
||||
src/devno.c
|
||||
src/encode.c
|
||||
src/evaluate.c
|
||||
src/getsize.c
|
||||
src/llseek.c
|
||||
src/probe.c
|
||||
src/read.c
|
||||
src/resolve.c
|
||||
src/save.c
|
||||
src/tag.c
|
||||
src/verify.c
|
||||
src/version.c
|
||||
|
||||
src/partitions/aix.c
|
||||
src/partitions/aix.h
|
||||
src/partitions/atari.c
|
||||
src/partitions/bsd.c
|
||||
src/partitions/dos.c
|
||||
src/partitions/gpt.c
|
||||
src/partitions/mac.c
|
||||
src/partitions/minix.c
|
||||
src/partitions/partitions.c
|
||||
src/partitions/partitions.h
|
||||
src/partitions/sgi.c
|
||||
src/partitions/solaris_x86.c
|
||||
src/partitions/sun.c
|
||||
src/partitions/ultrix.c
|
||||
src/partitions/unixware.c
|
||||
|
||||
src/superblocks/adaptec_raid.c
|
||||
src/superblocks/apfs.c
|
||||
src/superblocks/bcache.c
|
||||
src/superblocks/befs.c
|
||||
src/superblocks/bfs.c
|
||||
src/superblocks/bitlocker.c
|
||||
src/superblocks/bluestore.c
|
||||
src/superblocks/btrfs.c
|
||||
src/superblocks/cramfs.c
|
||||
src/superblocks/ddf_raid.c
|
||||
src/superblocks/drbd.c
|
||||
src/superblocks/drbdproxy_datalog.c
|
||||
src/superblocks/drbdmanage.c
|
||||
src/superblocks/exfat.c
|
||||
src/superblocks/exfs.c
|
||||
src/superblocks/ext.c
|
||||
src/superblocks/f2fs.c
|
||||
src/superblocks/gfs.c
|
||||
src/superblocks/hfs.c
|
||||
src/superblocks/highpoint_raid.c
|
||||
src/superblocks/hpfs.c
|
||||
src/superblocks/iso9660.c
|
||||
src/superblocks/isw_raid.c
|
||||
src/superblocks/jfs.c
|
||||
src/superblocks/jmicron_raid.c
|
||||
src/superblocks/linux_raid.c
|
||||
src/superblocks/lsi_raid.c
|
||||
src/superblocks/luks.c
|
||||
src/superblocks/lvm.c
|
||||
src/superblocks/minix.c
|
||||
src/superblocks/mpool.c
|
||||
src/superblocks/netware.c
|
||||
src/superblocks/nilfs.c
|
||||
src/superblocks/ntfs.c
|
||||
src/superblocks/refs.c
|
||||
src/superblocks/nvidia_raid.c
|
||||
src/superblocks/ocfs.c
|
||||
src/superblocks/promise_raid.c
|
||||
src/superblocks/reiserfs.c
|
||||
src/superblocks/romfs.c
|
||||
src/superblocks/silicon_raid.c
|
||||
src/superblocks/squashfs.c
|
||||
src/superblocks/stratis.c
|
||||
src/superblocks/superblocks.c
|
||||
src/superblocks/superblocks.h
|
||||
src/superblocks/swap.c
|
||||
src/superblocks/sysv.c
|
||||
src/superblocks/ubi.c
|
||||
src/superblocks/ubifs.c
|
||||
src/superblocks/udf.c
|
||||
src/superblocks/ufs.c
|
||||
src/superblocks/vdo.c
|
||||
src/superblocks/vfat.c
|
||||
src/superblocks/via_raid.c
|
||||
src/superblocks/vmfs.c
|
||||
src/superblocks/vxfs.c
|
||||
src/superblocks/xfs.c
|
||||
src/superblocks/zfs.c
|
||||
|
||||
src/topology/topology.c
|
||||
src/topology/topology.h
|
||||
'''.split()
|
||||
|
||||
if LINUX
|
||||
lib_blkid_sources += '''
|
||||
src/topology/dm.c
|
||||
src/topology/evms.c
|
||||
src/topology/ioctl.c
|
||||
src/topology/lvm.c
|
||||
src/topology/md.c
|
||||
src/topology/sysfs.c
|
||||
'''.split()
|
||||
endif
|
||||
|
||||
libblkid_sym = 'src/libblkid.sym'
|
||||
libblkid_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libblkid_sym)
|
||||
|
||||
if build_libblkid and not have_dirfd and not have_ddfd
|
||||
error('neither dirfd nor ddfd are available')
|
||||
endif
|
||||
|
||||
lib_blkid = both_libraries(
|
||||
'blkid',
|
||||
list_h,
|
||||
lib_blkid_sources,
|
||||
include_directories : [dir_include, dir_libblkid],
|
||||
link_depends : libblkid_sym,
|
||||
version : libblkid_version,
|
||||
link_args : ['-Wl,--version-script=@0@'.format(libblkid_sym_path)],
|
||||
link_with : lib_common,
|
||||
dependencies : build_libblkid ? [] : disabler(),
|
||||
install : build_libblkid)
|
||||
|
||||
pkgconfig.generate(lib_blkid,
|
||||
description : 'Block device id library',
|
||||
subdirs : 'blkid',
|
||||
version : pc_version)
|
||||
|
||||
if build_libblkid
|
||||
install_man('libblkid.3')
|
||||
endif
|
|
@ -0,0 +1,67 @@
|
|||
dir_libfdisk = include_directories('.', 'src')
|
||||
|
||||
defs = configuration_data()
|
||||
defs.set('LIBFDISK_VERSION', libfdisk_version)
|
||||
defs.set('LIBFDISK_MAJOR_VERSION', libfdisk_version.split('.')[0])
|
||||
defs.set('LIBFDISK_MINOR_VERSION', libfdisk_version.split('.')[1])
|
||||
defs.set('LIBFDISK_PATCH_VERSION', libfdisk_version.split('.')[2])
|
||||
|
||||
libfdisk_h = configure_file(
|
||||
input : 'src/libfdisk.h.in',
|
||||
output : 'libfdisk.h',
|
||||
configuration : defs)
|
||||
|
||||
lib_fdisk_sources = '''
|
||||
src/fdiskP.h
|
||||
src/init.c
|
||||
src/field.c
|
||||
src/item.c
|
||||
src/test.c
|
||||
src/ask.c
|
||||
src/alignment.c
|
||||
src/label.c
|
||||
src/utils.c
|
||||
src/context.c
|
||||
src/parttype.c
|
||||
src/partition.c
|
||||
src/table.c
|
||||
src/iter.c
|
||||
src/script.c
|
||||
src/version.c
|
||||
src/wipe.c
|
||||
|
||||
src/sun.c
|
||||
src/sgi.c
|
||||
src/dos.c
|
||||
src/bsd.c
|
||||
src/gpt.c
|
||||
'''.split() + [
|
||||
list_h,
|
||||
]
|
||||
|
||||
libfdisk_sym = 'src/libfdisk.sym'
|
||||
libfdisk_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libfdisk_sym)
|
||||
|
||||
lib_fdisk_includes = [dir_include,
|
||||
dir_libblkid,
|
||||
dir_libfdisk,
|
||||
dir_libuuid] # XXX: should this be declared along with the lib?
|
||||
|
||||
lib_fdisk = both_libraries(
|
||||
'fdisk',
|
||||
list_h,
|
||||
lib_fdisk_sources,
|
||||
include_directories : lib_fdisk_includes,
|
||||
link_depends : libfdisk_sym,
|
||||
version : libfdisk_version,
|
||||
link_args : ['-Wl,--version-script=@0@'.format(libfdisk_sym_path)],
|
||||
link_with : [lib_common,
|
||||
lib_blkid,
|
||||
lib_uuid],
|
||||
dependencies : build_libfdisk ? [] : disabler(),
|
||||
install : build_libfdisk)
|
||||
|
||||
pkgconfig.generate(lib_fdisk,
|
||||
description : 'fdisk library',
|
||||
subdirs : 'libfdisk',
|
||||
version : pc_version)
|
|
@ -0,0 +1,80 @@
|
|||
dir_libmount = include_directories('.', 'src')
|
||||
|
||||
defs = configuration_data()
|
||||
defs.set('LIBMOUNT_VERSION', libmount_version)
|
||||
defs.set('LIBMOUNT_MAJOR_VERSION', libmount_version.split('.')[0])
|
||||
defs.set('LIBMOUNT_MINOR_VERSION', libmount_version.split('.')[1])
|
||||
defs.set('LIBMOUNT_PATCH_VERSION', libmount_version.split('.')[2])
|
||||
|
||||
libmount_h = configure_file(
|
||||
input : 'src/libmount.h.in',
|
||||
output : 'libmount.h',
|
||||
configuration : defs)
|
||||
|
||||
lib_mount_sources = '''
|
||||
src/mountP.h
|
||||
src/cache.c
|
||||
src/fs.c
|
||||
src/init.c
|
||||
src/iter.c
|
||||
src/lock.c
|
||||
src/optmap.c
|
||||
src/optstr.c
|
||||
src/tab.c
|
||||
src/tab_diff.c
|
||||
src/tab_parse.c
|
||||
src/tab_update.c
|
||||
src/test.c
|
||||
src/utils.c
|
||||
src/version.c
|
||||
'''.split() + [
|
||||
list_h,
|
||||
monotonic_c,
|
||||
]
|
||||
|
||||
if LINUX
|
||||
lib_mount_sources += '''
|
||||
src/context.c
|
||||
src/context_loopdev.c
|
||||
src/context_veritydev.c
|
||||
src/context_mount.c
|
||||
src/context_umount.c
|
||||
src/monitor.c
|
||||
'''.split()
|
||||
endif
|
||||
|
||||
if enable_btrfs
|
||||
lib_mount_sources += 'src/btrfs.c'
|
||||
endif
|
||||
|
||||
libmount_sym = 'src/libmount.sym'
|
||||
libmount_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libmount_sym)
|
||||
|
||||
if build_libmount and not have_dirfd and not have_ddfd
|
||||
error('neither dirfd nor ddfd are available')
|
||||
endif
|
||||
|
||||
lib_mount = both_libraries(
|
||||
'mount',
|
||||
list_h,
|
||||
lib_mount_sources,
|
||||
monotonic_c,
|
||||
include_directories : [dir_include,
|
||||
dir_libmount,
|
||||
dir_libblkid],
|
||||
link_depends : libmount_sym,
|
||||
version : libmount_version,
|
||||
link_args : ['-Wl,--version-script=@0@'.format(libmount_sym_path)],
|
||||
link_with : [lib_common,
|
||||
lib_blkid],
|
||||
dependencies : [lib_selinux,
|
||||
lib_cryptsetup,
|
||||
realtime_libs],
|
||||
install : build_libmount)
|
||||
|
||||
pkgconfig.generate(lib_mount,
|
||||
description : 'mount library',
|
||||
subdirs : 'libmount',
|
||||
version : pc_version)
|
||||
|
||||
subdir('python')
|
|
@ -0,0 +1,34 @@
|
|||
python_module = import('python')
|
||||
|
||||
python = python_module.find_installation(
|
||||
get_option('python'),
|
||||
required : get_option('build-python'),
|
||||
disabler : true)
|
||||
build_python = python.found()
|
||||
|
||||
pylibmount_sources = '''
|
||||
pylibmount.c
|
||||
pylibmount.h
|
||||
fs.c
|
||||
tab.c
|
||||
'''.split()
|
||||
|
||||
if LINUX
|
||||
pylibmount_sources += 'context.c'
|
||||
endif
|
||||
|
||||
python.extension_module(
|
||||
'pylibmount',
|
||||
pylibmount_sources,
|
||||
include_directories : [dir_include, dir_libmount],
|
||||
subdir : 'libmount',
|
||||
link_with : lib_mount,
|
||||
dependencies : python.dependency(),
|
||||
install : true)
|
||||
|
||||
if build_python
|
||||
python.install_sources(
|
||||
'__init__.py',
|
||||
subdir : 'libmount',
|
||||
pure : false)
|
||||
endif
|
|
@ -0,0 +1,48 @@
|
|||
dir_libsmartcols = include_directories('.', 'src')
|
||||
|
||||
defs = configuration_data()
|
||||
defs.set('LIBSMARTCOLS_VERSION', libsmartcols_version)
|
||||
|
||||
libsmartcols_h = configure_file(
|
||||
input : 'src/libsmartcols.h.in',
|
||||
output : 'libsmartcols.h',
|
||||
configuration : defs)
|
||||
|
||||
lib_smartcols_sources = '''
|
||||
src/smartcolsP.h
|
||||
src/iter.c
|
||||
src/symbols.c
|
||||
src/cell.c
|
||||
src/column.c
|
||||
src/line.c
|
||||
src/table.c
|
||||
src/print.c
|
||||
src/fput.c
|
||||
src/print-api.c
|
||||
src/version.c
|
||||
src/buffer.c
|
||||
src/calculate.c
|
||||
src/grouping.c
|
||||
src/walk.c
|
||||
src/init.c
|
||||
'''.split()
|
||||
|
||||
libsmartcols_sym = 'src/libsmartcols.sym'
|
||||
libsmartcols_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsmartcols_sym)
|
||||
|
||||
lib_smartcols = both_libraries(
|
||||
'smartcols',
|
||||
list_h,
|
||||
lib_smartcols_sources,
|
||||
include_directories : [dir_include, dir_libsmartcols],
|
||||
link_depends : libsmartcols_sym,
|
||||
version : libsmartcols_version,
|
||||
link_args : ['-Wl,--version-script=@0@'.format(libsmartcols_sym_path)],
|
||||
link_with : lib_common,
|
||||
dependencies : build_libsmartcols ? [] : disabler(),
|
||||
install : build_libsmartcols)
|
||||
|
||||
pkgconfig.generate(lib_smartcols,
|
||||
description : 'table or tree library',
|
||||
subdirs : 'libsmartcols',
|
||||
version : pc_version)
|
|
@ -0,0 +1,60 @@
|
|||
dir_libuuid = include_directories('src')
|
||||
|
||||
lib_uuid_sources = '''
|
||||
src/uuidP.h
|
||||
src/clear.c
|
||||
src/compare.c
|
||||
src/copy.c
|
||||
src/gen_uuid.c
|
||||
src/isnull.c
|
||||
src/pack.c
|
||||
src/parse.c
|
||||
src/uuidd.h
|
||||
src/uuid_time.c
|
||||
'''.split()
|
||||
|
||||
predefined_c = files('src/predefined.c')
|
||||
unpack_c = files('src/unpack.c')
|
||||
unparse_c = files('src/unparse.c')
|
||||
|
||||
libuuid_sym = 'src/libuuid.sym'
|
||||
libuuid_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libuuid_sym)
|
||||
|
||||
lib_uuid = both_libraries(
|
||||
'uuid',
|
||||
list_h,
|
||||
lib_uuid_sources,
|
||||
predefined_c,
|
||||
unpack_c,
|
||||
unparse_c,
|
||||
randutils_c,
|
||||
md5_c,
|
||||
sha1_c,
|
||||
include_directories : [dir_include, dir_libuuid],
|
||||
link_depends : libuuid_sym,
|
||||
version : libuuid_version,
|
||||
link_args : ['-Wl,--version-script=@0@'.format(libuuid_sym_path)],
|
||||
dependencies : [socket_libs,
|
||||
build_libuuid ? [] : disabler()],
|
||||
install : build_libuuid)
|
||||
|
||||
pkgconfig.generate(lib_uuid,
|
||||
description : 'Universally unique id library',
|
||||
subdirs : 'uuid',
|
||||
version : pc_version)
|
||||
|
||||
if build_libuuid
|
||||
install_man(
|
||||
'man/uuid.3',
|
||||
'man/uuid_clear.3',
|
||||
'man/uuid_compare.3',
|
||||
'man/uuid_copy.3',
|
||||
'man/uuid_generate.3',
|
||||
'man/uuid_is_null.3',
|
||||
'man/uuid_parse.3',
|
||||
'man/uuid_time.3',
|
||||
'man/uuid_unparse.3',
|
||||
'man/uuid_generate_random.3',
|
||||
'man/uuid_generate_time.3',
|
||||
'man/uuid_generate_time_safe.3')
|
||||
endif
|
|
@ -0,0 +1,75 @@
|
|||
chfn_chsh_sources = files(
|
||||
'ch-common.c',
|
||||
'ch-common.h',
|
||||
)
|
||||
chfn_chsh_deps = [lib_readline]
|
||||
|
||||
if chfn_chsh_password
|
||||
chfn_chsh_sources += files(
|
||||
'auth.c',
|
||||
'auth.h',
|
||||
)
|
||||
chfn_chsh_deps += [
|
||||
lib_pam,
|
||||
lib_pam_misc,
|
||||
]
|
||||
endif
|
||||
|
||||
if lib_user.found()
|
||||
chfn_chsh_sources += files(
|
||||
'libuser.c',
|
||||
'libuser.h',
|
||||
)
|
||||
chfn_chsh_deps += lib_user
|
||||
else
|
||||
chfn_chsh_sources += files(
|
||||
'islocal.c',
|
||||
'islocal.h',
|
||||
'setpwnam.c',
|
||||
'setpwnam.h',
|
||||
)
|
||||
endif
|
||||
|
||||
if lib_selinux.found()
|
||||
chfn_chsh_sources += files(
|
||||
'selinux_utils.c',
|
||||
'selinux_utils.h',
|
||||
)
|
||||
chfn_chsh_deps += [lib_selinux]
|
||||
endif
|
||||
|
||||
chfn_sources = files(
|
||||
'chfn.c',
|
||||
'logindefs.c',
|
||||
'logindefs.h',
|
||||
)
|
||||
|
||||
test_islocal_sources = files(
|
||||
'islocal.c',
|
||||
)
|
||||
|
||||
test_logindefs_sources = files(
|
||||
'logindefs.c',
|
||||
'logindefs.h',
|
||||
)
|
||||
|
||||
test_consoles_sources = files(
|
||||
'sulogin-consoles.c',
|
||||
)
|
||||
|
||||
last_sources = files(
|
||||
'last.c',
|
||||
) + \
|
||||
monotonic_c
|
||||
|
||||
login_sources = files(
|
||||
'login.c',
|
||||
'logindefs.c',
|
||||
'logindefs.h',
|
||||
)
|
||||
|
||||
sulogin_sources = files(
|
||||
'sulogin.c',
|
||||
'sulogin-consoles.c',
|
||||
'sulogin-consoles.h',
|
||||
)
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,184 @@
|
|||
# enable various dependencies (no prefixes)
|
||||
|
||||
option('tinfo', type : 'feature')
|
||||
option('ncursesw', type : 'feature')
|
||||
option('ncurses', type : 'feature')
|
||||
option('slang', type : 'feature', value : 'disabled',
|
||||
description : 'compile cfdisk with slang rather than ncurses')
|
||||
option('cryptsetup', type : 'feature')
|
||||
option('zlib', type : 'feature')
|
||||
option('readline', type : 'feature')
|
||||
option('libutil', type : 'feature')
|
||||
option('libutempter', type : 'feature')
|
||||
option('libpcre', type : 'feature')
|
||||
option('libuser', type : 'feature')
|
||||
option('selinux', type : 'feature', value : 'disabled')
|
||||
option('audit', type : 'feature', value : 'disabled')
|
||||
option('smack', type : 'feature', value : 'disabled')
|
||||
option('systemd', type : 'feature')
|
||||
option('btrfs', type : 'feature')
|
||||
option('widechar', type : 'feature',
|
||||
description : 'compile with wide character support')
|
||||
|
||||
# enable building of various programs and features ("build-" prefix)
|
||||
|
||||
option('build-python', type : 'feature', value : 'auto',
|
||||
description : 'build python extension module')
|
||||
option('python', type : 'string', value : 'python3',
|
||||
description : 'build extension module for this python')
|
||||
|
||||
option('build-libblkid', type : 'feature',
|
||||
description : 'build libblkid and many related utilities')
|
||||
option('build-libuuid', type : 'feature',
|
||||
description : 'build libuuid and uuid utilities')
|
||||
option('build-libmount', type : 'feature',
|
||||
description : 'build libmount')
|
||||
option('build-libsmartcols', type : 'feature',
|
||||
description : 'build libsmartcols')
|
||||
option('build-libfdisk', type : 'feature',
|
||||
description : 'build libfdisk')
|
||||
|
||||
|
||||
option('build-fdisks', type : 'feature',
|
||||
description : 'build fdisk(8), sfdisk(8) and cfdisk(8)')
|
||||
option('build-mount', type : 'feature',
|
||||
description : 'build mount(8) and umount(8)')
|
||||
option('build-losetup', type : 'feature',
|
||||
description : 'build losetup')
|
||||
option('build-zramctl', type : 'feature',
|
||||
description : 'build zramctl')
|
||||
option('build-fsck', type : 'feature',
|
||||
description : 'build fsck')
|
||||
option('build-partx', type : 'feature',
|
||||
description : 'build addpart, delpart, partx')
|
||||
|
||||
option('build-uuidd', type : 'feature',
|
||||
description : 'build the uuid daemon')
|
||||
|
||||
option('build-wipefs', type : 'feature',
|
||||
description : 'build wipefs')
|
||||
option('build-mountpoint', type : 'feature',
|
||||
description : 'build mountpoint')
|
||||
option('build-fallocate', type : 'feature',
|
||||
description : 'build fallocate')
|
||||
option('build-unshare', type : 'feature',
|
||||
description : 'build unshare')
|
||||
option('build-nsenter', type : 'feature',
|
||||
description : 'build nsenter')
|
||||
option('build-setpriv', type : 'feature',
|
||||
description : 'build setpriv')
|
||||
option('build-hardlink', type : 'feature',
|
||||
description : 'build hardlink')
|
||||
option('build-eject', type : 'feature',
|
||||
description : 'build eject')
|
||||
option('build-agetty', type : 'feature',
|
||||
description : 'build agetty')
|
||||
option('build-cramfs', type : 'feature',
|
||||
description : 'build fsck.cramfs, mkfs.cramfs')
|
||||
option('build-bfs', type : 'feature',
|
||||
description : 'build mkfs.bfs')
|
||||
option('build-minix', type : 'feature',
|
||||
description : 'build fsck.minix, mkfs.minix')
|
||||
option('build-fdformat', type : 'feature',
|
||||
description : 'build fdformat')
|
||||
option('build-hwclock', type : 'feature',
|
||||
description : 'build hwclock')
|
||||
option('build-lslogins', type : 'feature',
|
||||
description : 'build lslogins')
|
||||
option('build-wdctl', type : 'feature',
|
||||
description : 'build wdctl')
|
||||
option('build-cal', type : 'feature',
|
||||
description : 'build cal')
|
||||
option('build-logger', type : 'feature',
|
||||
description : 'build logger')
|
||||
option('build-switch_root', type : 'feature',
|
||||
description : 'switch_root')
|
||||
option('build-pivot_root', type : 'feature',
|
||||
description : 'build pivot_root')
|
||||
option('build-lsmem', type : 'feature',
|
||||
description : 'build lsmem')
|
||||
option('build-chmem', type : 'feature',
|
||||
description : 'build chmem')
|
||||
option('build-ipcrm', type : 'feature',
|
||||
description : 'build ipcrm')
|
||||
option('build-ipcs', type : 'feature',
|
||||
description : 'build ipcs')
|
||||
option('build-rfkill', type : 'feature',
|
||||
description : 'build rfkill')
|
||||
option('build-tunelp', type : 'feature',
|
||||
description : 'build tunelp')
|
||||
option('build-kill', type : 'feature',
|
||||
description : 'build kill')
|
||||
option('build-last', type : 'feature',
|
||||
description : 'build last')
|
||||
option('build-utmpdump', type : 'feature',
|
||||
description : 'build utmpdump')
|
||||
option('build-line', type : 'feature',
|
||||
description : 'build line')
|
||||
option('build-mesg', type : 'feature',
|
||||
description : 'build mesg')
|
||||
option('build-raw', type : 'feature',
|
||||
description : 'build raw')
|
||||
option('build-rename', type : 'feature',
|
||||
description : 'build rename')
|
||||
option('build-vipw', type : 'feature',
|
||||
description : 'build vipw')
|
||||
option('build-newgrp', type : 'feature',
|
||||
description : 'build newgrp')
|
||||
option('build-chfn-chsh', type : 'feature',
|
||||
description : 'build chfn and chsh')
|
||||
option('build-login', type : 'feature',
|
||||
description : 'build login')
|
||||
option('build-nologin', type : 'feature',
|
||||
description : 'build nologin')
|
||||
option('build-sulogin', type : 'feature',
|
||||
description : 'build sulogin')
|
||||
option('build-su', type : 'feature',
|
||||
description : 'build su')
|
||||
option('build-runuser', type : 'feature',
|
||||
description : 'build runuser')
|
||||
option('build-ul', type : 'feature',
|
||||
description : 'build ul')
|
||||
option('build-more', type : 'feature',
|
||||
description : 'build more')
|
||||
option('build-pg', type : 'feature',
|
||||
description : 'build pg')
|
||||
option('build-setterm', type : 'feature',
|
||||
description : 'build setterm')
|
||||
option('build-schedutils', type : 'feature',
|
||||
description : 'build chrt, ionice, taskset')
|
||||
option('build-wall', type : 'feature',
|
||||
description : 'build wall')
|
||||
option('build-write', type : 'feature',
|
||||
description : 'build write')
|
||||
option('build-bash-completion', type : 'feature',
|
||||
description : 'install bash completion files')
|
||||
option('build-pylibmount', type : 'feature',
|
||||
description : 'build pylibmount')
|
||||
|
||||
option('chfn-chsh-password',
|
||||
type : 'boolean', value : true,
|
||||
description : 'require the user to enter the password in chfn and chsh')
|
||||
option('chsh-only-listed',
|
||||
type : 'boolean', value : true,
|
||||
description : 'chsh: only allow shells in /etc/shells')
|
||||
option('use-tty-group',
|
||||
type : 'boolean', value : true,
|
||||
description : 'install wall and write setgid tty')
|
||||
option('build-plymouth-support',
|
||||
type : 'feature',
|
||||
description : 'support plymouth feature in sulogin and agetty')
|
||||
option('use-tls',
|
||||
type : 'boolean', value : true,
|
||||
description : 'use thread-local storage')
|
||||
option('pg-bell',
|
||||
type : 'boolean', value : true,
|
||||
description : 'should pg ring the bell on invalid keys?')
|
||||
|
||||
option('fs-search-path',
|
||||
type : 'string',
|
||||
value : '/sbin:/sbin/fs.d:/sbin/fs',
|
||||
description : 'default search path for fs helpers')
|
||||
option('fs-search-path-extra',
|
||||
type : 'string',
|
||||
description : 'additional search path for fs helpers')
|
|
@ -0,0 +1,136 @@
|
|||
cal_sources = files(
|
||||
'cal.c',
|
||||
)
|
||||
|
||||
logger_sources = files(
|
||||
'logger.c',
|
||||
) + \
|
||||
strutils_c + \
|
||||
strv_c
|
||||
|
||||
look_sources = files(
|
||||
'look.c',
|
||||
)
|
||||
|
||||
mcookie_sources = files(
|
||||
'mcookie.c',
|
||||
) + \
|
||||
md5_c
|
||||
|
||||
namei_sources = files(
|
||||
'namei.c',
|
||||
) + \
|
||||
strutils_c + \
|
||||
idcache_c
|
||||
|
||||
whereis_sources = files(
|
||||
'whereis.c',
|
||||
)
|
||||
|
||||
lslocks_sources = files(
|
||||
'lslocks.c',
|
||||
)
|
||||
|
||||
lsblk_sources = files(
|
||||
'lsblk.c',
|
||||
'lsblk-mnt.c',
|
||||
'lsblk-properties.c',
|
||||
'lsblk-devtree.c',
|
||||
'lsblk.h',
|
||||
)
|
||||
|
||||
uuidgen_sources = files(
|
||||
'uuidgen.c',
|
||||
)
|
||||
|
||||
uuidparse_sources = files(
|
||||
'uuidparse.c',
|
||||
)
|
||||
|
||||
uuidd_sources = files(
|
||||
'uuidd.c',
|
||||
) + \
|
||||
monotonic_c + \
|
||||
timer_c
|
||||
|
||||
test_uuidd_sources = files(
|
||||
'test_uuidd.c',
|
||||
)
|
||||
|
||||
if build_uuidd
|
||||
uuidd_service = configure_file(
|
||||
input : 'uuidd.service.in',
|
||||
output : 'uuidd.service',
|
||||
configuration : conf)
|
||||
install_data(
|
||||
uuidd_service,
|
||||
install_dir : systemdsystemunitdir)
|
||||
|
||||
uuidd_socket = configure_file(
|
||||
input : 'uuidd.socket.in',
|
||||
output : 'uuidd.socket',
|
||||
configuration : conf)
|
||||
install_data(
|
||||
uuidd_socket,
|
||||
install_dir : systemdsystemunitdir)
|
||||
|
||||
uuidd_8 = configure_file(
|
||||
input : 'uuidd.8.in',
|
||||
output : 'uuidd.8',
|
||||
configuration : conf)
|
||||
install_man(uuidd_8)
|
||||
endif
|
||||
|
||||
blkid_sources = files(
|
||||
'blkid.c',
|
||||
)
|
||||
|
||||
findfs_sources = files(
|
||||
'findfs.c',
|
||||
)
|
||||
|
||||
wipefs_sources = files(
|
||||
'wipefs.c',
|
||||
)
|
||||
|
||||
findmnt_sources = files(
|
||||
'findmnt.c',
|
||||
'findmnt-verify.c',
|
||||
'findmnt.h',
|
||||
)
|
||||
|
||||
kill_sources = files(
|
||||
'kill.c',
|
||||
)
|
||||
|
||||
rename_sources = files(
|
||||
'rename.c',
|
||||
)
|
||||
|
||||
getopt_sources = files(
|
||||
'getopt.c',
|
||||
)
|
||||
|
||||
getopt_1 = configure_file(
|
||||
input : 'getopt.1.in',
|
||||
output : 'getopt.1',
|
||||
configuration : conf)
|
||||
install_man(getopt_1)
|
||||
|
||||
install_data(
|
||||
'getopt-parse.bash',
|
||||
'getopt-parse.tcsh',
|
||||
install_dir : 'doc/getopt',
|
||||
install_mode: 'rwxr-xr-x')
|
||||
|
||||
fincore_sources = files(
|
||||
'fincore.c',
|
||||
)
|
||||
|
||||
hardlink_sources = files(
|
||||
'hardlink.c',
|
||||
)
|
||||
|
||||
cal_sources = files(
|
||||
'cal.c',
|
||||
)
|
|
@ -0,0 +1,27 @@
|
|||
ca
|
||||
cs
|
||||
da
|
||||
de
|
||||
es
|
||||
et
|
||||
eu
|
||||
fi
|
||||
fr
|
||||
gl
|
||||
hr
|
||||
hu
|
||||
id
|
||||
it
|
||||
ja
|
||||
nl
|
||||
pl
|
||||
pt_BR
|
||||
pt
|
||||
ru
|
||||
sl
|
||||
sv
|
||||
tr
|
||||
uk
|
||||
vi
|
||||
zh_CN
|
||||
zh_TW
|
|
@ -0,0 +1,4 @@
|
|||
i18n = import('i18n')
|
||||
i18n.gettext(meson.project_name(),
|
||||
preset : 'glib',
|
||||
data_dirs : '.')
|
|
@ -0,0 +1,232 @@
|
|||
dir_sys_utils = include_directories('.')
|
||||
|
||||
hwclock_parse_date = bison_gen.process('hwclock-parse-date.y')
|
||||
|
||||
lsmem_sources = files(
|
||||
'lsmem.c',
|
||||
)
|
||||
|
||||
chmem_sources = files(
|
||||
'chmem.c',
|
||||
)
|
||||
|
||||
choom_sources = files(
|
||||
'choom.c',
|
||||
)
|
||||
|
||||
ipcmk_sources = files(
|
||||
'ipcmk.c',
|
||||
)
|
||||
|
||||
ipcrm_sources = files(
|
||||
'ipcrm.c',
|
||||
)
|
||||
|
||||
ipcs_sources = files(
|
||||
'ipcs.c',
|
||||
'ipcutils.c',
|
||||
'ipcutils.h',
|
||||
)
|
||||
|
||||
rfkill_sources = files(
|
||||
'rfkill.c',
|
||||
)
|
||||
|
||||
renice_sources = files(
|
||||
'renice.c',
|
||||
)
|
||||
|
||||
setsid_sources = files(
|
||||
'setsid.c',
|
||||
)
|
||||
|
||||
readprofile_sources = files(
|
||||
'readprofile.c',
|
||||
)
|
||||
|
||||
tunelp_sources = files(
|
||||
'tunelp.c',
|
||||
)
|
||||
|
||||
fstrim_sources = files(
|
||||
'fstrim.c',
|
||||
)
|
||||
|
||||
dmesg_sources = files(
|
||||
'dmesg.c',
|
||||
) + \
|
||||
monotonic_c
|
||||
|
||||
ctrlaltdel_sources = files(
|
||||
'ctrlaltdel.c',
|
||||
)
|
||||
|
||||
fsfreeze_sources = files(
|
||||
'fsfreeze.c',
|
||||
)
|
||||
|
||||
blkdiscard_sources = files(
|
||||
'blkdiscard.c',
|
||||
) + \
|
||||
monotonic_c
|
||||
|
||||
blkzone_sources = files(
|
||||
'blkzone.c',
|
||||
)
|
||||
|
||||
ldattach_sources = files(
|
||||
'ldattach.c',
|
||||
)
|
||||
|
||||
rtcwake_sources = files(
|
||||
'rtcwake.c',
|
||||
)
|
||||
|
||||
setarch_sources = files(
|
||||
'setarch.c',
|
||||
)
|
||||
|
||||
eject_sources = files(
|
||||
'eject.c',
|
||||
) + \
|
||||
monotonic_c
|
||||
|
||||
losetup_sources = files(
|
||||
'losetup.c',
|
||||
)
|
||||
|
||||
zramctl_sources = files(
|
||||
'zramctl.c',
|
||||
)
|
||||
|
||||
prlimit_sources = files(
|
||||
'prlimit.c',
|
||||
)
|
||||
|
||||
lsns_sources = files(
|
||||
'lsns.c',
|
||||
)
|
||||
|
||||
mount_sources = files(
|
||||
'mount.c',
|
||||
)
|
||||
|
||||
umount_sources = files(
|
||||
'umount.c',
|
||||
)
|
||||
|
||||
mount_man = files(
|
||||
'fstab.5',
|
||||
'mount.8',
|
||||
'umount.8',
|
||||
)
|
||||
|
||||
swapon_sources = files(
|
||||
'swapon.c',
|
||||
'swapon-common.c',
|
||||
'swapon-common.h',
|
||||
) + \
|
||||
swapprober_c
|
||||
|
||||
swapoff_sources = files(
|
||||
'swapoff.c',
|
||||
'swapon-common.c',
|
||||
'swapon-common.h',
|
||||
) + \
|
||||
swapprober_c
|
||||
|
||||
lscpu_sources = files(
|
||||
'lscpu.c',
|
||||
'lscpu.h',
|
||||
'lscpu-arm.c',
|
||||
'lscpu-dmi.c',
|
||||
)
|
||||
|
||||
chcpu_sources = files(
|
||||
'chcpu.c',
|
||||
)
|
||||
|
||||
wdctl_sources = files(
|
||||
'wdctl.c',
|
||||
)
|
||||
|
||||
mountpoint_sources = files(
|
||||
'mountpoint.c',
|
||||
)
|
||||
|
||||
fallocate_sources = files(
|
||||
'fallocate.c',
|
||||
)
|
||||
|
||||
pivot_root_sources = files(
|
||||
'pivot_root.c',
|
||||
)
|
||||
|
||||
switch_root_sources = files(
|
||||
'switch_root.c',
|
||||
)
|
||||
|
||||
unshare_sources = files(
|
||||
'unshare.c',
|
||||
)
|
||||
|
||||
nsenter_sources = files(
|
||||
'nsenter.c',
|
||||
)
|
||||
|
||||
setpriv_sources = files(
|
||||
'setpriv.c',
|
||||
)
|
||||
|
||||
flock_sources = files(
|
||||
'flock.c',
|
||||
) + \
|
||||
monotonic_c + \
|
||||
timer_c
|
||||
|
||||
lsipc_sources = files(
|
||||
'lsipc.c',
|
||||
'ipcutils.c',
|
||||
'ipcutils.h',
|
||||
)
|
||||
|
||||
hwclock_sources = [
|
||||
'sys-utils/hwclock.c',
|
||||
'sys-utils/hwclock.h',
|
||||
hwclock_parse_date,
|
||||
]
|
||||
if use_hwclock_cmos
|
||||
hwclock_sources += [
|
||||
'sys-utils/hwclock-cmos.c',
|
||||
]
|
||||
endif
|
||||
if LINUX
|
||||
hwclock_sources += [
|
||||
'sys-utils/hwclock-rtc.c',
|
||||
monotonic_c,
|
||||
]
|
||||
endif
|
||||
|
||||
fstrim_service = configure_file(
|
||||
input : 'fstrim.service.in',
|
||||
output : 'fstrim.service',
|
||||
configuration : conf)
|
||||
|
||||
install_data(fstrim_service,
|
||||
install_dir : systemdsystemunitdir)
|
||||
install_data('fstrim.timer',
|
||||
install_dir : systemdsystemunitdir)
|
||||
|
||||
man = configure_file(
|
||||
input : 'rtcwake.8.in',
|
||||
output : 'rtcwake.8',
|
||||
configuration : conf)
|
||||
install_man(man)
|
||||
|
||||
if build_hwclock
|
||||
man = configure_file(
|
||||
input : 'hwclock.8.in',
|
||||
output : 'hwclock.8',
|
||||
configuration : conf)
|
||||
install_man(man)
|
||||
endif
|
|
@ -0,0 +1,41 @@
|
|||
script_sources = files(
|
||||
'script.c',
|
||||
) + \
|
||||
pty_session_c + \
|
||||
monotonic_c
|
||||
|
||||
scriptlive_sources = files(
|
||||
'scriptlive.c',
|
||||
'script-playutils.c',
|
||||
'script-playutils.h',
|
||||
) + \
|
||||
pty_session_c + \
|
||||
monotonic_c
|
||||
|
||||
scriptreplay_sources = files(
|
||||
'scriptreplay.c',
|
||||
'script-playutils.c',
|
||||
'script-playutils.h',
|
||||
)
|
||||
|
||||
agetty_sources = files(
|
||||
'agetty.c',
|
||||
)
|
||||
|
||||
setterm_sources = files(
|
||||
'setterm.c',
|
||||
)
|
||||
|
||||
mesg_sources = files(
|
||||
'mesg.c',
|
||||
)
|
||||
|
||||
wall_sources = files(
|
||||
'wall.c',
|
||||
'ttymsg.c',
|
||||
'ttymsg.h',
|
||||
)
|
||||
|
||||
write_sources = files(
|
||||
'write.c',
|
||||
)
|
|
@ -288,6 +288,10 @@ function ts_init_env {
|
|||
top_srcdir=$(ts_abspath $top_srcdir)
|
||||
top_builddir=$(ts_abspath $top_builddir)
|
||||
|
||||
if [ -e "$top_builddir/meson.conf" ]; then
|
||||
. "$top_builddir/meson.conf"
|
||||
fi
|
||||
|
||||
# We use helpser always from build tree
|
||||
ts_helpersdir="${top_builddir}/"
|
||||
|
||||
|
@ -432,15 +436,23 @@ function ts_init_suid {
|
|||
function ts_init_py {
|
||||
LIBNAME="$1"
|
||||
|
||||
[ -f "$top_builddir/py${LIBNAME}.la" ] || ts_skip "py${LIBNAME} not compiled"
|
||||
if [ -f "$top_builddir/py${LIBNAME}.la" ]; then
|
||||
# autotoolz build
|
||||
export LD_LIBRARY_PATH="$top_builddir/.libs:$LD_LIBRARY_PATH"
|
||||
export PYTHONPATH="$top_builddir/$LIBNAME/python:$top_builddir/.libs:$PYTHONPATH"
|
||||
|
||||
export LD_LIBRARY_PATH="$top_builddir/.libs:$LD_LIBRARY_PATH"
|
||||
export PYTHONPATH="$top_builddir/$LIBNAME/python:$top_builddir/.libs:$PYTHONPATH"
|
||||
PYTHON_VERSION=$(awk '/^PYTHON_VERSION/ { print $3 }' $top_builddir/Makefile)
|
||||
PYTHON_MAJOR_VERSION=$(echo $PYTHON_VERSION | sed 's/\..*//')
|
||||
|
||||
export PYTHON_VERSION=$(awk '/^PYTHON_VERSION/ { print $3 }' $top_builddir/Makefile)
|
||||
export PYTHON_MAJOR_VERSION=$(echo $PYTHON_VERSION | sed 's/\..*//')
|
||||
export PYTHON="python${PYTHON_MAJOR_VERSION}"
|
||||
|
||||
export PYTHON="python${PYTHON_MAJOR_VERSION}"
|
||||
elif compgen -G "$top_builddir/$LIBNAME/python/py$LIBNAME*.so" >/dev/null; then
|
||||
# mezon!
|
||||
export PYTHONPATH="$top_builddir/$LIBNAME/python:$PYTHONPATH"
|
||||
|
||||
else
|
||||
ts_skip "py${LIBNAME} not compiled"
|
||||
fi
|
||||
}
|
||||
|
||||
function ts_run {
|
||||
|
|
|
@ -160,7 +160,11 @@ OPTS="$OPTS --srcdir=$top_srcdir --builddir=$top_builddir"
|
|||
|
||||
# Auto-enable ASAN to avoid conflicts between tests and binaries
|
||||
if [ -z "$has_asan_opt" ]; then
|
||||
asan=$(awk '/^ASAN_LDFLAGS/ { print $3 }' $top_builddir/Makefile)
|
||||
if [ -e "$top_builddir/Makefile" ]; then
|
||||
asan=$(awk '/^ASAN_LDFLAGS/ { print $3 }' $top_builddir/Makefile)
|
||||
else
|
||||
. "$top_builddir/meson.conf"
|
||||
fi
|
||||
if [ -n "$asan" ]; then
|
||||
OPTS="$OPTS --memcheck-asan"
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
col_sources = files(
|
||||
'col.c',
|
||||
)
|
||||
|
||||
colcrt_sources = files(
|
||||
'colcrt.c',
|
||||
)
|
||||
|
||||
colrm_sources = files(
|
||||
'colrm.c',
|
||||
)
|
||||
|
||||
rev_sources = files(
|
||||
'rev.c',
|
||||
)
|
||||
|
||||
column_sources = files(
|
||||
'column.c',
|
||||
)
|
||||
|
||||
line_sources = files(
|
||||
'line.c',
|
||||
)
|
||||
|
||||
pg_sources = files(
|
||||
'pg.c',
|
||||
)
|
||||
|
||||
ul_sources = files(
|
||||
'ul.c',
|
||||
)
|
||||
|
||||
more_sources = files(
|
||||
'more.c',
|
||||
)
|
||||
|
||||
hexdump_sources = files(
|
||||
'hexdump.c',
|
||||
'hexdump.h',
|
||||
'hexdump-conv.c',
|
||||
'hexdump-display.c',
|
||||
'hexdump-parse.c',
|
||||
)
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
# this is needed mostly because $DESTDIR is provided as a variable,
|
||||
# and we need to create the target directory...
|
||||
|
||||
mkdir -vp "$(dirname "${DESTDIR:-}$2")"
|
||||
if [ "$(dirname $1)" = . ]; then
|
||||
ln -fs -T "$1" "${DESTDIR:-}$2"
|
||||
else
|
||||
ln -fs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
|
||||
fi
|
Loading…
Reference in New Issue