summaryrefslogtreecommitdiffstats
path: root/libfdisk/meson.build
blob: 57dda5cfa9906f3022f89a65cf53d911390af7ab (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
dir_libfdisk = include_directories('.', 'src')

defs = configuration_data()
defs.set('LIBFDISK_VERSION', pc_version)
defs.set('LIBFDISK_MAJOR_VERSION', pc_version.split('.')[0])
defs.set('LIBFDISK_MINOR_VERSION', pc_version.split('.')[1])
defs.set('LIBFDISK_PATCH_VERSION', pc_version.split('.')[2])

configure_file(
  input : 'src/libfdisk.h.in',
  output : 'libfdisk.h',
  configuration : defs,
  install : build_libfdisk,
  install_dir : join_paths(get_option('includedir'), 'libfdisk'),
)

lib_fdisk_sources = '''
  src/fdiskP.h
  src/init.c
  src/field.c
  src/item.c
  src/test.c
  src/ask.c
  src/alignment.c
  src/label.c
  src/utils.c
  src/context.c
  src/parttype.c
  src/partition.c
  src/table.c
  src/iter.c
  src/script.c
  src/version.c
  src/wipe.c

  src/sun.c
  src/sgi.c
  src/dos.c
  src/bsd.c
  src/gpt.c
'''.split() + [
  list_h,
]

libfdisk_sym = 'src/libfdisk.sym'
libfdisk_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libfdisk_sym)

lib_fdisk_includes = [dir_include,
                      dir_libblkid,
                      dir_libfdisk,
                      dir_libuuid] # XXX: should this be declared along with the lib?

lib__fdisk = static_library(
  '_fdisk',
  lib_fdisk_sources,
  include_directories : lib_fdisk_includes,
  dependencies : build_libfdisk ? [] : disabler())

lib_fdisk_static = static_library(
  'fdisk_static',
  link_whole : lib__fdisk,
  link_with : [lib_common,
               lib_uuid.get_static_lib()],
  dependencies : [blkid_static_dep],
  install : false)

lib_fdisk = library(
  'fdisk',
  link_whole : lib__fdisk,
  link_depends : libfdisk_sym,
  version : libfdisk_version,
  link_args : ['-Wl,--version-script=@0@'.format(libfdisk_sym_path)],
  link_with : [lib_common,
               lib_uuid],
  dependencies : [blkid_dep],
  install : build_libfdisk)
fdisk_dep = declare_dependency(link_with: lib_fdisk, include_directories: '.')

if build_libfdisk
  pkgconfig.generate(lib_fdisk,
                     description : 'fdisk library',
                     subdirs : 'libfdisk',
                     version : pc_version)
  if meson.version().version_compare('>=0.54.0')
    meson.override_dependency('fdisk', fdisk_dep)
  endif
endif