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

MODULE = nss
DIRS = legacydb

LIBRARY_NAME = softokn
LIBRARY_VERSION = 3
MAPFILE = $(OBJDIR)/softokn.def

DEFINES += -DSHLIB_SUFFIX=\"$(DLL_SUFFIX)\" -DSHLIB_PREFIX=\"$(DLL_PREFIX)\" -DSOFTOKEN_LIB_NAME=\"$(notdir $(SHARED_LIBRARY))\" -DSHLIB_VERSION=\"$(LIBRARY_VERSION)\"

ifdef SQLITE_INCLUDE_DIR
INCLUDES += -I$(SQLITE_INCLUDE_DIR)
endif

EXPORTS = \
	lowkeyi.h \
	lowkeyti.h \
	$(NULL)

PRIVATE_EXPORTS = \
	lgglue.h  \
	pkcs11ni.h \
	softoken.h \
	softoknt.h \
	softkver.h \
	sdb.h \
	sftkdbt.h \
	$(NULL)

CSRCS = \
	fipsaudt.c \
	fipstest.c \
	fipstokn.c \
	lgglue.c   \
	lowkey.c   \
	lowpbe.c   \
	padbuf.c   \
	pkcs11.c   \
	pkcs11c.c  \
	pkcs11u.c  \
	sdb.c  \
	sftkdb.c  \
	sftkhmac.c  \
	sftkpars.c  \
	sftkpwd.c  \
	softkver.c  \
	tlsprf.c   \
	jpakesftk.c \
	$(NULL)

ifdef SQLITE_UNSAFE_THREADS
DEFINES += -DSQLITE_UNSAFE_THREADS
endif

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