Merge branch 'meson' into 'master'
unify build systems of buffyboard and unl0kr See merge request postmarketOS/buffybox!29
This commit is contained in:
@@ -9,8 +9,8 @@
|
|||||||
|
|
||||||
#include "lvgl/lvgl.h"
|
#include "lvgl/lvgl.h"
|
||||||
|
|
||||||
#ifndef BB_VERSION
|
#ifndef PROJECT_VERSION
|
||||||
#define BB_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
|
#define PROJECT_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* BB_BUFFYBOARD_H */
|
#endif /* BB_BUFFYBOARD_H */
|
||||||
|
@@ -154,7 +154,7 @@ void bb_cli_parse_opts(int argc, char *argv[], bb_cli_opts *opts) {
|
|||||||
opts->verbose = true;
|
opts->verbose = true;
|
||||||
break;
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
fprintf(stderr, "buffyboard %s\n", BB_VERSION);
|
fprintf(stderr, "buffyboard %s\n", PROJECT_VERSION);
|
||||||
exit(0);
|
exit(0);
|
||||||
default:
|
default:
|
||||||
print_usage();
|
print_usage();
|
||||||
|
@@ -1,68 +1,26 @@
|
|||||||
# Copyright 2021 Johannes Marbach
|
# Copyright 2021 Johannes Marbach
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
buffyboard_sources = files(
|
||||||
buffyboard_sources = [
|
'command_line.c',
|
||||||
'command_line.c',
|
'config.c',
|
||||||
'config.c',
|
'main.c',
|
||||||
'main.c',
|
'sq2lv_layouts.c',
|
||||||
'sq2lv_layouts.c',
|
'terminal.c',
|
||||||
'terminal.c',
|
'uinput_device.c'
|
||||||
'uinput_device.c',
|
|
||||||
]
|
|
||||||
|
|
||||||
shared_sources = [
|
|
||||||
'../shared/cursor/cursor.c',
|
|
||||||
'../shared/fonts/font_32.c',
|
|
||||||
'../shared/config.c',
|
|
||||||
'../shared/indev.c',
|
|
||||||
'../shared/log.c',
|
|
||||||
'../shared/theme.c',
|
|
||||||
'../shared/themes.c',
|
|
||||||
]
|
|
||||||
|
|
||||||
squeek2lvgl_sources = [
|
|
||||||
'../squeek2lvgl/sq2lv.c',
|
|
||||||
]
|
|
||||||
|
|
||||||
man_files = [
|
|
||||||
'doc/buffyboard.1',
|
|
||||||
'doc/buffyboard.conf.5',
|
|
||||||
]
|
|
||||||
|
|
||||||
lvgl_sources = run_command('../find-lvgl-sources.sh', '../lvgl', check: true).stdout().strip().split('\n')
|
|
||||||
|
|
||||||
install_data(sources: 'buffyboard.conf', install_dir : get_option('sysconfdir'))
|
|
||||||
|
|
||||||
executable(
|
|
||||||
'buffyboard',
|
|
||||||
sources: buffyboard_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
|
|
||||||
include_directories: ['..'],
|
|
||||||
dependencies: [
|
|
||||||
dependency('inih'),
|
|
||||||
dependency('libinput'),
|
|
||||||
dependency('libudev'),
|
|
||||||
meson.get_compiler('c').find_library('m', required: false),
|
|
||||||
],
|
|
||||||
install: true
|
|
||||||
)
|
)
|
||||||
|
|
||||||
scdoc = dependency('scdoc')
|
buffyboard_dependencies = [
|
||||||
scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native : true)
|
common_dependencies,
|
||||||
sh = find_program('sh', native : true)
|
meson.get_compiler('c').find_library('m', required: false)
|
||||||
foreach file : man_files
|
]
|
||||||
filename = file + '.scd'
|
|
||||||
section = file.split('.')[-1]
|
executable('buffyboard',
|
||||||
topic = file.split('.' + section)[-2].split('/')[-1]
|
include_directories: common_include_dirs,
|
||||||
output = '@0@.@1@'.format(topic, section)
|
sources: buffyboard_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
|
||||||
|
dependencies: buffyboard_dependencies,
|
||||||
|
install: true
|
||||||
|
)
|
||||||
|
|
||||||
|
install_data('buffyboard.conf', install_dir: get_option('sysconfdir'))
|
||||||
|
|
||||||
custom_target(
|
|
||||||
output,
|
|
||||||
input : filename,
|
|
||||||
output : output,
|
|
||||||
capture : true,
|
|
||||||
command : [sh, '-c', scdoc_prog.path() + ' < @INPUT@'],
|
|
||||||
install : true,
|
|
||||||
install_dir : get_option('mandir') / 'man' + section
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
|
21
man/meson.build
Normal file
21
man/meson.build
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
progscdoc = depscdoc.get_variable(pkgconfig: 'scdoc')
|
||||||
|
|
||||||
|
foreach file : [
|
||||||
|
'buffyboard.1',
|
||||||
|
'buffyboard.conf.5',
|
||||||
|
'unl0kr.1',
|
||||||
|
'unl0kr.conf.5'
|
||||||
|
]
|
||||||
|
|
||||||
|
section = file.split('.')[-1]
|
||||||
|
|
||||||
|
custom_target(file,
|
||||||
|
command: progscdoc,
|
||||||
|
feed: true,
|
||||||
|
capture: true,
|
||||||
|
input: file + '.scd',
|
||||||
|
output: file,
|
||||||
|
install: true,
|
||||||
|
install_dir: get_option('mandir') / 'man' + section
|
||||||
|
)
|
||||||
|
endforeach
|
51
meson.build
51
meson.build
@@ -1,13 +1,48 @@
|
|||||||
project(
|
project('buffybox', 'c',
|
||||||
'buffybox',
|
version: '3.2.0',
|
||||||
'c',
|
default_options: 'warning_level=3',
|
||||||
version: '3.2.0',
|
meson_version: '>= 0.59.0'
|
||||||
default_options: 'warning_level=3',
|
|
||||||
meson_version: '>=0.53.0'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_project_arguments('-DBB_VERSION="@0@"'.format(meson.project_version()), language: ['c'])
|
add_project_arguments('-DPROJECT_VERSION="@0@"'.format(meson.project_version()), language: 'c')
|
||||||
add_project_arguments('-DUL_VERSION="@0@"'.format(meson.project_version()), language: ['c'])
|
|
||||||
|
depinih = dependency('inih')
|
||||||
|
deplibinput = dependency('libinput')
|
||||||
|
deplibudev = dependency('libudev')
|
||||||
|
|
||||||
|
if get_option('man')
|
||||||
|
depscdoc = dependency('scdoc')
|
||||||
|
endif
|
||||||
|
|
||||||
|
common_include_dirs = include_directories('.')
|
||||||
|
|
||||||
|
shared_sources = files(
|
||||||
|
'shared/cursor/cursor.c',
|
||||||
|
'shared/fonts/font_32.c',
|
||||||
|
'shared/config.c',
|
||||||
|
'shared/indev.c',
|
||||||
|
'shared/log.c',
|
||||||
|
'shared/theme.c',
|
||||||
|
'shared/themes.c'
|
||||||
|
)
|
||||||
|
|
||||||
|
squeek2lvgl_sources = files(
|
||||||
|
'squeek2lvgl/sq2lv.c'
|
||||||
|
)
|
||||||
|
|
||||||
|
lvgl_sources = files(
|
||||||
|
run_command('find-lvgl-sources.sh', 'lvgl', check: true).stdout().strip().split('\n')
|
||||||
|
)
|
||||||
|
|
||||||
|
common_dependencies = [
|
||||||
|
depinih,
|
||||||
|
deplibinput,
|
||||||
|
deplibudev
|
||||||
|
]
|
||||||
|
|
||||||
subdir('unl0kr')
|
subdir('unl0kr')
|
||||||
subdir('buffyboard')
|
subdir('buffyboard')
|
||||||
|
|
||||||
|
if get_option('man')
|
||||||
|
subdir('man')
|
||||||
|
endif
|
||||||
|
@@ -1 +1,2 @@
|
|||||||
option('with-drm', type : 'feature', value : 'auto', description : 'Enable DRM backend')
|
option('with-drm', type: 'feature', value: 'auto', description: 'Enable DRM backend')
|
||||||
|
option('man', type: 'boolean', value: true, description: 'Install manual pages')
|
||||||
|
@@ -126,7 +126,7 @@ void ul_cli_parse_opts(int argc, char *argv[], ul_cli_opts *opts) {
|
|||||||
opts->verbose = true;
|
opts->verbose = true;
|
||||||
break;
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
fprintf(stderr, "unl0kr %s\n", UL_VERSION);
|
fprintf(stderr, "unl0kr %s\n", PROJECT_VERSION);
|
||||||
exit(0);
|
exit(0);
|
||||||
default:
|
default:
|
||||||
print_usage();
|
print_usage();
|
||||||
|
@@ -377,7 +377,7 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Announce ourselves */
|
/* Announce ourselves */
|
||||||
bbx_log(BBX_LOG_LEVEL_VERBOSE, "unl0kr %s", UL_VERSION);
|
bbx_log(BBX_LOG_LEVEL_VERBOSE, "unl0kr %s", PROJECT_VERSION);
|
||||||
|
|
||||||
/* Parse config files */
|
/* Parse config files */
|
||||||
ul_config_init_opts(&conf_opts);
|
ul_config_init_opts(&conf_opts);
|
||||||
|
@@ -1,76 +1,34 @@
|
|||||||
# Copyright 2021 Clayton Craft
|
# Copyright 2021 Clayton Craft
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
depxkbcommon = dependency('xkbcommon')
|
||||||
|
|
||||||
unl0kr_sources = [
|
unl0kr_sources = files(
|
||||||
'backends.c',
|
'backends.c',
|
||||||
'command_line.c',
|
'command_line.c',
|
||||||
'config.c',
|
'config.c',
|
||||||
'main.c',
|
'main.c',
|
||||||
'sq2lv_layouts.c',
|
'sq2lv_layouts.c',
|
||||||
'terminal.c',
|
'terminal.c'
|
||||||
]
|
|
||||||
|
|
||||||
shared_sources = [
|
|
||||||
'../shared/cursor/cursor.c',
|
|
||||||
'../shared/fonts/font_32.c',
|
|
||||||
'../shared/config.c',
|
|
||||||
'../shared/indev.c',
|
|
||||||
'../shared/log.c',
|
|
||||||
'../shared/theme.c',
|
|
||||||
'../shared/themes.c',
|
|
||||||
]
|
|
||||||
|
|
||||||
squeek2lvgl_sources = [
|
|
||||||
'../squeek2lvgl/sq2lv.c',
|
|
||||||
]
|
|
||||||
|
|
||||||
man_files = [
|
|
||||||
'doc/unl0kr.1',
|
|
||||||
'doc/unl0kr.conf.5',
|
|
||||||
]
|
|
||||||
|
|
||||||
unl0kr_dependencies = [
|
|
||||||
dependency('inih'),
|
|
||||||
dependency('libinput'),
|
|
||||||
dependency('libudev'),
|
|
||||||
dependency('xkbcommon'),
|
|
||||||
]
|
|
||||||
|
|
||||||
libdrm_dep = dependency('libdrm', required: get_option('with-drm'))
|
|
||||||
if libdrm_dep.found()
|
|
||||||
unl0kr_dependencies += [libdrm_dep]
|
|
||||||
add_project_arguments('-DLV_USE_LINUX_DRM=1', language: ['c'])
|
|
||||||
endif
|
|
||||||
|
|
||||||
lvgl_sources = run_command('../find-lvgl-sources.sh', '../lvgl', check: true).stdout().strip().split('\n')
|
|
||||||
|
|
||||||
install_data(sources: 'unl0kr.conf', install_dir : get_option('sysconfdir'))
|
|
||||||
|
|
||||||
executable(
|
|
||||||
'unl0kr',
|
|
||||||
sources: unl0kr_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
|
|
||||||
include_directories: ['..'],
|
|
||||||
dependencies: unl0kr_dependencies,
|
|
||||||
install: true
|
|
||||||
)
|
)
|
||||||
|
|
||||||
scdoc = dependency('scdoc')
|
unl0kr_dependencies = [
|
||||||
scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native : true)
|
common_dependencies,
|
||||||
sh = find_program('sh', native : true)
|
depxkbcommon
|
||||||
foreach file : man_files
|
]
|
||||||
filename = file + '.scd'
|
|
||||||
section = file.split('.')[-1]
|
deplibdrm = dependency('libdrm', required: get_option('with-drm'))
|
||||||
topic = file.split('.' + section)[-2].split('/')[-1]
|
if deplibdrm.found()
|
||||||
output = '@0@.@1@'.format(topic, section)
|
unl0kr_dependencies += deplibdrm
|
||||||
|
add_project_arguments('-DLV_USE_LINUX_DRM=1', language: 'c')
|
||||||
|
endif
|
||||||
|
|
||||||
|
executable('unl0kr',
|
||||||
|
include_directories: common_include_dirs,
|
||||||
|
sources: unl0kr_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
|
||||||
|
dependencies: unl0kr_dependencies,
|
||||||
|
install: true
|
||||||
|
)
|
||||||
|
|
||||||
|
install_data('unl0kr.conf', install_dir: get_option('sysconfdir'))
|
||||||
|
|
||||||
custom_target(
|
|
||||||
output,
|
|
||||||
input : filename,
|
|
||||||
output : output,
|
|
||||||
capture : true,
|
|
||||||
command : [sh, '-c', scdoc_prog.path() + ' < @INPUT@'],
|
|
||||||
install : true,
|
|
||||||
install_dir : get_option('mandir') / 'man' + section
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
|
@@ -9,8 +9,8 @@
|
|||||||
|
|
||||||
#include "lvgl/lvgl.h"
|
#include "lvgl/lvgl.h"
|
||||||
|
|
||||||
#ifndef UL_VERSION
|
#ifndef PROJECT_VERSION
|
||||||
#define UL_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
|
#define PROJECT_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user