1headers = files(
2  'gepub-archive.h',
3  'gepub-doc.h',
4  'gepub-text-chunk.h',
5  'gepub-widget.h',
6  'gepub.h'
7)
8
9install_headers(
10  headers,
11  subdir: gepub_lib_name
12)
13
14private_headers = files('gepub-utils.h')
15
16sources = files(
17  'gepub-archive.c',
18  'gepub-doc.c',
19  'gepub-text-chunk.c',
20  'gepub-utils.c',
21  'gepub-widget.c'
22)
23
24symbol_map = join_paths(meson.current_source_dir(), 'gepub.map')
25
26test_ldflag = '-Wl,--version-script,' + symbol_map
27ldflags = []
28
29if cc.has_argument(test_ldflag)
30  ldflags += test_ldflag
31endif
32
33libgepub = library(
34  'gepub-'+gepub_api_version,
35  sources: sources,
36  version: libversion,
37  soversion: soversion,
38  include_directories: top_inc,
39  dependencies: gepub_deps,
40  link_args: ldflags,
41  link_depends: symbol_map,
42  install: true,
43  install_dir: gepub_libdir
44)
45
46libgepub_dep = declare_dependency(
47  link_with: libgepub,
48  include_directories: include_directories('.'),
49  dependencies: gepub_deps
50)
51
52pkg.generate(
53  libraries: libgepub,
54  version: gepub_version,
55  name: gepub_lib_name,
56  description: 'epub Documents library',
57  filebase: gepub_lib_name,
58  subdirs: gepub_lib_name,
59  requires: 'gio-2.0',
60  requires_private: [
61    'libxml-2.0',
62    'libarchive'
63  ],
64  variables: 'exec_prefix=' + gepub_libexecdir,
65  install_dir: join_paths(get_option('libdir'), 'pkgconfig')
66)
67
68if get_option('introspection') and get_option('default_library') == 'shared'
69  gir_incs = [
70    'GObject-2.0',
71    'libxml2-2.0',
72    'WebKit2-4.0'
73  ]
74
75  gir_extra_args = '--warn-all'
76
77  gir_dir = join_paths(gepub_datadir, '@0@-@1@'.format('gir', gepub_gir_version))
78  typelib_dir = join_paths(gepub_libdir, '@0@-@1@'.format('girepository', gepub_gir_version))
79
80  libgepub_gir = gnome.generate_gir(
81    libgepub,
82    header: 'gepub.h',
83    sources: sources + headers + private_headers,
84    namespace: gepub_gir_ns,
85    nsversion: gepub_api_version,
86    includes: gir_incs,
87    extra_args: gir_extra_args,
88    install: true,
89    install_dir_gir: gir_dir,
90    install_dir_typelib: typelib_dir
91  )
92endif
93