# 
# 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 = \
	pki.h      \
	pkit.h     \
	nsspkit.h  \
	nsspki.h   \
	pkistore.h \
	pki3hack.h \
	pkitm.h    \
	pkim.h     \
	$(NULL)

EXPORTS =	   \
	$(NULL)

MODULE = nss

CSRCS =		        \
	asymmkey.c      \
	certificate.c   \
	cryptocontext.c \
	symmkey.c       \
	trustdomain.c   \
	tdcache.c       \
	certdecode.c    \
	pkistore.c      \
	pkibase.c       \
	pki3hack.c      \
	$(NULL)

#DEFINES = -DDEBUG_CACHE

REQUIRES = nspr

LIBRARY_NAME = nsspki
LIBRARY_VERSION = 3

# This part of the code, including all sub-dirs, can be optimized for size
export ALLOW_OPT_CODE_SIZE = 1
