* limitations under the License.
*/
+#include "config.h"
#include "lease-config.h"
#include "lease-manager.h"
#include "lease-server.h"
#include <stdlib.h>
#include <unistd.h>
+#ifdef HAVE_SYSTEMD_DAEMON
+#include <systemd/sd-daemon.h>
+#endif
+
static void usage(const char *progname)
{
printf("Usage: %s [OPTIONS] [<DRM device>]\n\n"
return EXIT_FAILURE;
}
+#ifdef HAVE_SYSTEMD_DAEMON
+ sd_notify(1, "READY=1");
+#endif
+
struct ls_req req;
while (ls_get_request(ls, &req)) {
switch (req.type) {
lease_config_files = files('lease-config.c')
main = executable('drm-lease-manager',
[ 'main.c', lease_manager_files, lease_server_files, lease_config_files ],
- dependencies: [ drm_dep, dlmcommon_dep, thread_dep, toml_dep ],
+ dependencies: [ drm_dep, dlmcommon_dep, thread_dep, toml_dep, systemd_dep ],
+ include_directories : configuration_inc,
install: true,
)
language: 'c'
)
-configure_file(output: 'config.h',
- configuration: config)
-
-configuration_inc = include_directories('.')
-
drm_dep = dependency('libdrm', version: '>= 2.4.89')
thread_dep = dependency('threads')
toml_dep = dependency('libtoml')
+systemd_dep = dependency('', required: false)
+if get_option('enable-systemd')
+ systemd_dep = dependency('libsystemd', required: false)
+
+ config.set('HAVE_SYSTEMD_DAEMON', '1')
+endif
+
enable_tests = get_option('enable-tests')
if enable_tests
endif
endif
+configure_file(output: 'config.h',
+ configuration: config)
+
+configuration_inc = include_directories('.')
+
subdir('common')
subdir('libdlmclient')
subdir('drm-lease-manager')
description: 'Build unit tests'
)
+option('enable-systemd',
+ type: 'boolean',
+ value: false,
+ description: 'Systemd notify support'
+)
+
option('runtime_subdir',
type: 'string',
value: 'run/drm-lease-manager',