fwupd/libdfu/meson.build
Richard Hughes 57746cb839 Add the Meson build system as an alternate to autotools
Automake and autoconf are impossible to fully understand and Meson now provides
everything we need for a much smaller, faster, and more understandable build.

See http://mesonbuild.com/ for more information.
2017-04-12 16:35:18 +01:00

144 lines
2.6 KiB
Meson

cargs = [
'-DG_LOG_DOMAIN="Dfu"',
]
install_headers('dfu.h')
install_headers([
'dfu-common.h',
'dfu-context.h',
'dfu-device.h',
'dfu-element.h',
'dfu-error.h',
'dfu-firmware.h',
'dfu-image.h',
'dfu-sector.h',
'dfu-target.h',
],
subdir : 'libdfu'
)
configure_file(
input : 'dfu.pc.in',
output : 'dfu.pc',
install: true,
install_dir: join_paths(get_option('libdir'), 'pkgconfig'),
configuration : conf
)
deps = [
appstream_glib,
giounix,
libm,
gusb,
]
if get_option('enable-libelf')
deps += libelf
endif
mapfile = 'dfu.map'
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
dfu = shared_library(
'dfu',
sources : [
'dfu-cipher-devo.c',
'dfu-cipher-xtea.c',
'dfu-common.c',
'dfu-context.c',
'dfu-device.c',
'dfu-element.c',
'dfu-error.c',
'dfu-firmware.c',
'dfu-format-dfu.c',
'dfu-format-dfuse.c',
'dfu-format-elf.c',
'dfu-format-ihex.c',
'dfu-format-metadata.c',
'dfu-format-raw.c',
'dfu-image.c',
'dfu-sector.c',
'dfu-target.c',
],
soversion : lt_current,
version : lt_version,
dependencies : deps,
c_args : cargs,
include_directories : include_directories('..'),
link_args : vflag,
link_depends : mapfile,
install : true
)
executable(
'dfu-tool',
sources : [
'dfu-progress-bar.c',
'dfu-tool.c',
],
include_directories : [
include_directories('..'),
],
dependencies : deps,
link_with : dfu,
c_args : cargs,
install : true,
install_dir : 'bin'
)
gnome.generate_gir(dfu,
sources : [
'dfu-common.c',
'dfu-common.h',
'dfu-context.c',
'dfu-context.h',
'dfu-device.c',
'dfu-device.h',
'dfu-element.c',
'dfu-element.h',
'dfu-error.c',
'dfu-error.h',
'dfu-firmware.c',
'dfu-firmware.h',
'dfu-image.c',
'dfu-image.h',
'dfu-sector.c',
'dfu-sector.h',
'dfu-target.c',
'dfu-target.h',
],
nsversion : '1.0',
namespace : 'Dfu',
symbol_prefix : 'dfu',
identifier_prefix : 'Dfu',
export_packages : 'dfu',
dependencies : deps,
includes : [
'AppStreamGlib-1.0',
'Gio-2.0',
'GObject-2.0',
'GUsb-1.0',
],
install : true
)
testdatadir = join_paths(meson.current_source_dir(), 'tests')
cargs += '-DTESTDATADIR="' + testdatadir + '"'
e = executable(
'dfu-self-test',
sources : [
'dfu-self-test.c'
],
include_directories : [
include_directories('..'),
],
dependencies : [
appstream_glib,
gio,
gusb,
libm,
],
link_with : dfu,
c_args : cargs
)
test('dfu-self-test', e)