# 
# 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

REQUIRES = seccmd dbm softoken

INCLUDES += -I$(CORE_DEPTH)/nss/lib/softoken

PROGRAM = bltest

 USE_STATIC_LIBS = 1

EXPORTS = \
	$(NULL)

PRIVATE_EXPORTS = \
	$(NULL)

CSRCS = \
	blapitest.c \
	$(NULL)

