Port build system to Meson

This commit is contained in:
Niels De Graef 2022-07-25 12:55:59 +02:00 committed by Ray Strode
parent 4bd41a355f
commit 95d3e3bbf9
41 changed files with 1261 additions and 0 deletions

29
docs/meson.build Normal file
View file

@ -0,0 +1,29 @@
xsltproc = find_program('xsltproc')
man_pages = {
'plymouth1.xml': 'plymouth.1',
'plymouth.xml': 'plymouth.8',
'plymouthd.xml': 'plymouthd.8',
'plymouth-set-default-theme.xml': 'plymouth-set-default-theme.1',
}
foreach man_xml_input, man_output : man_pages
custom_target(man_output,
input: man_xml_input,
output: man_output,
command: [
xsltproc,
'--nonet',
'--stringparam', 'man.output.quietly', '1',
'--stringparam', 'funcsynopsis.style', 'ansi',
'--stringparam', 'man.th.extra1.suppress', '1',
'--stringparam', 'man.authors.section.enabled', '0',
'--stringparam', 'man.copyright.section.enabled', '0',
'-o', '@OUTPUT@',
'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
'@INPUT@',
],
install: true,
install_dir: get_option('mandir') / 'man' + man_output.substring(-1),
)
endforeach

5
images/meson.build Normal file
View file

@ -0,0 +1,5 @@
if use_fallback_logo
install_data('bizcom.png',
install_dir: get_option('datadir') / 'plymouth',
)
endif

105
meson.build Normal file
View file

@ -0,0 +1,105 @@
project('plymouth', 'c',
meson_version: '>= 0.61',
version: run_command(
'date', '+%y.%V.' + run_command(
'git', 'rev-list',
run_command('git', 'describe', '--abbrev=0', check: true).stdout().strip() + '..HEAD',
'--count',
check: true,
).stdout().strip(),
'-d', '@' + run_command('git', 'log', '-1', '--pretty=format:%ct', check: true).stdout().strip(),
check: true,
).stdout().strip(),
)
# Modules
i18n = import('i18n')
pkgconfig = import('pkgconfig')
# General variables
plymouth_soversion = '5.0.0'
plymouth_theme_path = get_option('prefix') / get_option('datadir') / 'plymouth' / 'themes'
plymouth_plugin_path = get_option('prefix') / get_option('libdir') / 'plymouth/'
plymouth_policy_dir = get_option('prefix') / get_option('datadir') / 'plymouth/'
plymouth_conf_dir = get_option('prefix') / get_option('sysconfdir') / 'plymouth/'
plymouth_time_dir = get_option('prefix') / get_option('localstatedir') / 'lib' / 'plymouth'
plymouth_runtime_dir = get_option('runstatedir') / 'plymouth'
plymouth_runtime_theme_path = plymouth_runtime_dir / 'themes'
# Dependencies
cc = meson.get_compiler('c')
lm_dep = cc.find_library('m')
lrt_dep = cc.find_library('rt')
ldl_dep = cc.find_library('dl')
libpng_dep = dependency('libpng', version: '>= 1.2.16')
libudev_dep = dependency('libudev', required: get_option('udev'))
libpango_dep = dependency('pango', required: get_option('pango'))
libfreetype_dep = dependency('freetype2', required: get_option('freetype'))
gtk3_dep = dependency('gtk+-3.0', version: '>= 3.14.0', required: get_option('gtk'))
libdrm_dep = dependency('libdrm', required: get_option('drm'))
if get_option('systemd-integration')
systemd_dep = dependency('systemd')
systemd_unit_dir = systemd_dep.get_variable('systemdsystemunitdir',
pkgconfig_define: [ 'rootprefix', get_option('prefix') ],
)
systemd_ask_password_agent = find_program('systemd-tty-ask-password-agent')
endif
if get_option('upstart-monitoring')
dbus_dep = dependency('dbus-1')
curses_dep = dependency('curses')
endif
# Logo
plymouth_logo_file = get_option('logo')
use_fallback_logo = plymouth_logo_file == ''
if use_fallback_logo
plymouth_logo_file = get_option('prefix') / get_option('datadir') / 'plymouth' / 'bizcom.png'
endif
# Global C flags
add_project_arguments([
'-D_GNU_SOURCE',
],
language: 'c'
)
# config.h
conf = configuration_data()
conf.set_quoted('BOOT_TTY', get_option('boot-tty'))
conf.set_quoted('SHUTDOWN_TTY', get_option('shutdown-tty'))
conf.set_quoted('RELEASE_FILE', get_option('release-file'))
conf.set('HAVE_UDEV', libudev_dep.found())
conf.set('PLY_ENABLE_TRACING', get_option('tracing'))
conf.set_quoted('PLYMOUTH_RUNTIME_DIR', plymouth_runtime_dir)
conf.set_quoted('PLYMOUTH_THEME_PATH', plymouth_theme_path)
conf.set_quoted('PLYMOUTH_RUNTIME_THEME_PATH', plymouth_runtime_theme_path)
conf.set_quoted('PLYMOUTH_PLUGIN_PATH', plymouth_plugin_path)
conf.set_quoted('PLYMOUTH_POLICY_DIR', plymouth_policy_dir)
conf.set_quoted('PLYMOUTH_CONF_DIR', plymouth_conf_dir)
conf.set_quoted('PLYMOUTH_TIME_DIRECTORY', plymouth_time_dir)
conf.set('HAVE_NCURSESW_TERM_H', get_option('upstart-monitoring')? cc.has_header('ncursesw/term.h') : false)
conf.set('HAVE_NCURSES_TERM_H', get_option('upstart-monitoring')? cc.has_header('ncurses/term.h') : false)
config_file = configure_file(
output: 'config.h',
configuration: conf,
)
config_h_inc = include_directories('.')
# Subdirectories
subdir('images')
subdir('po')
subdir('src')
subdir('themes')
subdir('scripts')
if get_option('systemd-integration')
subdir('systemd-units')
endif
if get_option('docs')
subdir('docs')
endif

