Implement a helper function which, given an input string: - copies it verbatim if it contains at least one path separator, - prepends the named plugin installation directory to it otherwise. This function will allow configuration parsing code to conveniently determine the full path to a plugin module given either a path or a filename. While other, simpler ways exist for making sure filenames passed to dlopen() cause the latter to look for shared objects in a specific directory, they are very platform-specific. Using full paths is thus likely the most portable and reliable solution. Also added unit tests for ns_plugin_expandpath() to ensure it behaves as expected for absolute paths, relative paths, and filenames, for various target buffer sizes. (Note: plugins share a directory with named on Windows; there is no default plugin path. Therefore the source path is copied to the destination path with no modification.)
73 lines
2.2 KiB
Makefile
73 lines
2.2 KiB
Makefile
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# See the COPYRIGHT file distributed with this work for additional
|
|
# information regarding copyright ownership.
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
|
|
VERSION=@BIND9_VERSION@
|
|
|
|
@BIND9_MAKE_INCLUDES@
|
|
|
|
CINCLUDES = -I. -Iinclude ${NS_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES} \
|
|
@OPENSSL_INCLUDES@ @CMOCKA_CFLAGS@
|
|
CDEFINES = -DTESTS="\"${top_builddir}/lib/ns/tests/\"" -DNAMED_PLUGINDIR=\"${plugindir}\"
|
|
|
|
ISCLIBS = ../../isc/libisc.@A@ @OPENSSL_LIBS@
|
|
ISCDEPLIBS = ../../isc/libisc.@A@
|
|
DNSLIBS = ../../dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
|
DNSDEPLIBS = ../../dns/libdns.@A@
|
|
NSLIBS = ../libns.@A@
|
|
NSDEPLIBS = ../libns.@A@
|
|
|
|
LIBS = @LIBS@ @CMOCKA_LIBS@
|
|
|
|
|
|
OBJS = nstest.@O@
|
|
SRCS = nstest.c \
|
|
listenlist_test.c \
|
|
notify_test.c \
|
|
plugin_test.c \
|
|
query_test.c
|
|
|
|
SUBDIRS =
|
|
TARGETS = listenlist_test@EXEEXT@ \
|
|
notify_test@EXEEXT@ \
|
|
plugin_test@EXEEXT@ \
|
|
query_test@EXEEXT@
|
|
|
|
@BIND9_MAKE_RULES@
|
|
|
|
listenlist_test@EXEEXT@: listenlist_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
|
|
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
|
|
${LDFLAGS} -o $@ listenlist_test.@O@ nstest.@O@ \
|
|
${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
|
|
|
|
notify_test@EXEEXT@: notify_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
|
|
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
|
|
${LDFLAGS} -o $@ notify_test.@O@ nstest.@O@ \
|
|
${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
|
|
|
|
plugin_test@EXEEXT@: plugin_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
|
|
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
|
|
${LDFLAGS} -o $@ plugin_test.@O@ nstest.@O@ \
|
|
${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
|
|
|
|
query_test@EXEEXT@: query_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
|
|
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
|
|
${LDFLAGS} -o $@ query_test.@O@ nstest.@O@ \
|
|
${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
|
|
|
|
unit::
|
|
sh ${top_builddir}/unit/unittest.sh
|
|
|
|
clean distclean::
|
|
rm -f ${TARGETS}
|
|
rm -f atf.out
|