2021-08-30 13:11:42 +02:00
|
|
|
project('upower', 'c',
|
|
|
|
|
version: '0.99.13',
|
|
|
|
|
license: 'GPLv2+',
|
|
|
|
|
default_options: [
|
|
|
|
|
'buildtype=debugoptimized',
|
|
|
|
|
'warning_level=1',
|
|
|
|
|
'c_std=gnu99',
|
|
|
|
|
],
|
|
|
|
|
meson_version: '>= 0.49.0')
|
|
|
|
|
|
|
|
|
|
soversion = 3
|
|
|
|
|
current = 1
|
|
|
|
|
revision = 0
|
|
|
|
|
libversion = '@0@.@1@.@2@'.format(soversion, current, revision)
|
|
|
|
|
|
|
|
|
|
gnome = import('gnome')
|
|
|
|
|
i18n = import('i18n')
|
|
|
|
|
|
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
|
|
|
|
|
|
# TODO: Get rid of these by including config.h where needed
|
|
|
|
|
add_project_arguments([
|
|
|
|
|
'-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()),
|
|
|
|
|
'-DPACKAGE_VERSION="@0@"'.format(meson.project_version()),
|
|
|
|
|
], language: 'c')
|
|
|
|
|
|
|
|
|
|
cdata = configuration_data()
|
|
|
|
|
cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
|
|
|
|
|
cdata.set_quoted('PACKAGE_VERSION', meson.project_version())
|
|
|
|
|
cdata.set_quoted('VERSION', meson.project_version())
|
|
|
|
|
cdata.set_quoted('PACKAGE_SYSCONF_DIR', get_option('sysconfdir'))
|
|
|
|
|
|
|
|
|
|
glib_min_version = '2.56'
|
|
|
|
|
|
|
|
|
|
glib_version_def = 'GLIB_VERSION_@0@_@1@'.format(
|
|
|
|
|
glib_min_version.split('.')[0], glib_min_version.split('.')[1])
|
|
|
|
|
common_cflags = cc.get_supported_arguments([
|
|
|
|
|
'-DGLIB_VERSION_MIN_REQUIRED=' + glib_version_def,
|
|
|
|
|
'-DGLIB_VERSION_MAX_ALLOWED=' + glib_version_def,
|
|
|
|
|
])
|
|
|
|
|
add_project_arguments(common_cflags, language: 'c')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
glib_dep = dependency('glib-2.0', version: '>=' + glib_min_version)
|
|
|
|
|
gobject_dep = dependency('gobject-2.0', version: '>=' + glib_min_version)
|
|
|
|
|
gio_dep = dependency('gio-2.0', version: '>=' + glib_min_version)
|
|
|
|
|
gio_unix_dep = dependency('gio-unix-2.0', version: '>=' + glib_min_version)
|
|
|
|
|
|
|
|
|
|
xsltproc = find_program('xsltproc', required: get_option('gtk-doc') or get_option('man'))
|
|
|
|
|
|
|
|
|
|
# Resolve OS backend
|
|
|
|
|
os_backend = get_option('os_backend')
|
|
|
|
|
if os_backend == 'auto'
|
|
|
|
|
# Likely needs to be updated when options are added
|
|
|
|
|
if host_machine.system() in ['linux', 'freebsd', 'openbsd']
|
|
|
|
|
os_backend = host_machine.system()
|
|
|
|
|
else
|
|
|
|
|
os_backend = 'dummy'
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
cdata.set_quoted('BACKEND', os_backend)
|
|
|
|
|
|
|
|
|
|
# Backend specific dependencies
|
|
|
|
|
gudev_dep = dependency('', required: false)
|
|
|
|
|
idevice_dep = dependency('', required: false)
|
|
|
|
|
plist_dep = dependency('', required: false)
|
|
|
|
|
gobject_introspection = dependency('gobject-introspection-1.0', required: get_option('introspection'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if os_backend == 'linux'
|
|
|
|
|
gudev_dep = dependency('gudev-1.0', version: '>= 235')
|
|
|
|
|
idevice_dep = dependency('libimobiledevice-1.0',
|
|
|
|
|
version : '>= 0.9.7',
|
|
|
|
|
required : get_option('idevice'))
|
|
|
|
|
|
|
|
|
|
if idevice_dep.found()
|
|
|
|
|
plist_dep = dependency('libplist-2.0', required: false)
|
|
|
|
|
if not plist_dep.found()
|
|
|
|
|
plist_dep = dependency(libplist)
|
|
|
|
|
endif
|
2021-09-10 21:46:44 -07:00
|
|
|
cdata.set10('HAVE_IDEVICE', true)
|
2021-08-30 13:11:42 +02:00
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
historydir = get_option('historydir')
|
|
|
|
|
if historydir == ''
|
|
|
|
|
historydir = get_option('prefix') / get_option('localstatedir') / 'lib' / 'upower'
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
udevrulesdir = get_option('udevrulesdir')
|
|
|
|
|
if udevrulesdir == 'auto'
|
|
|
|
|
udev_dep = dependency('udev', required: true)
|
|
|
|
|
udevrulesdir = udev_dep.get_pkgconfig_variable('udev_dir')
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
dbusdir = get_option('datadir') / 'dbus-1'
|
|
|
|
|
systemdsystemunitdir = get_option('systemdsystemunitdir')
|
|
|
|
|
if systemdsystemunitdir == ''
|
|
|
|
|
systemd_dep = dependency('systemd')
|
|
|
|
|
systemdsystemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
# Generate configuration file
|
|
|
|
|
config_h = configure_file(output: 'config.h', configuration: cdata)
|
|
|
|
|
|
|
|
|
|
subdir('etc')
|
|
|
|
|
subdir('rules')
|
|
|
|
|
subdir('po')
|
|
|
|
|
subdir('dbus')
|
|
|
|
|
subdir('libupower-glib')
|
|
|
|
|
subdir('src')
|
|
|
|
|
subdir('tools')
|
|
|
|
|
subdir('doc')
|
|
|
|
|
|
|
|
|
|
pkgconfig = import('pkgconfig')
|
|
|
|
|
pkgconfig.generate(
|
|
|
|
|
name: 'upower-glib',
|
|
|
|
|
description: 'UPower is a system daemon for managing power devices',
|
|
|
|
|
version: meson.project_version(),
|
|
|
|
|
libraries: libupower_glib,
|
|
|
|
|
requires: [glib_dep, gobject_dep],
|
|
|
|
|
subdirs: 'libupower-glib',
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
output = []
|
|
|
|
|
output += 'UPower ' + meson.project_version()
|
|
|
|
|
output += 'System Paths'
|
|
|
|
|
output += ' prefix: ' + get_option('prefix')
|
|
|
|
|
output += ' libdir: ' + get_option('libdir')
|
|
|
|
|
output += ' libexecdir: ' + get_option('prefix') / get_option('libexecdir')
|
|
|
|
|
output += ' bindir: ' + get_option('prefix') / get_option('bindir')
|
|
|
|
|
output += ' sbindir: ' + get_option('prefix') / get_option('datadir')
|
|
|
|
|
output += ' datadir: ' + get_option('prefix') / get_option('sbindir')
|
|
|
|
|
output += ' sysconfdir: ' + get_option('sysconfdir')
|
|
|
|
|
output += ' localstatedir: ' + get_option('prefix') / get_option('localstatedir')
|
|
|
|
|
output += ' historydir: ' + historydir
|
|
|
|
|
|
|
|
|
|
output += '\nFeatures'
|
|
|
|
|
output += ' Backend: ' + os_backend
|
|
|
|
|
output += ' libimobiledevice support: ' + idevice_dep.found().to_string()
|
|
|
|
|
output += ' Building api docs: ' + get_option('gtk-doc').to_string()
|
|
|
|
|
output += ' Building man pages: ' + get_option('man').to_string()
|
|
|
|
|
|
|
|
|
|
message('\n'+'\n'.join(output)+'\n')
|