85
meson_options.txt Normal file
View file

@ -0,0 +1,85 @@
option('logo',
type: 'string',
value: '',
description: 'Full path for logo used by boot splash plugin (if empty, uses a fallback logo)',
)
option('background-color',
type: 'string',
value: '0x5d5950',
description: 'Background color used by boot splash plugins',
)
option('background-start-color-stop',
type: 'string',
value: '0x807c71',
description: 'First color stop in background gradients used by boot splash plugins',
)
option('background-end-color-stop',
type: 'string',
value: '0x3a362f',
description: 'Last color end in background gradients used by boot splash plugins',
)
option('release-file',
type: 'string',
value: '/etc/system-release',
description: 'Release file to use to detect distribution',
)
option('runstatedir',
type: 'string',
value: '/run',
description: 'runstatedir',
)
option('boot-tty',
type: 'string',
value: '/dev/tty1',
description: 'TTY to use in boot mode',
)
option('shutdown-tty',
type: 'string',
value: '/dev/tty63',
description: 'TTY to use in shutdown mode',
)
option('tracing',
type: 'boolean',
value: true,
description: 'Build with verbose debug tracing spew',
)
option('upstart-monitoring',
type: 'boolean',
value: false,
description: 'Listen for messages on the Upstart D-Bus interface',
)
option('systemd-integration',
type: 'boolean',
value: true,
description: 'Coordinate boot up with systemd',
)
option('udev',
type: 'feature',
value: 'auto',
description: 'Build with udev support',
)
option('pango',
type: 'feature',
value: 'enabled',
description: 'Build with pango support (if enabled, used for encryption prompts)',
)
option('freetype',
type: 'feature',
value: 'enabled',
description: 'Build with freetype support (if enabled, used for encryption prompts)',
)
option('gtk',
type: 'feature',
value: 'enabled',
description: 'Build with GTK support (if disabled, there is no X11 support)',
)
option('drm',
type: 'boolean',
value: true,
description: 'Build with drm kms support',
)
option('docs',
type: 'boolean',
value: true,
description: 'Build documentation',
)

5
po/meson.build Normal file
View file

@ -0,0 +1,5 @@
po_dir = meson.current_source_dir()
i18n.gettext(meson.project_name(),
preset: 'glib',
)

53
scripts/meson.build Normal file
View file

