Switched build system to meson.

This commit is contained in:
Heiko Reese
2021-08-21 22:57:01 +02:00
parent 70bdb895a5
commit 276ddf35aa
7 changed files with 67 additions and 59 deletions

4
src/config.h.in Normal file
View File

@ -0,0 +1,4 @@
#pragma once
#define LOCAL_SCAN_VERSION @local_scan_version@

View File

@ -1,3 +1,5 @@
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <strings.h>
@ -6,8 +8,10 @@
#include <sys/types.h>
#include <unistd.h>
#define LOCAL_SCAN
#define DLFUNC_IMPL
/* Exim4 dlfunc API header */
#include <local_scan.h>
#include <exim4/local_scan.h>
/*
* This is a set of workarounds for the different exim local_scan ABI versions, distribution patches and missing
@ -21,26 +25,14 @@
* 3.1 Ubuntu 20-04 (Focal)
*/
// local_scan ABI version < 3
#if LOCAL_SCAN_ABI_VERSION_MAJOR < 3
#define LOCAL_SCAN
#if LOCAL_SCAN_VERSION < 3
#define store_get_untainted(size) store_get(size)
#define store_get_tainted(size) store_get(size)
// local_scan ABI version == 3
#elif LOCAL_SCAN_ABI_VERSION_MAJOR == 3
#define DLFUNC_IMPL
#elif LOCAL_SCAN_VERSION >= 3
#define store_get_untainted(size) store_get(size, FALSE)
#define store_get_tainted(size) store_get(size, TRUE)
# define string_copy(s) string_copy_function(s)
extern uschar * string_copy_function(const uschar *);
// local_scan ABI version > 3
#else
#define DLFUNC_IMPL
#define store_get_untainted(size) store_get(size, FALSE)
#define store_get_tainted(size) store_get(size, TRUE)
#error "exim4 local version"
#endif
/*
@ -329,4 +321,4 @@ int sodium_crypto_box_seal_open(uschar **yield, int argc, uschar *argv[]) {
// return cleartext
*yield = string_copy(cleartext);
return OK;
}
}

14
src/meson.build Normal file
View File

@ -0,0 +1,14 @@
configure_file(input: 'config.h.in',
output: 'config.h',
configuration: conf_data)
executable('genkey', 'genkey.c', dependencies : [ sodium_deps ] )
shared_library('exim-encrypt-dlfunc', 'libexim-encrypt-dlfunc.c',
dependencies : [ sodium_deps ],
install: true)
simple_exim_test = find_program('simple_exim_test.sh')
test('simple test', simple_exim_test)

View File

@ -2,8 +2,10 @@
set -e
PATH=/sbin:/usr/sbin:$PATH
# copy to /tmp to keep call to exim under 256 chars (prevent problems on Ubuntu)
install -t /tmp libexim-encrypt-dlfunc.so
install -t /tmp src/libexim-encrypt-dlfunc.so
LIB=/tmp/libexim-encrypt-dlfunc.so
CLEARTEXT="127.88.99.23" # keep short; see above