summaryrefslogtreecommitdiff
path: root/meson.build
blob: 412622938679e64472aec2fcc9bc54bcb9022ff0 (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
project(
  'ucspi-ssl',
  'c',
  meson_version : '>=1.3.0',
  version : '0.12.10',
  default_options : ['c_std=gnu99'],
)

qlibs_dep = dependency('qlibs', version : '>=22', fallback : ['fehQlibs', 'qlibs_dep'])
ssl_dep = dependency('libssl', version : '>=1.1')
crypto_dep = dependency('libcrypto')

if not get_option('lib-only')

  dnsresolv_dep = dependency(
    'dnsresolv',
    version : '>=22',
    fallback : ['fehQlibs', 'qlibs_dnsresolv_dep'],
  )

  perl = find_program('perl', required : false)
  use_perl = get_option('sslperl').require(perl.found())

  if use_perl.allowed()

    perl_cc_runres = run_command(perl, '-MExtUtils::Embed', '-e', 'ccopts', '--', check : false)
    perl_ld_runres = run_command(perl, '-MExtUtils::Embed', '-e', 'ldopts', '--', check : false)
    perl_version = run_command(perl, '-MConfig', '-e', 'print $Config{version}', check : false)

    use_perl = use_perl.require(perl_cc_runres.returncode() == 0)
    use_perl = use_perl.require(perl_ld_runres.returncode() == 0)
    use_perl = use_perl.require(perl_version.returncode() == 0)

    if use_perl.allowed()
      perl_dep = declare_dependency(
        compile_args : perl_cc_runres.stdout().split(),
        link_args : perl_ld_runres.stdout().split(),
        version : perl_version.stdout(),
      )
    else
      perl_dep = disabler()
    endif
  else
    perl_dep = disabler()
  endif

endif

subdir('src')
if not get_option('lib-only')
  subdir('script')
endif
subdir('man')

ucspissl_dep = declare_dependency(include_directories : 'src', link_with : ucspissl_lib)

pkgc = import('pkgconfig')
pkgc.generate(ucspissl_lib)

if not get_option('lib-only')

  if get_option('dhfile') != ''
    install_data(get_option('dhfile'))
  endif

  s = {'build_sslperl' : perl_dep.found()}

  if perl_dep.found()
    s += {'perl_version' : perl_dep.version()}
  endif

  s += {
    'cadir' : get_option('cadir'),
    'cafile' : get_option('cafile'),
    'ccafile' : get_option('ccafile'),
    'certchainfile' : get_option('certchainfile'),
    'certfile' : get_option('certfile'),
    'ciphers' : get_option('ciphers'),
    'dhfile' : get_option('dhfile'),
    'keyfile' : get_option('keyfile'),
  }

  summary(s, bool_yn : true)

endif