@ -0,0 +1,53 @@
configure_file(
input: 'plymouth-generate-initrd.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_LIBEXECDIR': get_option('prefix') / get_option('libexecdir'),
'PLYMOUTH_DATADIR': get_option('prefix') / get_option('datadir'),
},
install_dir: get_option('libexecdir') / 'plymouth',
install_mode: 'rwxr-xr-x',
)
configure_file(
input: 'plymouth-populate-initrd.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_LIBEXECDIR': get_option('prefix') / get_option('libexecdir'),
'PLYMOUTH_DATADIR': get_option('prefix') / get_option('datadir'),
'PLYMOUTH_LOGO_FILE': plymouth_logo_file,
'PLYMOUTH_CONF_DIR': plymouth_conf_dir,
'PLYMOUTH_POLICY_DIR': plymouth_policy_dir,
'PLYMOUTH_CLIENT_DIR': get_option('prefix') / get_option('bindir'),
'PLYMOUTH_DAEMON_DIR': get_option('prefix') / get_option('sbindir'),
'SYSTEMD_UNIT_DIR': get_option('systemd-integration')? systemd_unit_dir : '',
'RELEASE_FILE': get_option('release-file'),
},
install_dir: get_option('libexecdir') / 'plymouth',
install_mode: 'rwxr-xr-x',
)
install_data(
'plymouth-update-initrd',
install_dir: get_option('libexecdir') / 'plymouth',
install_mode: 'rwxr-xr-x',
)
configure_file(
input: 'plymouth-set-default-theme.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_LIBDIR': get_option('prefix') / get_option('libdir'),
'PLYMOUTH_LIBEXECDIR': get_option('prefix') / get_option('libexecdir'),
'PLYMOUTH_DATADIR': get_option('prefix') / get_option('datadir'),
'PLYMOUTH_CONF_DIR': plymouth_conf_dir,
'PLYMOUTH_POLICY_DIR': plymouth_policy_dir,
},
install_dir: get_option('sbindir'),
install_mode: 'rwxr-xr-x',
)
install_data(
'bootlog',
install_dir: get_option('sysconfdir') / 'logrotate.d',
)

61
src/client/meson.build Normal file
View file

@ -0,0 +1,61 @@
plymouth_client_src = files(
'ply-boot-client.c',
'plymouth.c',
)
plymouth_client = executable('plymouth',
plymouth_client_src,
dependencies: libply_dep,
include_directories: [
config_h_inc,
include_directories('..'),
],
install: true,
)
libply_boot_client_src = files(
'ply-boot-client.c',
)
libply_boot_client = library('ply-boot-client',
libply_boot_client_src,
dependencies: [ libply_dep ],
include_directories: [
config_h_inc,
include_directories('..'),
],
version: plymouth_soversion,
install: true,
)
libply_boot_client_dep = declare_dependency(
link_with: libply_boot_client,
include_directories: [
include_directories('.'),
include_directories('..'),
],
)
libply_boot_client_headers = files(
'ply-boot-client.h',
'../ply-boot-protocol.h',
)
install_headers(libply_boot_client_headers,
install_dir: get_option('includedir') / 'plymouth-1' / 'ply-boot-client',
)
pkgconfig.generate(libply_boot_client,
filebase: 'ply-boot-client',
name: 'Plymouth',
description: 'Client Library for Boot Splash',
libraries: [
libply,
ldl_dep,
],
subdirs: [
'plymouth-1/ply',
'plymouth-1/ply-boot-client',
],
)

View file

@ -0,0 +1,85 @@
libply_splash_core_sources = files(
'ply-boot-splash.c',
'ply-device-manager.c',
'ply-keyboard.c',
'ply-pixel-buffer.c',
'ply-pixel-display.c',
'ply-renderer.c',
'ply-terminal.c',
'ply-text-display.c',
'ply-text-progress-bar.c',
'ply-text-step-bar.c',
)
libply_splash_core_public_deps = [
libply_dep,
]
libply_splash_core_private_deps = [
lm_dep,
]
if libudev_dep.found()
libply_splash_core_private_deps += libudev_dep
endif
libply_splash_core_cflags = [
'-DPLYMOUTH_BACKGROUND_COLOR=@0@'.format(get_option('background-color')),
'-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
'-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
'-DPLYMOUTH_PLUGIN_PATH="@0@"'.format(plymouth_plugin_path),
]
libply_splash_core = library('ply-splash-core',
libply_splash_core_sources,
dependencies: libply_splash_core_public_deps + libply_splash_core_private_deps,
c_args: libply_splash_core_cflags,
include_directories: config_h_inc,
version: plymouth_soversion,
install: true,
)
libply_splash_core_dep = declare_dependency(
link_with: libply_splash_core,
dependencies: libply_dep,
include_directories: include_directories('.'),
)
libply_splash_core_headers = files(
'ply-boot-splash-plugin.h',
'ply-boot-splash.h',
'ply-device-manager.h',
'ply-keyboard.h',
'ply-pixel-buffer.h',
'ply-pixel-display.h',
'ply-renderer-plugin.h',
'ply-renderer.h',
'ply-terminal.h',
'ply-text-display.h',
'ply-text-progress-bar.h',
'ply-text-step-bar.h',
)
install_headers(libply_splash_core_headers,
install_dir: get_option('includedir') / 'plymouth-1' / 'ply-splash-core',
)
pkgconfig.generate(libply_splash_core,
filebase: 'ply-splash-core',
name: 'Plymouth',
description: 'Utility Library for Boot Splash Plugins',
libraries: [
libply,
ldl_dep,
],
subdirs: [
'plymouth-1/ply',
'plymouth-1/ply-splash-core',
],
variables: {
'pluginsdir': plymouth_plugin_path,
'themesdir': plymouth_theme_path,
'confdir': plymouth_conf_dir,
'policydir': plymouth_policy_dir,
},
)

