summaryrefslogtreecommitdiffstats
path: root/contrib/pgcrypto/meson.build
blob: df7dd50dbc3c3f09c94556119d231e593a559c7f (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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Copyright (c) 2022-2023, PostgreSQL Global Development Group

if not ssl.found()
  subdir_done()
endif

pgcrypto_sources = files(
  'crypt-blowfish.c',
  'crypt-des.c',
  'crypt-gensalt.c',
  'crypt-md5.c',
  'mbuf.c',
  'pgcrypto.c',
  'pgp-armor.c',
  'pgp-cfb.c',
  'pgp-compress.c',
  'pgp-decrypt.c',
  'pgp-encrypt.c',
  'pgp-info.c',
  'pgp-mpi.c',
  'pgp-pgsql.c',
  'pgp-pubdec.c',
  'pgp-pubenc.c',
  'pgp-pubkey.c',
  'pgp-s2k.c',
  'pgp.c',
  'px-crypt.c',
  'px-hmac.c',
  'px.c',
)

pgcrypto_regress = [
  'init',
  'md5',
  'sha1',
  'hmac-md5',
  'hmac-sha1',
  'blowfish',
  'rijndael',
  'sha2',
  'des',
  '3des',
  'cast5',
  'crypt-des',
  'crypt-md5',
  'crypt-blowfish',
  'crypt-xdes',
  'pgp-armor',
  'pgp-decrypt',
  'pgp-encrypt',
  'pgp-pubkey-decrypt',
  'pgp-pubkey-encrypt',
  'pgp-info',
]

pgcrypto_openssl_sources = files(
  'openssl.c',
  'pgp-mpi-openssl.c',
)

pgcrypto_deps = []
pgcrypto_link_with = []

pgcrypto_deps += ssl
pgcrypto_sources += pgcrypto_openssl_sources

if zlib.found()
  pgcrypto_deps += zlib
  pgcrypto_regress += 'pgp-compression'
else
  pgcrypto_regress += 'pgp-zlib-DISABLED'
endif

if host_system == 'windows'
  pgcrypto_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
    '--NAME', 'pgcrypto',
    '--FILEDESC', 'pgcrypto - cryptographic functions',])
endif

pgcrypto = shared_module('pgcrypto',
  pgcrypto_sources,
  link_with: pgcrypto_link_with,
  c_pch: pch_postgres_h,
  kwargs: contrib_mod_args + {
    'dependencies': [pgcrypto_deps, contrib_mod_args['dependencies']]
  },
)
contrib_targets += pgcrypto

install_data(
  'pgcrypto--1.0--1.1.sql',
  'pgcrypto--1.1--1.2.sql',
  'pgcrypto--1.2--1.3.sql',
  'pgcrypto--1.3.sql',
  'pgcrypto.control',
  kwargs: contrib_data_args,
)


tests += {
  'name': 'pgcrypto',
  'sd': meson.current_source_dir(),
  'bd': meson.current_build_dir(),
  'regress': {
    'sql': [
      pgcrypto_regress,
    ],
  },
}