# 
# 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/.
CORE_DEPTH = ../../../..

EXPORTS = \
	$(NULL)

PRIVATE_EXPORTS = \
	pkix_tools.h \
	pkix_error.h \
	pkix_logger.h \
	pkix_list.h \
	$(NULL)

MODULE = nss

CSRCS = \
	pkix_tools.c \
	pkix_error.c \
	pkix_logger.c \
	pkix_list.c \
	pkix_errpaths.c \
	$(NULL)

LIBRARY_NAME = pkixutil