View file

@ -0,0 +1,72 @@
libply_splash_graphics_sources = files(
'ply-animation.c',
'ply-capslock-icon.c',
'ply-entry.c',
'ply-image.c',
'ply-keymap-icon.c',
'ply-label.c',
'ply-progress-animation.c',
'ply-progress-bar.c',
'ply-throbber.c',
)
libply_splash_graphics_deps = [
libply_splash_core_dep,
lm_dep,
libpng_dep,
]
libply_splash_graphics_cflags = [
'-DPLYMOUTH_BACKGROUND_COLOR=@0@'.format(get_option('background-color')),
'-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
'-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
'-DPLYMOUTH_PLUGIN_PATH="@0@"'.format(plymouth_plugin_path),
]
libply_splash_graphics = library('ply-splash-graphics',
libply_splash_graphics_sources,
dependencies: libply_splash_graphics_deps,
c_args: libply_splash_graphics_cflags,
include_directories: config_h_inc,
version: plymouth_soversion,
install: true,
)
libply_splash_graphics_dep = declare_dependency(
link_with: libply_splash_graphics,
include_directories: include_directories('.'),
)
libply_splash_graphics_headers = files(
'ply-animation.h',
'ply-capslock-icon.h',
'ply-entry.h',
'ply-image.h',
'ply-keymap-icon.h',
'ply-keymap-metadata.h',
'ply-label-plugin.h',
'ply-label.h',
'ply-progress-animation.h',
'ply-progress-bar.h',
'ply-throbber.h',
)
install_headers(libply_splash_graphics_headers,
install_dir: get_option('includedir') / 'plymouth-1' / 'ply-splash-graphics',
)
pkgconfig.generate(libply_splash_graphics,
filebase: 'ply-splash-graphics',
name: 'Plymouth',
description: 'Graphics Utility Library for Boot Splash Plugins',
requires: [
'ply-splash-core',
],
subdirs: [
'plymouth-1/ply-splash-graphics',
],
variables: {
'pluginsdir': plymouth_plugin_path,
'themesdir': plymouth_theme_path,
},
)

52
src/libply/meson.build Normal file
View file

@ -0,0 +1,52 @@
libply_sources = files(
'ply-array.c',
'ply-bitarray.c',
'ply-buffer.c',
'ply-command-parser.c',
'ply-event-loop.c',
'ply-hashtable.c',
'ply-key-file.c',
'ply-list.c',
'ply-logger.c',
'ply-progress.c',
'ply-rectangle.c',
'ply-region.c',
'ply-terminal-session.c',
'ply-trigger.c',
'ply-utils.c',
)
libply = library('ply',
libply_sources,
include_directories: config_h_inc,
version: plymouth_soversion,
install: true,
)
libply_dep = declare_dependency(
link_with: libply,
include_directories: include_directories('.'),
)
libply_headers = files(
'ply-array.h',
'ply-bitarray.h',
'ply-buffer.h',
'ply-command-parser.h',
'ply-event-loop.h',
'ply-hashtable.h',
'ply-i18n.h',
'ply-key-file.h',
'ply-list.h',
'ply-logger.h',
'ply-progress.h',
'ply-rectangle.h',
'ply-region.h',
'ply-terminal-session.h',
'ply-trigger.h',
'ply-utils.h',
)
install_headers(libply_headers,
install_dir: get_option('includedir') / 'plymouth-1' / 'ply',
)

64
src/meson.build Normal file
View file

