X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=meson.build;h=cdb4dedc880eabd2f0e5177cdac9894dd5b6be6a;hb=a116fae17a845c305cd2da0c1ecdc3f406ceb8db;hp=fe014eda750f397a2cd3d7edbd54ca05f853ea3c;hpb=ec4b18ddb9cc1df4ac410614308c6f520d6c6c81;p=elogind.git diff --git a/meson.build b/meson.build index fe014eda7..cdb4dedc8 100644 --- a/meson.build +++ b/meson.build @@ -1,9 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1+ -# -# Copyright 2017 Zbigniew Jędrzejewski-Szmek project('elogind', 'c', - version : '238', + version : '239', license : 'LGPLv2+', default_options: [ 'c_std=gnu99', @@ -15,8 +13,8 @@ project('elogind', 'c', ) #if 0 /// UNNEEDED by elogind - libudev is external -# libsystemd_version = '0.22.0' -# libudev_version = '1.6.10' +# libsystemd_version = '0.23.0' +# libudev_version = '1.6.11' #else libelogind_version = '0.22.0' #endif // 0 @@ -280,8 +278,8 @@ conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir) # conf.set_quoted('USER_KEYRING_PATH', join_paths(pkgsysconfdir, 'import-pubring.gpg')) # conf.set_quoted('DOCUMENT_ROOT', join_paths(pkgdatadir, 'gatewayd')) # conf.set('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default ? 'true' : 'false') +# conf.set_quoted('MEMORY_ACCOUNTING_DEFAULT_YES_NO', memory_accounting_default ? 'yes' : 'no') #endif // 0 -conf.set_quoted('MEMORY_ACCOUNTING_DEFAULT_YES_NO', memory_accounting_default ? 'yes' : 'no') conf.set_quoted('ABS_BUILD_DIR', meson.build_root()) conf.set_quoted('ABS_SRC_DIR', meson.source_root()) @@ -304,8 +302,8 @@ substs.set('rootlibexecdir', rootlibexecdir) #endif // 0 substs.set('udevrulesdir', udevrulesdir) substs.set('udevlibexecdir', udevlibexecdir) -substs.set('environmentdir', environmentdir) #if 0 /// UNNEEDED by elogind +# substs.set('environmentdir', environmentdir) # substs.set('catalogdir', catalogdir) # substs.set('tmpfilesdir', tmpfilesdir) # substs.set('sysusersdir', sysusersdir) @@ -360,55 +358,56 @@ endif # if want_ossfuzz # fuzzing_engine = meson.get_compiler('cpp').find_library('FuzzingEngine') # endif -# -# possible_cc_flags = [ -# '-Wextra', -# '-Werror=undef', -# '-Wlogical-op', -# '-Wmissing-include-dirs', -# '-Wold-style-definition', -# '-Wpointer-arith', -# '-Winit-self', -# '-Wfloat-equal', -# '-Wsuggest-attribute=noreturn', -# '-Werror=missing-prototypes', -# '-Werror=implicit-function-declaration', -# '-Werror=missing-declarations', -# '-Werror=return-type', -# '-Werror=incompatible-pointer-types', -# '-Werror=format=2', -# '-Wstrict-prototypes', -# '-Wredundant-decls', -# '-Wmissing-noreturn', -# '-Wimplicit-fallthrough=5', -# '-Wshadow', -# '-Wendif-labels', -# '-Wstrict-aliasing=2', -# '-Wwrite-strings', -# '-Werror=overflow', -# '-Werror=shift-count-overflow', -# '-Wdate-time', -# '-Wnested-externs', -# '-ffast-math', -# '-fno-common', -# '-fdiagnostics-show-option', -# '-fno-strict-aliasing', -# '-fvisibility=hidden', -# '-fstack-protector', -# '-fstack-protector-strong', -# '--param=ssp-buffer-size=4', -# ] -# -# # --as-needed and --no-undefined are provided by meson by default, -# # run mesonconf to see what is enabled -# possible_link_flags = [ -# '-Wl,-z,relro', -# '-Wl,-z,now', -# ] #else fuzzer_build = false #endif // 0 +possible_cc_flags = [ + '-Wextra', + '-Werror=undef', + '-Wlogical-op', + '-Wmissing-include-dirs', + '-Wold-style-definition', + '-Wpointer-arith', + '-Winit-self', + '-Wfloat-equal', + '-Wsuggest-attribute=noreturn', + '-Werror=missing-prototypes', + '-Werror=implicit-function-declaration', + '-Werror=missing-declarations', + '-Werror=return-type', + '-Werror=incompatible-pointer-types', + '-Werror=format=2', + '-Wstrict-prototypes', + '-Wredundant-decls', + '-Wmissing-noreturn', + '-Wimplicit-fallthrough=5', + '-Wshadow', + '-Wendif-labels', + '-Wstrict-aliasing=2', + '-Wwrite-strings', + '-Werror=overflow', + '-Werror=shift-count-overflow', + '-Werror=shift-overflow=2', + '-Wdate-time', + '-Wnested-externs', + '-ffast-math', + '-fno-common', + '-fdiagnostics-show-option', + '-fno-strict-aliasing', + '-fvisibility=hidden', + '-fstack-protector', + '-fstack-protector-strong', + '--param=ssp-buffer-size=4', +] + +# --as-needed and --no-undefined are provided by meson by default, +# run mesonconf to see what is enabled +possible_link_flags = [ + '-Wl,-z,relro', + '-Wl,-z,now', +] + # the oss-fuzz fuzzers are not built with -fPIE, so don't # enable it when we are linking against them if not fuzzer_build @@ -889,15 +888,15 @@ enable_debug_mmap_cache = false #if 1 /// additional elogind debug mode enable_debug_elogind = false #endif // 1 -#if 1 /// additional elogind debug mode - elif name == 'elogind' - enable_debug_elogind = true -#endif // 1 foreach name : get_option('debug') if name == 'hashmap' enable_debug_hashmap = true elif name == 'mmap-cache' enable_debug_mmap_cache = true +#if 1 /// additional elogind debug mode + elif name == 'elogind' + enable_debug_elogind = true +#endif // 1 else message('unknown debug option "@0@", ignoring'.format(name)) endif @@ -1299,6 +1298,29 @@ conf.set10('HAVE_DBUS', have) # 'DNSSEC_' + default_dnssec.underscorify().to_upper()) # substs.set('DEFAULT_DNSSEC_MODE', default_dnssec) # +# dns_over_tls = get_option('dns-over-tls') +# if dns_over_tls != 'false' +# have = conf.get('HAVE_GNUTLS') == 1 +# if dns_over_tls == 'true' and not have +# error('DNS-over-TLS support was requested, but dependencies are not available') +# endif +# else +# have = false +# endif +# conf.set10('ENABLE_DNS_OVER_TLS', have) +# +# default_dns_over_tls = get_option('default-dns-over-tls') +# if fuzzer_build +# default_dns_over_tls = 'no' +# endif +# if default_dns_over_tls != 'no' and conf.get('ENABLE_DNS_OVER_TLS') == 0 +# message('default-dns-over-tls cannot be set to opportunistic when DNS-over-TLS support is disabled. Setting default-dns-over-tls to no.') +# default_dns_over_tls = 'no' +# endif +# conf.set('DEFAULT_DNS_OVER_TLS_MODE', +# 'DNS_OVER_TLS_' + default_dns_over_tls.underscorify().to_upper()) +# substs.set('DEFAULT_DNS_OVER_TLS_MODE', default_dns_over_tls) +# # want_importd = get_option('importd') # if want_importd != 'false' # have = (conf.get('HAVE_LIBCURL') == 1 and @@ -1373,7 +1395,9 @@ foreach term : ['utmp', conf.set10(name, have) endforeach -conf.set10('ENABLE_TIMEDATECTL', get_option('timedated') or get_option('timesyncd')) +#if 0 /// UNNEEDED by elogind +# conf.set10('ENABLE_TIMEDATECTL', get_option('timedated') or get_option('timesyncd')) +#endif // 0 want_tests = get_option('tests') install_tests = get_option('install-tests') @@ -1433,8 +1457,8 @@ includes = include_directories('src/basic', # 'src/nspawn', # 'src/resolve', # 'src/timesync', +# 'src/time-wait-sync', #endif // 0 - 'src/time-wait-sync', 'src/login', #if 0 /// UNNEEDED by elogind # 'src/udev', @@ -1519,9 +1543,13 @@ static_libelogind_pic = static_libelogind == 'true' or static_libelogind == 'pic install_libelogind_static = static_library( 'elogind', libelogind_sources, - journal_client_sources, +#if 0 /// No journald with elogind (And before you ask: NO!) +# journal_client_sources, +#endif // 0 basic_sources, - basic_gcrypt_sources, +#if 0 /// No gcrypt with elogind +# basic_gcrypt_sources, +#endif // 0 include_directories : includes, build_by_default : static_libelogind != 'false', install : static_libelogind != 'false', @@ -1533,9 +1561,15 @@ install_libelogind_static = static_library( liblz4, libcap, libblkid, - libmount, +#if 0 /// libmount isn't built with elogind (and absolutely not needed anyway.) +# libmount, +#endif // 0 libselinux, - libgcrypt], +#if 0 /// No grypt with elogind +# libgcrypt], +#else + ], +#endif // 0 c_args : libelogind_c_args + (static_libelogind_pic ? [] : ['-fno-PIC'])) ############################################################ @@ -1794,10 +1828,7 @@ test_dlopen = executable( # link_with : [libshared, # libbasic_gcrypt, # libsystemd_resolve_core], -# dependencies : [threads, -# libgpg_error, -# libm, -# libidn], +# dependencies : systemd_resolved_dependencies, # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) @@ -1882,6 +1913,14 @@ test_dlopen = executable( # endif # endif # +# executable('systemd-user-runtime-dir', +# user_runtime_dir_sources, +# include_directories : includes, +# link_with : [libshared, liblogind_core], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# #else executable('elogind', @@ -1916,26 +1955,6 @@ exe = executable('elogind-inhibit', install : true, install_dir : rootbindir) public_programs += [exe] -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', -executable('elogind-user-runtime-dir', - user_runtime_dir_sources, - include_directories : includes, - link_with : [libshared, liblogind_core], - install_rpath : rootlibexecdir, - install : true, - install_dir : rootlibexecdir) if conf.get('HAVE_PAM') == 1 version_script_arg = join_paths(meson.current_source_dir(), pam_elogind_sym) @@ -2982,9 +3001,9 @@ subdir('man') subdir('shell-completion/bash') subdir('shell-completion/zsh') #if 0 /// UNNEEDED by elogind +# subdir('doc/sysvinit') +# subdir('doc/var-log') #endif // 0 -subdir('doc/sysvinit') -subdir('doc/var-log') # FIXME: figure out if the warning is true: # https://github.com/mesonbuild/meson/wiki/Reference-manual#install_subdir @@ -3199,6 +3218,7 @@ status = [ # 'symbolic gateway hostnames: @0@'.format(', '.join(gateway_hostnames)), # # 'default DNSSEC mode: @0@'.format(default_dnssec), +# 'default DNS-over-TLS mode: @0@'.format(default_dns_over_tls), # 'default cgroup hierarchy: @0@'.format(default_hierarchy), #endif // 0 'default KillUserProcesses setting: @0@'.format(kill_user_processes)] @@ -3294,6 +3314,7 @@ foreach tuple : [ # ['localed'], # ['networkd'], # ['resolve'], +# ['DNS-over-TLS'], # ['coredump'], #endif // 0 ['polkit'], @@ -3326,10 +3347,11 @@ foreach tuple : [ # ['adm group', get_option('adm-group')], # ['wheel group', get_option('wheel-group')], # ['gshadow'], -# ['valgrind', conf.get('VALGRIND') == 1], -#else - ['debug elogind'], #endif // 0 + ['valgrind', conf.get('VALGRIND') == 1], +#if 1 /// Extra debugging for elogind + ['debug elogind'], +#endif // 1 ['debug hashmap'], ['debug mmap cache'], ] @@ -3356,9 +3378,11 @@ status += [ ''] message('\n '.join(status)) -if rootprefixdir != rootprefix_default - warning('\n' + - 'Note that the installation prefix was changed to "@0@".\n'.format(rootprefixdir) + - 'elogind used fixed names for unit file directories and other paths, so anything\n' + - 'except the default ("@0@") is strongly discouraged.'.format(rootprefix_default)) -endif +#if 0 /// Nicely enough this isn't true for elogind. :-) +# if rootprefixdir != rootprefix_default +# warning('\n' + +# 'Note that the installation prefix was changed to "@0@".\n'.format(rootprefixdir) + +# 'systemd used fixed names for unit file directories and other paths, so anything\n' + +# 'except the default ("@0@") is strongly discouraged.'.format(rootprefix_default)) +# endif +#endif // 0