summaryrefslogtreecommitdiffstats
path: root/libuuid/meson.build
blob: b67b3d5e7225029c9dda01556c38e9584ddf5388 (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
dir_libuuid = include_directories('src')

lib_uuid_sources = '''
  src/uuidP.h
  src/clear.c
  src/compare.c
  src/copy.c
  src/gen_uuid.c
  src/isnull.c
  src/pack.c
  src/parse.c
  src/uuidd.h
  src/uuid_time.c
'''.split()

predefined_c = files('src/predefined.c')
unpack_c = files('src/unpack.c')
unparse_c = files('src/unparse.c')

libuuid_sym = 'src/libuuid.sym'
libuuid_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libuuid_sym)

libuuid_link_depends = []
libuuid_link_args = []

if cc.has_link_argument('-Wl,--version-script=@0@'.format(libuuid_sym_path))
	libuuid_link_depends += [libuuid_sym]
	libuuid_link_args += ['-Wl,--version-script=@0@'.format(libuuid_sym_path)]
endif

lib_uuid = both_libraries(
  'uuid',
  list_h,
  lib_uuid_sources,
  predefined_c,
  unpack_c,
  unparse_c,
  randutils_c,
  md5_c,
  sha1_c,
  include_directories : [dir_include, dir_libuuid],
  link_depends : libuuid_link_depends,
  version : libuuid_version,
  link_args : libuuid_link_args,
  dependencies : [socket_libs,
                  build_libuuid ? [] : disabler()],
  install : build_libuuid)
uuid_dep = declare_dependency(link_with: lib_uuid, include_directories: dir_libuuid)

if build_libuuid
  pkgconfig.generate(lib_uuid,
                     description : 'Universally unique id library',
                     subdirs : 'uuid',
                     version : pc_version)
  install_headers('src/uuid.h', subdir : 'uuid')
  if meson.version().version_compare('>=0.54.0')
    meson.override_dependency('uuid', uuid_dep)
  endif
endif