@ -0,0 +1,64 @@
# The library subdirectories first
subdir('libply')
subdir('libply-splash-core')
subdir('libply-splash-graphics')
# plymouthd
plymouthd_run_dir = plymouth_runtime_dir
plymouthd_spool_dir = '/var/spool/plymouth'
plymouthd_time_dir = plymouth_time_dir
plymouthd_sources = files(
'main.c',
'plugins/splash/details/plugin.c',
'ply-boot-protocol.h',
'ply-boot-server.c',
'ply-boot-server.h',
)
plymouthd_deps = [
libply_dep,
libply_splash_core_dep,
]
plymouthd_cflags = [
'-DPLYMOUTH_LOCALE_DIRECTORY="@0@"'.format(get_option('localedir')),
'-DPLYMOUTH_DRM_ESCROW_DIRECTORY="@0@"'.format(get_option('libexecdir') / 'plymouth'),
'-DPLYMOUTH_LOG_DIRECTORY="@0@"'.format('/var/log'),
'-DPLYMOUTH_SPOOL_DIRECTORY="@0@"'.format(plymouthd_spool_dir),
]
plymouthd = executable('plymouthd',
plymouthd_sources,
dependencies: plymouthd_deps,
c_args: plymouthd_cflags,
include_directories: config_h_inc,
install: true,
install_dir: get_option('sbindir'),
)
plymouthd_fd_escrow = executable('plymouthd-fd-escrow',
'plymouthd-fd-escrow.c',
install: true,
install_dir: get_option('libexecdir') / 'plymouth',
)
install_data('plymouthd.defaults',
install_dir: plymouth_policy_dir,
)
install_data('plymouthd.conf',
install_dir: plymouth_conf_dir,
)
install_emptydir(plymouthd_run_dir)
install_emptydir(plymouthd_spool_dir)
install_emptydir(plymouthd_time_dir)
# These subdirectories last
subdir('plugins')
subdir('client')
if get_option('upstart-monitoring')
subdir('upstart-bridge')
endif

View file

