|
Packit |
c86169 |
project(
|
|
Packit |
c86169 |
'gnome-session', 'c',
|
|
Packit |
c86169 |
version: '3.28.1',
|
|
Packit |
c86169 |
license: 'GPL2+',
|
|
Packit |
c86169 |
default_options: 'buildtype=debugoptimized',
|
|
Packit |
c86169 |
meson_version: '>= 0.43.0'
|
|
Packit |
c86169 |
)
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_version = meson.project_version()
|
|
Packit |
c86169 |
version_array = session_version.split('.')
|
|
Packit |
c86169 |
session_major_version = version_array[0].to_int()
|
|
Packit |
c86169 |
session_minor_version = version_array[1].to_int()
|
|
Packit |
c86169 |
session_micro_version = version_array[2].to_int()
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_api_version = '@0@.0'.format(session_major_version)
|
|
Packit |
c86169 |
session_api_name = '@0@-@1@'.format(meson.project_name(), session_api_version)
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_prefix = get_option('prefix')
|
|
Packit |
c86169 |
session_bindir = join_paths(session_prefix, get_option('bindir'))
|
|
Packit |
c86169 |
session_datadir = join_paths(session_prefix, get_option('datadir'))
|
|
Packit |
c86169 |
session_libdir = join_paths(session_prefix, get_option('libdir'))
|
|
Packit |
c86169 |
session_libexecdir = join_paths(session_prefix, get_option('libexecdir'))
|
|
Packit |
c86169 |
session_localedir = join_paths(session_prefix, get_option('localedir'))
|
|
Packit |
c86169 |
session_localstatedir = join_paths(session_prefix, get_option('localstatedir'))
|
|
Packit |
c86169 |
session_mandir = join_paths(session_prefix, get_option('mandir'))
|
|
Packit |
c86169 |
session_sbindir = join_paths(session_prefix, get_option('sbindir'))
|
|
Packit |
c86169 |
session_sysconfdir = join_paths(session_prefix, get_option('sysconfdir'))
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_pkgdatadir = join_paths(session_datadir, meson.project_name())
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_debug = get_option('buildtype').contains('debug')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
cc = meson.get_compiler('c')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
config_h = configuration_data()
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
# defines
|
|
Packit |
c86169 |
set_defines = [
|
|
Packit |
c86169 |
# package
|
|
Packit |
c86169 |
['PACKAGE', meson.project_name()],
|
|
Packit |
c86169 |
['PACKAGE_VERSION', session_version],
|
|
Packit |
c86169 |
['VERSION', session_version],
|
|
Packit |
c86169 |
# i18n
|
|
Packit |
c86169 |
['GETTEXT_PACKAGE', session_api_name]
|
|
Packit |
c86169 |
]
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
foreach define: set_defines
|
|
Packit |
c86169 |
config_h.set_quoted(define[0], define[1])
|
|
Packit |
c86169 |
endforeach
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
# compiler flags
|
|
Packit |
c86169 |
common_flags = ['-DHAVE_CONFIG_H']
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
enable_deprecation_flags = get_option('deprecation_flags')
|
|
Packit |
c86169 |
if enable_deprecation_flags
|
|
Packit |
c86169 |
common_flags += [
|
|
Packit |
c86169 |
'-DBONOBO_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DBONOBO_DISABLE_SINGLE_INCLUDES',
|
|
Packit |
c86169 |
'-DBONOBO_UI_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DBONOBO_UI_DISABLE_SINGLE_INCLUDES',
|
|
Packit |
c86169 |
'-DGNOME_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DGNOME_DISABLE_SINGLE_INCLUDES',
|
|
Packit |
c86169 |
'-DLIBGLADE_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DLIBGLADE_DISABLE_SINGLE_INCLUDES',
|
|
Packit |
c86169 |
'-DGNOME_VFS_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DGNOME_VFS_DISABLE_SINGLE_INCLUDES',
|
|
Packit |
c86169 |
'-DWNCK_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DWNCK_DISABLE_SINGLE_INCLUDES',
|
|
Packit |
c86169 |
'-DLIBSOUP_DISABLE_DEPRECATED',
|
|
Packit |
c86169 |
'-DLIBSOUP_DISABLE_SINGLE_INCLUDES'
|
|
Packit |
c86169 |
]
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
compiler_flags = []
|
|
Packit |
c86169 |
if session_debug
|
|
Packit |
c86169 |
test_cflags = [
|
|
Packit |
c86169 |
'-Werror=format=2',
|
|
Packit |
c86169 |
'-Werror=implicit-function-declaration',
|
|
Packit |
c86169 |
'-Werror=init-self',
|
|
Packit |
c86169 |
'-Werror=missing-include-dirs',
|
|
Packit |
c86169 |
'-Werror=missing-prototypes',
|
|
Packit |
c86169 |
'-Werror=pointer-arith',
|
|
Packit |
c86169 |
'-Werror=return-type',
|
|
Packit |
c86169 |
'-Wnested-externs',
|
|
Packit |
c86169 |
'-Wstrict-prototypes'
|
|
Packit |
c86169 |
]
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
compiler_flags += cc.get_supported_arguments(test_cflags)
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
add_project_arguments(common_flags + compiler_flags, language: 'c')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
glib_req_version = '>= 2.46.0'
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
gio_dep = dependency('gio-2.0', version: glib_req_version)
|
|
Packit |
c86169 |
glib_dep = dependency('glib-2.0', version: glib_req_version)
|
|
Packit |
c86169 |
gtk_dep = dependency('gtk+-3.0', version: '>= 3.18.0')
|
|
Packit |
c86169 |
xtrans_dep = dependency('xtrans')
|
|
Packit |
c86169 |
ice_dep = dependency('ice')
|
|
Packit |
c86169 |
sm_dep = dependency('sm')
|
|
Packit |
c86169 |
x11_dep = dependency('x11')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_deps = [
|
|
Packit |
c86169 |
gio_dep,
|
|
Packit |
c86169 |
glib_dep,
|
|
Packit |
c86169 |
dependency('gnome-desktop-3.0', version: '>= 3.18.0'),
|
|
Packit |
c86169 |
dependency('json-glib-1.0', version: '>= 0.10')
|
|
Packit |
c86169 |
]
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_bin_deps = session_deps + [
|
|
Packit |
c86169 |
xtrans_dep,
|
|
Packit |
c86169 |
ice_dep,
|
|
Packit |
c86169 |
sm_dep
|
|
Packit |
c86169 |
]
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
# Check for session selector GTK+ UI
|
|
Packit |
c86169 |
enable_session_selector = get_option('session_selector')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
# Check for session tracking backend
|
|
Packit |
c86169 |
session_tracking = 'null backend'
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
enable_systemd = get_option('systemd')
|
|
Packit |
c86169 |
enable_systemd_journal = get_option('systemd_journal')
|
|
Packit |
c86169 |
enable_consolekit = get_option('consolekit')
|
|
Packit |
c86169 |
if enable_systemd or enable_consolekit
|
|
Packit |
c86169 |
session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version)
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
# Check for systemd
|
|
Packit |
c86169 |
if enable_systemd
|
|
Packit |
c86169 |
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
|
|
Packit |
c86169 |
session_bin_deps += libsystemd_dep
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
if not libsystemd_dep.found()
|
|
Packit |
c86169 |
libsystemd_login_dep = dependency('libsystemd-login', version: '>= 183', required: false)
|
|
Packit |
c86169 |
libsystemd_daemon_dep = dependency('libsystemd-daemon', required: false)
|
|
Packit |
c86169 |
libsystemd_journal_dep = dependency('libsystemd-journal', required: false)
|
|
Packit |
c86169 |
assert(libsystemd_login_dep.found() and libsystemd_daemon_dep.found() and libsystemd_journal_dep.found(),
|
|
Packit |
c86169 |
'Systemd support explicitly required, but systemd not found')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_bin_deps += [
|
|
Packit |
c86169 |
libsystemd_login_dep,
|
|
Packit |
c86169 |
libsystemd_daemon_dep,
|
|
Packit |
c86169 |
libsystemd_journal_dep
|
|
Packit |
c86169 |
]
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_tracking = 'systemd'
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
# Check for ConsoleKit
|
|
Packit |
c86169 |
if enable_consolekit
|
|
Packit |
c86169 |
dbus_glib_dep = dependency('dbus-glib-1', version: '>= 0.76')
|
|
Packit |
c86169 |
assert(dbus_glib_dep.found(), 'ConsoleKit support explicitly required, but dbus-glib not found')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
session_bin_deps += dbus_glib_dep
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
if enable_systemd
|
|
Packit |
c86169 |
session_tracking += ' (with fallback to ConsoleKit)'
|
|
Packit |
c86169 |
else
|
|
Packit |
c86169 |
session_tracking = 'ConsoleKit'
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
config_h.set('HAVE_SYSTEMD', enable_systemd)
|
|
Packit |
c86169 |
config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal)
|
|
Packit |
c86169 |
config_h.set('HAVE_CONSOLEKIT', enable_consolekit)
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
configure_file(
|
|
Packit |
c86169 |
output: 'config.h',
|
|
Packit |
c86169 |
configuration: config_h
|
|
Packit |
c86169 |
)
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
gnome = import('gnome')
|
|
Packit |
c86169 |
i18n = import('i18n')
|
|
Packit |
c86169 |
pkg = import('pkgconfig')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
po_dir = join_paths(meson.source_root(), 'po')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
top_inc = include_directories('.')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
subdir('gnome-session')
|
|
Packit |
c86169 |
subdir('tools')
|
|
Packit |
c86169 |
subdir('data')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
enable_docbook = get_option('docbook')
|
|
Packit |
c86169 |
enable_man = get_option('man')
|
|
Packit |
c86169 |
if enable_docbook or enable_man
|
|
Packit |
c86169 |
subdir('doc')
|
|
Packit |
c86169 |
endif
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
subdir('po')
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
meson.add_install_script(
|
|
Packit |
c86169 |
'meson_post_install.py',
|
|
Packit |
c86169 |
session_datadir
|
|
Packit |
c86169 |
)
|
|
Packit |
c86169 |
|
|
Packit |
c86169 |
output = '\n gnome-session ' + session_version + '\n'
|
|
Packit |
c86169 |
output += ' ====================\n\n'
|
|
Packit |
c86169 |
output += ' prefix: ' + session_prefix + '\n'
|
|
Packit |
c86169 |
output += ' exec_prefix: ' + session_libexecdir + '\n'
|
|
Packit |
c86169 |
output += ' libdir: ' + session_libdir + '\n'
|
|
Packit |
c86169 |
output += ' bindir: ' + session_bindir + '\n'
|
|
Packit |
c86169 |
output += ' sbindir: ' + session_sbindir + '\n'
|
|
Packit |
c86169 |
output += ' sysconfdir: ' + session_sysconfdir + '\n'
|
|
Packit |
c86169 |
output += ' localstatedir: ' + session_localstatedir + '\n'
|
|
Packit |
c86169 |
output += ' datadir: ' + session_datadir + '\n'
|
|
Packit |
c86169 |
output += ' source code location: ' + meson.source_root() + '\n'
|
|
Packit |
c86169 |
output += ' compiler: ' + cc.get_id() + '\n'
|
|
Packit |
c86169 |
output += ' cflags: ' + ' '.join(compiler_flags) + '\n'
|
|
Packit |
c86169 |
output += ' Debug mode: ' + session_debug.to_string() + '\n'
|
|
Packit |
c86169 |
output += ' Use *_DISABLE_DEPRECATED: ' + enable_deprecation_flags.to_string() + '\n\n'
|
|
Packit |
c86169 |
output += ' Session tracking: ' + session_tracking + ' \n'
|
|
Packit |
c86169 |
output += ' Build Docbook: ' + enable_docbook.to_string() + '\n'
|
|
Packit |
c86169 |
output += ' Build manpages: ' + enable_man.to_string()
|
|
Packit |
c86169 |
message(output)
|