diff options
author | Victor Toso <victortoso@redhat.com> | 2021-02-18 20:30:45 +0100 |
---|---|---|
committer | Victor Toso <victortoso@redhat.com> | 2021-03-24 20:21:42 +0100 |
commit | 3c2d222ba1fc0ca0d1c4e0efeb212671c2656e23 (patch) | |
tree | ab196787be7a98f6c1aeababdde02d113601bcea /usbredirhost | |
parent | f8cf6d1da83c64e68616707163a00030e30563fd (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.build | 44 | ||||
-rw-r--r-- | usbredirhost/usbredirhost.map | 17 |
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 .... |