@ -0,0 +1,13 @@
label_plugin = shared_module('label-freetype',
'plugin.c',
dependencies: [
libfreetype_dep,
libply_dep,
libply_splash_core_dep,
libply_splash_graphics_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,13 @@
label_plugin = shared_module('label-pango',
'plugin.c',
dependencies: [
libpango_dep,
libply_dep,
libply_splash_core_dep,
libply_splash_graphics_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,7 @@
if libpango_dep.found()
subdir('label-pango')
endif
if libfreetype_dep.found()
subdir('label-freetype')
endif

3
src/plugins/meson.build Normal file
View file

@ -0,0 +1,3 @@
subdir('controls')
subdir('splash')
subdir('renderers')

View file

@ -0,0 +1,12 @@
drm_plugin = shared_module('drm',
'plugin.c',
dependencies: [
libply_dep,
libply_splash_core_dep,
libdrm_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path / 'renderers',
)

View file

@ -0,0 +1,11 @@
frame_buffer_plugin = shared_module('frame-buffer',
'plugin.c',
dependencies: [
libply_dep,
libply_splash_core_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path / 'renderers',
)

View file

@ -0,0 +1,9 @@
subdir('frame-buffer')
if libdrm_dep.found()
subdir('drm')
endif
if gtk3_dep.found()
subdir('x11')
endif

View file

@ -0,0 +1,12 @@
x11_plugin = shared_module('x11',
'plugin.c',
dependencies: [
libply_dep,
libply_splash_core_dep,
gtk3_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path / 'renderers',
)

View file

@ -0,0 +1,11 @@
details_plugin = shared_module('details',
'plugin.c',
dependencies: [
libply_splash_core_dep,
libply_splash_graphics_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,17 @@
fade_throbber_plugin = shared_module('fade-throbber',
'plugin.c',
dependencies: [
libply_splash_core_dep,
libply_splash_graphics_dep,
],
c_args: [
'-DPLYMOUTH_LOGO_FILE="@0@"'.format(plymouth_logo_file),
'-DPLYMOUTH_BACKGROUND_COLOR=@0@'.format(get_option('background-color')),
'-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
'-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,7 @@
subdir('fade-throbber')
subdir('text')
subdir('details')
subdir('space-flares')
subdir('two-step')
subdir('script')
subdir('tribar')

View file

@ -0,0 +1,24 @@
#!/usr/bin/env python3
import os
import pathlib
import sys
if len(sys.argv) != 2:
print('Expected 1 argument, but got {}'.format(len(sys.argv) - 1))
sys.exit(1)
input_path = pathlib.Path(sys.argv[1])
variable_name = input_path.stem.replace('-', '_')
print('static const char *{} ='.format(variable_name))
for line in input_path.read_text().splitlines():
# escape backlashes
line = line.replace('\\', '\\\\')
# escape internal quotes
line = line.replace('"', '\\"')
# print with quotes (so it becomes a C literal string)
print(' "' + line + '\\n"')
print(';')

View file

@ -0,0 +1,56 @@
script_inputs = [
'image',
'math',
'plymouth',
'sprite',
'string',
]
generate_script_string_header_py = find_program('generate_script_string_header.py')
script_headers = []
foreach s : script_inputs
s_input_file = 'script-lib-@0@.script'.format(s)
s_header = custom_target(
input: s_input_file,
output: s_input_file + '.h',
command: [
generate_script_string_header_py,
'@INPUT@',
],
capture: true,
)
script_headers += s_header
endforeach
script_plugin_src = files(
'plugin.c',
'script-debug.c',
'script-execute.c',
'script-lib-image.c',
'script-lib-math.c',
'script-lib-plymouth.c',
'script-lib-sprite.c',
'script-lib-string.c',
'script-object.c',
'script-parse.c',
'script-scan.c',
'script.c',
)
script_plugin = shared_module('script',
[ 'plugin.c', script_headers ],
dependencies: [
libply_splash_core_dep,
libply_splash_graphics_dep,
],
c_args: [
'-DPLYMOUTH_LOGO_FILE="@0@"'.format(plymouth_logo_file),
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,14 @@
space_flares_plugin = shared_module('space-flares',
'plugin.c',
dependencies: [
libply_splash_core_dep,
libply_splash_graphics_dep,
],
c_args: [
'-DPLYMOUTH_LOGO_FILE="@0@"'.format(plymouth_logo_file),
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,11 @@
text_plugin = shared_module('text',
'plugin.c',
dependencies: [
libply_splash_core_dep,
libply_splash_graphics_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,10 @@
tribar_plugin = shared_module('tribar',
'plugin.c',
dependencies: [
libply_splash_core_dep,
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,15 @@
two_step_plugin = shared_module('two-step',
'plugin.c',
dependencies: [
libply_splash_core_dep,
libply_splash_graphics_dep,
],
c_args: [
'-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
'-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
],
include_directories: config_h_inc,
name_prefix: '',
install: true,
install_dir: plymouth_plugin_path,
)

View file

@ -0,0 +1,18 @@
plymouth_upstart_bridge_src = files(
'ply-upstart-monitor.c',
'plymouth-upstart-bridge.c',
)
plymouth_upstart_bridge_deps = [
libply_dep,
libply_boot_client_dep,
dbus_dep,
curses_dep,
]
plymouth_upstart_bridge = executable('plymouth-upstart-bridge',
plymouth_upstart_bridge_src,
dependencies: plymouth_upstart_bridge_deps,
include_directories: config_h_inc,
install: true,
)

70
systemd-units/meson.build Normal file
View file

@ -0,0 +1,70 @@
systemd_unit_templates = [
'plymouth-switch-root.service.in',
'plymouth-switch-root-initramfs.service.in',
'plymouth-start.service.in',
'plymouth-read-write.service.in',
'plymouth-quit.service.in',
'plymouth-quit-wait.service.in',
'plymouth-reboot.service.in',
'plymouth-kexec.service.in',
'plymouth-poweroff.service.in',
'plymouth-halt.service.in',
'systemd-ask-password-plymouth.path.in',
'systemd-ask-password-plymouth.service.in',
]
foreach unit_templ : systemd_unit_templates
configure_file(
input: unit_templ,
output: '@BASENAME@',
configuration: {
'PLYMOUTH_CLIENT_DIR': get_option('prefix') / get_option('bindir'),
'PLYMOUTH_DAEMON_DIR': get_option('prefix') / get_option('sbindir'),
'plymouthruntimedir': plymouth_runtime_dir,
'SYSTEMD_ASK_PASSWORD_AGENT': systemd_ask_password_agent.full_path(),
},
install: true,
install_dir: systemd_unit_dir,
)
endforeach
systemd_target_links = [
{
'target': 'initrd-switch-root.target.wants',
'services': [ 'plymouth-start', 'plymouth-switch-root' ],
},
{
'target': 'sysinit.target.wants',
'services': [ 'plymouth-start', 'plymouth-read-write' ],
},
{
'target': 'multi-user.target.wants',
'services': [ 'plymouth-quit', 'plymouth-quit-wait' ],
},
{
'target': 'reboot.target.wants',
'services': [ 'plymouth-reboot', 'plymouth-switch-root-initramfs' ],
},
{
'target': 'kexec.target.wants',
'services': [ 'plymouth-kexec', 'plymouth-switch-root-initramfs' ],
},
{
'target': 'poweroff.target.wants',
'services': [ 'plymouth-poweroff', 'plymouth-switch-root-initramfs' ],
},
{
'target': 'halt.target.wants',
'services': [ 'plymouth-halt', 'plymouth-switch-root-initramfs' ],
},
]
foreach entry : systemd_target_links
foreach service : entry['services']
install_symlink(
service + '.service',
install_dir: systemd_unit_dir / entry['target'],
pointing_to: '..' / service + '.service',
)
endforeach
endforeach

14
themes/bgrt/meson.build Normal file
View file

@ -0,0 +1,14 @@
bgrt_plymouth = i18n.merge_file(
input: configure_file(
input: 'bgrt.plymouth.desktop',
output: 'bgrt.plymouth.desktop',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
),
output: 'bgrt.plymouth',
type: 'desktop',
po_dir: po_dir,
install: true,
install_dir: plymouth_theme_path / 'bgrt',
)

View file

@ -0,0 +1,4 @@
install_data(
'details.plymouth',
install_dir: plymouth_theme_path / 'details',
)

View file

@ -0,0 +1,17 @@
fade_in_plymouth = configure_file(
input: 'fade-in.plymouth.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
install: true,
install_dir: plymouth_theme_path / 'fade-in',
)
install_data(
'star.png',
'bullet.png',
'entry.png',
'lock.png',
install_dir: plymouth_theme_path / 'fade-in',
)

70
themes/glow/meson.build Normal file
View file

@ -0,0 +1,70 @@
glow_plymouth = configure_file(
input: 'glow.plymouth.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
install: true,
install_dir: plymouth_theme_path / 'glow',
)
install_data(
'box.png',
'bullet.png',
'entry.png',
'lock.png',
'progress-00.png',
'progress-01.png',
'progress-02.png',
'progress-03.png',
'progress-04.png',
'progress-05.png',
'progress-06.png',
'progress-07.png',
'progress-08.png',
'progress-09.png',
'progress-10.png',
'progress-11.png',
'progress-12.png',
'progress-13.png',
'progress-14.png',
'progress-15.png',
'progress-16.png',
'progress-17.png',
'progress-18.png',
'progress-19.png',
'progress-20.png',
'progress-21.png',
'progress-22.png',
'progress-23.png',
'progress-24.png',
'progress-25.png',
'progress-26.png',
'progress-27.png',
'progress-28.png',
'progress-29.png',
'progress-30.png',
'progress-31.png',
'progress-32.png',
'throbber-00.png',
'throbber-01.png',
'throbber-02.png',
'throbber-03.png',
'throbber-04.png',
'throbber-05.png',
'throbber-06.png',
'throbber-07.png',
'throbber-08.png',
'throbber-09.png',
'throbber-10.png',
'throbber-11.png',
'throbber-12.png',
'throbber-13.png',
'throbber-14.png',
'throbber-15.png',
'throbber-16.png',
'throbber-17.png',
'throbber-18.png',
'throbber-19.png',
install_dir: plymouth_theme_path / 'glow',
)

10
themes/meson.build Normal file
View file

@ -0,0 +1,10 @@
subdir('spinfinity')
subdir('fade-in')
subdir('text')
subdir('details')
subdir('solar')
subdir('glow')
subdir('script')
subdir('spinner')
subdir('tribar')
subdir('bgrt')

20
themes/script/meson.build Normal file
View file

@ -0,0 +1,20 @@
script_plymouth = configure_file(
input: 'script.plymouth.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
install: true,
install_dir: plymouth_theme_path / 'script',
)
install_data(
'script.script',
'box.png',
'bullet.png',
'entry.png',
'lock.png',
'progress_box.png',
'progress_bar.png',
install_dir: plymouth_theme_path / 'script',
)

19
themes/solar/meson.build Normal file
View file

@ -0,0 +1,19 @@
solar_plymouth = configure_file(
input: 'solar.plymouth.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
install: true,
install_dir: plymouth_theme_path / 'solar',
)
install_data(
'box.png',
'bullet.png',
'entry.png',
'lock.png',
'progress_bar.png',
'star.png',
install_dir: plymouth_theme_path / 'solar',
)

View file

@ -0,0 +1,60 @@
spinfinity_plymouth = configure_file(
input: 'spinfinity.plymouth.in',
output: '@BASENAME@',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
install: true,
install_dir: plymouth_theme_path / 'spinfinity',
)
install_data(
'box.png',
'bullet.png',
'entry.png',
'lock.png',
'capslock.png',
'keyboard.png',
'keymap-render.png',
'animation-0001.png',
'throbber-00.png',
'throbber-01.png',
'throbber-02.png',
'throbber-03.png',
'throbber-04.png',
'throbber-05.png',
'throbber-06.png',
'throbber-07.png',
'throbber-08.png',
'throbber-09.png',
'throbber-10.png',
'throbber-11.png',
'throbber-12.png',
'throbber-13.png',
'throbber-14.png',
'throbber-15.png',
'throbber-16.png',
'throbber-17.png',
'throbber-18.png',
'throbber-19.png',
'throbber-20.png',
'throbber-21.png',
'throbber-22.png',
'throbber-23.png',
'throbber-24.png',
'throbber-25.png',
'throbber-26.png',
'throbber-27.png',
'throbber-28.png',
'throbber-29.png',
'throbber-30.png',
'throbber-31.png',
'throbber-32.png',
'throbber-33.png',
install_dir: plymouth_theme_path / 'spinfinity',
)
install_symlink('header-image.png',
install_dir: plymouth_theme_path / 'spinfinity',
pointing_to: plymouth_logo_file,
)

View file

@ -0,0 +1,90 @@
spinner_plymouth = i18n.merge_file(
input: configure_file(
input: 'spinner.plymouth.desktop',
output: 'spinner.plymouth.desktop',
configuration: {
'PLYMOUTH_THEME_PATH': plymouth_theme_path,
},
),
output: 'spinner.plymouth',
type: 'desktop',
po_dir: po_dir,
install: true,
install_dir: plymouth_theme_path / 'spinner',
)
install_data(
'bullet.png',
'entry.png',
'lock.png',
'capslock.png',
'keyboard.png',
'keymap-render.png',
'animation-0001.png',
'animation-0002.png',
'animation-0003.png',
'animation-0004.png',
'animation-0005.png',
'animation-0006.png',
'animation-0007.png',
'animation-0008.png',
'animation-0009.png',
'animation-0010.png',
'animation-0011.png',
'animation-0012.png',
'animation-0013.png',
'animation-0014.png',
'animation-0015.png',
'animation-0016.png',
'animation-0017.png',
'animation-0018.png',
'animation-0019.png',
'animation-0020.png',
'animation-0021.png',
'animation-0022.png',
'animation-0023.png',
'animation-0024.png',
'animation-0025.png',
'animation-0026.png',
'animation-0027.png',
'animation-0028.png',
'animation-0029.png',
'animation-0030.png',
'animation-0031.png',
'animation-0032.png',
'animation-0033.png',
'animation-0034.png',
'animation-0035.png',
'animation-0036.png',
'throbber-0001.png',
'throbber-0002.png',
'throbber-0003.png',
'throbber-0004.png',
'throbber-0005.png',
'throbber-0006.png',
'throbber-0007.png',
'throbber-0008.png',
'throbber-0009.png',
'throbber-0010.png',
'throbber-0011.png',
'throbber-0012.png',
'throbber-0013.png',
'throbber-0014.png',
'throbber-0015.png',
'throbber-0016.png',
'throbber-0017.png',
'throbber-0018.png',
'throbber-0019.png',
'throbber-0020.png',
'throbber-0021.png',
'throbber-0022.png',
'throbber-0023.png',
'throbber-0024.png',
'throbber-0025.png',
'throbber-0026.png',
'throbber-0027.png',
'throbber-0028.png',
'throbber-0029.png',
'throbber-0030.png',
install_dir: plymouth_theme_path / 'spinner',
)

4
themes/text/meson.build Normal file
View file

@ -0,0 +1,4 @@
install_data(
'text.plymouth',
install_dir: plymouth_theme_path / 'text',
)

View file

@ -0,0 +1,4 @@
install_data(
'tribar.plymouth',
install_dir: plymouth_theme_path / 'tribar',
)