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 110 111 112 113
|
# Copyright (c) 2022-2025, 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',
'crypt-sha.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-encrypt-md5',
'pgp-pubkey-decrypt',
'pgp-pubkey-encrypt',
'pgp-info',
'crypt-shacrypt'
]
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--1.3--1.4.sql',
'pgcrypto.control',
kwargs: contrib_data_args,
)
tests += {
'name': 'pgcrypto',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
pgcrypto_regress,
],
},
}
|