# 
# 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 = \
	cms.h \
	cmst.h \
	smime.h \
	cmsreclist.h \
	$(NULL)

PRIVATE_EXPORTS = \
	cmslocal.h \
	$(NULL)

MODULE = nss
MAPFILE = $(OBJDIR)/smime.def

CSRCS = \
	cmsarray.c \
	cmsasn1.c \
	cmsattr.c \
	cmscinfo.c \
	cmscipher.c \
	cmsdecode.c \
	cmsdigdata.c \
	cmsdigest.c \
	cmsencdata.c \
	cmsencode.c \
	cmsenvdata.c \
	cmsmessage.c \
	cmspubkey.c \
	cmsrecinfo.c \
	cmsreclist.c \
	cmssigdata.c \
	cmssiginfo.c \
	cmsudf.c \
	cmsutil.c \
	smimemessage.c \
	smimeutil.c \
	smimever.c \
	$(NULL)

LIBRARY_NAME = smime
LIBRARY_VERSION = 3

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