#! gmake
# 
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
# 
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
# 
# The Original Code is the Netscape security libraries.
# 
# The Initial Developer of the Original Code is Netscape
# Communications Corporation.  Portions created by Netscape are 
# Copyright (C) 1994-2000 Netscape Communications Corporation.  All
# Rights Reserved.
# 
# Contributor(s):
#     Javier Delgadillo <javi@netscape.com>
#     Terry Hayes     <thayes@netscape.com>
# 
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable 
# instead of those above.  If you wish to allow use of your 
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL.  If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
# 

DEPTH		= ../../../..
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE		= pipnss
LIBRARY_NAME	= pipnss
IS_COMPONENT	= 1
MODULE_NAME	= NSS
EXPORT_LIBRARY	= 1
META_COMPONENT	= crypto

EXPORTS = 			\
	$(NULL)

CPPSRCS = 				\
	nsNSSCallbacks.cpp		\
	nsNSSComponent.cpp		\
	nsNSSIOLayer.cpp		\
	nsNSSModule.cpp			\
	nsSSLSocketProvider.cpp		\
	nsTLSSocketProvider.cpp		\
	nsSDR.cpp			\
	nsPK11TokenDB.cpp		\
	nsNSSCertificate.cpp		\
	nsPKCS12Blob.cpp                \
	nsNSSASN1Object.cpp		\
	nsCertOutliner.cpp              \
	nsKeygenHandler.cpp		\
	nsCrypto.cpp			\
        nsPKCS11Slot.cpp                \
        nsKeygenThread.cpp              \
        nsCMSSecureMessage.cpp          \
        nsCMS.cpp 	                \
        nsCertPicker.cpp                \
	$(NULL)

REQUIRES	= nspr \
		  xpcom \
		  string \
		  necko \
		  uriloader \
		  pref \
		  caps \
		  dom \
		  intl \
		  locale \
		  profile \
		  windowwatcher \
		  js \
		  widget \
		  layout \
		  content \
		  pippki \
		  xpconnect \
		  jar \
		  unicharutil \
		  pipboot \
		  $(NULL)

ifdef NSS_3_4
DEFINES += -DNSS_3_4

NSS3_LIB = $(LIB_PREFIX)nss3$(DLL_SUFFIX)
SMIME3_LIB = $(LIB_PREFIX)smime3$(DLL_SUFFIX)
SSL3_LIB = $(LIB_PREFIX)ssl3$(DLL_SUFFIX)
SOFTOKEN3_LIB = $(LIB_PREFIX)softokn3$(DLL_SUFFIX)

EXTRA_LIBS = \
    $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
    $(DIST)/lib/$(SMIME3_LIB) \
    $(DIST)/lib/$(SSL3_LIB) \
    $(DIST)/lib/$(NSS3_LIB) \
    $(DIST)/lib/$(SOFTOKEN3_LIB) \
    $(NULL)
else
EXTRA_LIBS = $(NSS_LIBS)
endif

EXTRA_DEPS = $(EXTRA_LIBS)

ifeq ($(OS_ARCH),WINNT)
DEFINES		+= -DNSS_USE_STATIC_LIBS
endif

include $(topsrcdir)/config/rules.mk

# Use local includes because they are inserted before INCLUDES
# so that Mozilla's nss.h is used, not glibc's
LOCAL_INCLUDES += -I$(DIST)/public/security \
                  -I$(DIST)/private/security \
                  $(NULL)

EXTRA_DSO_LDOPTS += \
		$(MOZ_UNICHARUTIL_LIBS) \
		$(MOZ_COMPONENT_LIBS) \
		$(MOZ_JS_LIBS) \
		$(NULL)
