summaryrefslogtreecommitdiff
path: root/usbredirparser/meson.build
blob: 9bda28e26fd2b5258f0ea1e28d393044b09bb00d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# so verison, see:
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
usbredir_parser_current = 1
usbredir_parser_revision = 1
usbredir_parser_age = 0
usbredir_parser_so_version = '@0@.@1@.@2@'.format(
    usbredir_parser_current - usbredir_parser_age,
    usbredir_parser_age,
    usbredir_parser_revision)

summary_info += {'libusbredirparser.so version': usbredir_parser_so_version}

usbredir_parser_sources = [
    'usbredirparser.c',
    'usbredirfilter.c',
    'usbredirproto-compat.h',
    'usbredirparser.h',
    'usbredirfilter.h',
    'usbredirproto.h',
]

if host_machine.system() == 'windows'
    usbredir_parser_sources += [
        'strtok_r.c',
        'strtok_r.h',
    ]
endif

usbredir_parser_map_file = meson.current_source_dir() / 'usbredirparser.map'
usbredir_parser_link_args = [
    '-Wl,--version-script=@0@'.format(usbredir_parser_map_file),
    '-Wl,--no-undefined',
]

usbredir_parser_lib = library('usbredirparser',
    usbredir_parser_sources,
    version : usbredir_parser_so_version,
    install : true,
    include_directories: usbredir_include_root_dir,
    link_args : [usbredir_parser_link_args],
    link_depends : usbredir_parser_map_file)

usbredir_parser_lib_dep = declare_dependency(
    link_with: usbredir_parser_lib,
    include_directories: usbredir_include_root_dir)

headers = [
   'usbredirfilter.h',
   'usbredirparser.h',
   'usbredirproto.h'
]

install_headers(headers)

# libusbredirparser.pc
pkgconfig = import('pkgconfig')
pkgconfig.generate(usbredir_parser_lib,
                   name : 'libusbredirparser-0.5',
                   description : 'usbredirparser library',
                   variables : 'exec_prefix=${prefix}')