87 lines
2.6 KiB
Meson
87 lines
2.6 KiB
Meson
project('libmegapixels', 'c',
|
|
version: '0.1.0',
|
|
license: 'GPL',
|
|
)
|
|
|
|
libconfig = dependency('libconfig')
|
|
|
|
# We use libtool-version numbers because it's easier to understand.
|
|
# Before making a release, the libmegapixels_so_*
|
|
# numbers should be modified. The components are of the form C:R:A.
|
|
# a) If binary compatibility has been broken (eg removed or changed interfaces)
|
|
# change to C+1:0:0.
|
|
# b) If interfaces have been changed or added, but binary compatibility has
|
|
# been preserved, change to C+1:0:A+1
|
|
# c) If the interface is the same as the previous version, change to C:R+1:A
|
|
libmegapixels_lt_c=1
|
|
libmegapixels_lt_r=0
|
|
libmegapixels_lt_a=0
|
|
|
|
libmegapixels_so_version = '@0@.@1@.@2@'.format((libmegapixels_lt_c - libmegapixels_lt_a),
|
|
libmegapixels_lt_a,
|
|
libmegapixels_lt_r)
|
|
|
|
inc = include_directories('include')
|
|
install_headers('include/libmegapixels.h')
|
|
|
|
lib_src = [
|
|
'src/findconfig.c',
|
|
'src/log.c',
|
|
'src/mode.c',
|
|
'src/util.c',
|
|
'src/parse.c',
|
|
'src/pipeline.c',
|
|
'src/aaa.c',
|
|
]
|
|
libmegapixels = shared_library('megapixels', lib_src,
|
|
version: libmegapixels_so_version,
|
|
include_directories: inc,
|
|
dependencies: libconfig,
|
|
install: true
|
|
)
|
|
|
|
pkg_mod = import('pkgconfig')
|
|
pkg_mod.generate(libraries: libmegapixels,
|
|
version: libmegapixels_so_version,
|
|
name: 'libmegapixels',
|
|
filebase: 'libmegapixels',
|
|
description: 'The camera control bits from Megapixels')
|
|
|
|
conf = configuration_data()
|
|
conf.set_quoted('DATADIR', join_paths(get_option('prefix'), get_option('datadir')))
|
|
conf.set_quoted('SYSCONFDIR', get_option('sysconfdir'))
|
|
configure_file(
|
|
output: 'config.h',
|
|
configuration: conf)
|
|
|
|
executable('megapixels-findconfig', 'util/findconfig.c',
|
|
link_with: libmegapixels,
|
|
include_directories: inc,
|
|
install: true,
|
|
)
|
|
executable('megapixels-getframe', 'util/getframe.c',
|
|
link_with: libmegapixels,
|
|
include_directories: inc,
|
|
install: true,
|
|
)
|
|
|
|
cc = meson.get_compiler('c')
|
|
m_dep = cc.find_library('m', required : false)
|
|
executable('megapixels-sensorprofile', 'util/sensorprofile.c',
|
|
link_with: libmegapixels,
|
|
include_directories: inc,
|
|
install: true,
|
|
dependencies: m_dep
|
|
)
|
|
|
|
|
|
install_data(
|
|
[
|
|
'config/pine64,pinephone.conf',
|
|
'config/pine64,pinephone-pro.conf',
|
|
'config/pine64,pinetab.conf',
|
|
'config/purism,librem5.conf',
|
|
'config/xiaomi,scorpio.conf',
|
|
],
|
|
install_dir: get_option('datadir') / 'megapixels/config/'
|
|
) |