summaryrefslogtreecommitdiff
path: root/usbredirhost
diff options
context:
space:
mode:
authorVictor Toso <victortoso@redhat.com>2021-02-18 20:30:45 +0100
committerVictor Toso <victortoso@redhat.com>2021-03-24 20:21:42 +0100
commit3c2d222ba1fc0ca0d1c4e0efeb212671c2656e23 (patch)
treeab196787be7a98f6c1aeababdde02d113601bcea /usbredirhost
parentf8cf6d1da83c64e68616707163a00030e30563fd (diff)
build-sys: Add meson support
As an alternative to autotools. Simple time comparison between configure+build time: 11.569s ./autogen.sh && make 1.642s meson . _build && ninja -C _build Note that from cflags defined in autotools, only -fstack-protector was removed for the windows build, otherwise we get few of the following: > /usbredir/winbuild/../usbredirparser/usbredirfilter.c:274: undefined reference to `__stack_chk_fail' Signed-off-by: Victor Toso <victortoso@redhat.com>
Diffstat (limited to 'usbredirhost')
-rw-r--r--usbredirhost/meson.build44
-rw-r--r--usbredirhost/usbredirhost.map17
2 files changed, 61 insertions, 0 deletions
diff --git a/usbredirhost/meson.build b/usbredirhost/meson.build
new file mode 100644
index 0000000..22eb458
--- /dev/null
+++ b/usbredirhost/meson.build
@@ -0,0 +1,44 @@
+# so verison, see:
+# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+usbredir_host_current = 1
+usbredir_host_revision = 1
+usbredir_host_age = 0
+usbredir_host_so_version = '@0@.@1@.@2@'.format(
+ usbredir_host_current - usbredir_host_age,
+ usbredir_host_age,
+ usbredir_host_revision)
+
+summary_info += {'libusbredirhost.so version': usbredir_host_so_version}
+
+usbredir_host_sources = [
+ 'usbredirhost.c',
+ 'usbredirhost.h',
+]
+
+usbredir_host_map_file = meson.current_source_dir() / 'usbredirhost.map'
+usbredir_host_link_args = [
+ '-Wl,--version-script=@0@'.format(usbredir_host_map_file),
+ '-Wl,--no-undefined',
+]
+
+libusb = dependency('libusb-1.0', version: '>= 1.0.9')
+
+usbredir_host_lib = library('usbredirhost',
+ usbredir_host_sources,
+ version : usbredir_host_so_version,
+ install : true,
+ include_directories: usbredir_include_root_dir,
+ link_args : [usbredir_host_link_args],
+ link_depends : usbredir_host_map_file,
+ dependencies : [libusb, usbredir_parser_lib_dep])
+
+usbredir_host_lib_dep = declare_dependency(
+ link_with: usbredir_host_lib,
+ include_directories: usbredir_include_root_dir,
+ dependencies: [libusb, usbredir_parser_lib_dep])
+
+headers = [
+ 'usbredirhost.h',
+]
+
+install_headers(headers)
diff --git a/usbredirhost/usbredirhost.map b/usbredirhost/usbredirhost.map
new file mode 100644
index 0000000..5accb23
--- /dev/null
+++ b/usbredirhost/usbredirhost.map
@@ -0,0 +1,17 @@
+USBREDIRHOST_0.8.0 {
+global:
+ usbredirhost_check_device_filter;
+ usbredirhost_close;
+ usbredirhost_free_write_buffer;
+ usbredirhost_get_guest_filter;
+ usbredirhost_has_data_to_write;
+ usbredirhost_open;
+ usbredirhost_open_full;
+ usbredirhost_read_guest_data;
+ usbredirhost_set_buffered_output_size_cb;
+ usbredirhost_set_device;
+ usbredirhost_write_guest_data;
+local:
+*;
+};
+# .... define new API here using predicted next version number ....