summaryrefslogtreecommitdiff
path: root/src/meson.build
diff options
context:
space:
mode:
authorJannis Hoffmann <jannis@fehcom.de>2024-07-14 22:30:34 +0200
committerJannis Hoffmann <jannis@fehcom.de>2024-07-14 22:30:34 +0200
commit5e84d7b76ce1cccdaf0900d62a94d0d1d88cdd62 (patch)
tree61500c277101ec46af8fed732dfe1c17b941b42c /src/meson.build
parent1087d4df2a7342d2832ba3bab1843bf4a3040775 (diff)
convert to the meson build system
This removes a lot of files. Remove all conf-* files. The settings move to meson.options. Add editor config. Remove the auto_*.h files. They move to config.h.in.
Diffstat (limited to 'src/meson.build')
-rw-r--r--src/meson.build106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..8e3b7ad
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,106 @@
+ssl_srcs = files(
+ 'ssl_ca.c',
+ 'ssl_cca.c',
+ 'ssl_certkey.c',
+ 'ssl_chainfile.c',
+ 'ssl_ciphers.c',
+ 'ssl_context.c',
+ 'ssl_env.c',
+ 'ssl_error.c',
+ 'ssl_io.c',
+ 'ssl_new.c',
+ 'ssl_params.c',
+ 'ssl_timeout.c',
+ 'ssl_verify.c',
+)
+
+ucspissl_lib = library(
+ 'ucspissl',
+ 'ucspissl.c',
+ ssl_srcs,
+ dependencies : [qlibs_dep, ssl_dep, crypto_dep],
+)
+
+install_headers('ucspissl.h')
+
+if get_option('lib-only')
+ subdir_done()
+endif
+
+fs = import('fs')
+
+ucspi_ssl_conf = configuration_data()
+ucspi_ssl_conf.set('auto_cadir', get_option('cadir'))
+ucspi_ssl_conf.set('auto_cafile', get_option('cafile'))
+ucspi_ssl_conf.set(
+ 'auto_dhfile',
+ get_option('prefix') / get_option('datadir') / meson.project_name() / fs.name(get_option('dhfile')),
+)
+ucspi_ssl_conf.set('auto_ccafile', get_option('ccafile'))
+ucspi_ssl_conf.set('auto_ciphers', get_option('ciphers'))
+ucspi_ssl_conf.set('auto_keyfile', get_option('keyfile'))
+ucspi_ssl_conf.set('auto_certfile', get_option('certfile'))
+ucspi_ssl_conf.set('auto_certchainfile', get_option('certchainfile'))
+
+configure_file(
+ configuration : ucspi_ssl_conf,
+ input : 'config.h.in',
+ output : 'ucspissl-config.h',
+ install_dir : get_option('includedir'),
+ install_tag : 'devel',
+)
+
+deps = [qlibs_dep, dnsresolv_dep, ssl_dep, crypto_dep]
+
+executable(
+ 'sslclient',
+ 'sslclient.c',
+ 'remoteinfo.c',
+ link_with : ucspissl_lib,
+ dependencies : deps,
+ install : true,
+)
+
+common_srcs = files('ip4_bit.c', 'ip6_bit.c', 'remoteinfo.c', 'rules.c')
+
+executable(
+ 'sslhandle',
+ 'sslhandle.c',
+ 'coe.c',
+ 'sslprint.c',
+ common_srcs,
+ link_with : ucspissl_lib,
+ dependencies : deps,
+ install : true,
+)
+
+executable(
+ 'sslperl',
+ 'sslperl.c',
+ 'coe.c',
+ 'sslhandle.c',
+ common_srcs,
+ link_with : ucspissl_lib,
+ dependencies : [deps, perl_dep],
+ install : true,
+)
+
+executable(
+ 'sslprint',
+ 'sslprint.c',
+ 'coe.c',
+ 'sslhandle.c',
+ common_srcs,
+ link_with : ucspissl_lib,
+ dependencies : deps,
+ install : true,
+)
+
+executable(
+ 'sslserver',
+ 'sslserver.c',
+ common_srcs,
+ link_with : ucspissl_lib,
+ dependencies : deps,
+ install : true,
+)