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

PRIVATE_EXPORTS = \
	pkix_procparams.h \
	pkix_trustanchor.h \
	pkix_valparams.h \
	pkix_resourcelimits.h \
	$(NULL)

MODULE = nss

CSRCS = \
	pkix_trustanchor.c \
	pkix_procparams.c \
	pkix_valparams.c \
	pkix_resourcelimits.c \
	$(NULL)

LIBRARY_NAME = pkixparams
SHARED_LIBRARY = $(NULL)
