summaryrefslogtreecommitdiffstats
path: root/components.mk
diff options
context:
space:
mode:
Diffstat (limited to 'components.mk')
-rw-r--r--components.mk978
1 files changed, 978 insertions, 0 deletions
diff --git a/components.mk b/components.mk
new file mode 100644
index 00000000..f661a26f
--- /dev/null
+++ b/components.mk
@@ -0,0 +1,978 @@
+#
+# BEGIN COPYRIGHT BLOCK
+# Copyright 2001 Sun Microsystems, Inc.
+# Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+#
+# this file contains definitions for component macros used during the build
+# process. Things like the component location in the build tree, etc.
+# this file should be included by nsconfig.mk after it figures out all
+# of the OS, architecture, security, and other platform and build related
+# macros. This file also contains the instructions for making the component
+# up to date e.g. copying the files from their repository to an area where
+# the build process has access to it. For some components and OS's, this may
+# be as simple as creating a symbolic link to the repository
+
+# Each component should define a COMPONENT_DEP macro which can be used in
+# other makefiles for dependency checking e.g.
+# target: $(COMPONENT1_DEP) $(COMPONENT2_DEP) ...
+# This macro should evaluate to the name of a single file which must be
+# present for the package to be complete e.g. some library or include
+# file name
+# Each component then should define a target for that dependency which will
+# bring the component up to date if that target does not exist e.g.
+# $(COMPONENT1_DEP):
+# use ftp or symlinks or ??? to get the necessary files to the build
+# area
+
+# Each component should define a COMPONENT_LINK macro which can be used to
+# link the component's libraries with the target. For NT, this will typically
+# be something like
+# /LIBPATH:path_to_library lib1 lib2 lib3 /LIBPATH:more_libs lib4 lib5 ...
+# On Unix, this will be something like
+# -Lpath_to_library -l1 -l2 -l3 -Lmore_libs -l4 -l5 ...
+
+# Each component should define a COMPONENT_INCLUDE macro which can be used
+# to compile using the component's header files e.g.
+# -Ipath_to_include_files -Ipath_to_more_include_files
+
+# Once this file is working, I will DELETE compvers.sh and ns_ftp.sh
+# from the tree, so help me god.
+
+# this macro contains a list of source files and directories to copy to
+# the directory where DLLs/SOs go at runtime; each component will add the files/dirs to
+# this macro that it needs to package; not all components will have
+# files which need packaging
+# if you need some other behavior, see PACKAGE_SRC_DEST below
+LIBS_TO_PKG =
+
+# this macro contains a list of source files and directories to copy to
+# the directory where DLLs/SOs go at runtime; each component will add the files/dirs to
+# this macro that it needs to package; this is for DLLs/SOs for the shared/bin
+# directory where the ldap c sdk command line tools, some security tools, and
+# the i18n conversion tools live
+LIBS_TO_PKG_SHARED =
+
+# this macro contains a list of source files and directories to copy to
+# the shared tools directory - things like the ldap c sdk command line
+# tools, shared security tools, etc.
+BINS_TO_PKG_SHARED =
+
+# this macro contains a list of shared libraries/dlls needed during
+# setup to run the setup pre-install program on unix (ns-config) or
+# the slapd plugin on NT (DSINST_PreInstall)
+PACKAGE_SETUP_LIBS =
+
+# this macro contains a list of libraries/dlls to copy to the clients
+# library directory
+LIBS_TO_PKG_CLIENTS =
+
+# this macro contains a list of source files and directories to copy to
+# the release/java directory; usually a list of jar files
+PACKAGE_UNDER_JAVA =
+
+# this macro contains a list of pairs of source and dest files and directories
+# the source is where to find the item in the build tree, and the dest is
+# the place in the release to put the item, relative to the server root e.g.
+# nls locale files are in libnls31/locale, but for packaging they need to
+# go into lib/nls, not just lib; the destination should be a directory name;
+# separate the src from the dest with a single space
+COMMA := ,
+NULLSTRING :=
+SPACE := $(NULLSTRING) # the space is between the ) and the #
+PACKAGE_SRC_DEST =
+
+ifeq ($(ARCH), WINNT)
+EXE_SUFFIX = .exe
+else # unix - windows has no lib name prefix, except for nspr
+LIB_PREFIX = lib
+endif
+
+# ADMINUTIL library #######################################
+ADMINUTIL_VERSION=$(ADMINUTIL_RELDATE)$(SEC_SUFFIX)
+ADMINUTIL_BASE=$(ADMINUTIL_VERSDIR)/${ADMINUTIL_VERSION}
+ADMSDKOBJDIR = $(FULL_RTL_OBJDIR)
+ADMINUTIL_IMPORT=$(COMPONENTS_DIR)/${ADMINUTIL_BASE}/$(NSOBJDIR_NAME)
+# this is the base directory under which the component's files will be found
+# during the build process
+ADMINUTIL_BUILD_DIR=$(NSCP_DISTDIR_FULL_RTL)/adminutil
+ADMINUTIL_LIBPATH=$(ADMINUTIL_BUILD_DIR)/lib
+ADMINUTIL_INCPATH=$(ADMINUTIL_BUILD_DIR)/include
+
+PACKAGE_SRC_DEST += $(ADMINUTIL_LIBPATH)/property bin/slapd/lib
+LIBS_TO_PKG += $(wildcard $(ADMINUTIL_LIBPATH)/*.$(DLL_SUFFIX))
+LIBS_TO_PKG_CLIENTS += $(wildcard $(ADMINUTIL_LIBPATH)/*.$(DLL_SUFFIX))
+
+#
+# Libadminutil
+#
+ADMINUTIL_DEP = $(ADMINUTIL_LIBPATH)/libadminutil$(ADMINUTIL_VER).$(LIB_SUFFIX)
+ifeq ($(ARCH), WINNT)
+ADMINUTIL_LINK = /LIBPATH:$(ADMINUTIL_LIBPATH) libadminutil$(ADMINUTIL_VER).$(LIB_SUFFIX)
+ADMINUTIL_S_LINK = /LIBPATH:$(ADMINUTIL_LIBPATH) libadminutil_s$(ADMINUTIL_VER).$(LIB_SUFFIX)
+LIBADMINUTILDLL_NAMES = $(ADMINUTIL_LIBPATH)/libadminutil$(ADMINUTIL_VER).$(DLL_SUFFIX)
+else
+ADMINUTIL_LINK=-L$(ADMINUTIL_LIBPATH) -ladminutil$(ADMINUTIL_VER)
+endif
+ADMINUTIL_INCLUDE=-I$(ADMINUTIL_INCPATH) \
+ -I$(ADMINUTIL_INCPATH)/libadminutil \
+ -I$(ADMINUTIL_INCPATH)/libadmsslutil
+
+ifndef ADMINUTIL_PULL_METHOD
+ADMINUTIL_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(ADMINUTIL_DEP): ${NSCP_DISTDIR_FULL_RTL}
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(ADMINUTIL_PULL_METHOD) \
+ -objdir $(ADMINUTIL_BUILD_DIR) \
+ -componentdir $(ADMINUTIL_IMPORT) \
+ -files include,lib
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component adminutil file $@" ; \
+ fi
+###########################################################
+# Peer
+
+PEER_BUILD_DIR = $(NSCP_DISTDIR)/peer
+ifeq ($(ARCH), WINNT)
+# PEER_RELEASE = $(COMPONENTS_DIR)/peer/$(PEER_RELDATE)
+# PEER_FILES = include
+else
+PEER_RELEASE = $(COMPONENTS_DIR)/peer/$(PEER_RELDATE)/$(NSOBJDIR_NAME)
+PEER_FILES = obj
+PEER_DEP = $(PEER_OBJPATH)/ns-ldapagt
+endif
+# PEER_MGMTPATH = $(PEER_BUILD_DIR)/dev
+# PEER_INCDIR = $(PEER_BUILD_DIR)/include
+# PEER_BINPATH = $(PEER_BUILD_DIR)/dev
+PEER_OBJPATH = $(PEER_BUILD_DIR)/obj
+# PEER_INCLUDE = -I$(PEER_INCDIR)
+
+ifndef PEER_PULL_METHOD
+PEER_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(PEER_DEP): $(NSCP_DISTDIR)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(PEER_PULL_METHOD) \
+ -objdir $(PEER_BUILD_DIR) -componentdir $(PEER_RELEASE) \
+ -files $(PEER_FILES)
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component PEER file $@" ; \
+ fi
+endif
+
+###########################################################
+
+# NSPR20 Library
+NSPR_LIBNAMES = plc4 plds4
+ifeq ($(ARCH), SOLARIS)
+ ifeq ($(NSPR_RELDATE), v4.2.2)
+# no need after v4.4.1
+NSPR_LIBNAMES += ultrasparc4
+# just need ultrasparc for now
+LIBS_TO_PKG += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(NSPR_LIBPATH)/lib,ultrasparc4))
+ endif
+endif
+NSPR_LIBNAMES += nspr4
+NSPR_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/nspr
+NSPR_ABS_BUILD_DIR = $(NSCP_ABS_DISTDIR_FULL_RTL)/nspr
+NSPR_LIBPATH = $(NSPR_BUILD_DIR)/lib
+NSPR_INCLUDE = -I$(NSPR_BUILD_DIR)/include
+NSPR_IMPORT = $(COMPONENTS_DIR)/nspr20/$(NSPR_RELDATE)/$(FULL_RTL_OBJDIR)
+NSPR_LIBS_TO_PKG = $(addsuffix .$(DLL_SUFFIX),$(addprefix $(NSPR_LIBPATH)/lib,$(NSPR_LIBNAMES)))
+
+LIBS_TO_PKG += $(NSPR_LIBS_TO_PKG)
+LIBS_TO_PKG_SHARED += $(NSPR_LIBS_TO_PKG) # needed for cmd line tools
+PACKAGE_SETUP_LIBS += $(NSPR_LIBS_TO_PKG)
+LIBS_TO_PKG_CLIENTS += $(NSPR_LIBS_TO_PKG) # for dsgw
+
+NSPR_DEP = $(NSPR_LIBPATH)/libnspr4.$(LIB_SUFFIX)
+ifeq ($(ARCH), WINNT)
+ NSPRDLL_NAME = $(addprefix lib, $(NSPR_LIBNAMES))
+ NSPROBJNAME = $(addsuffix .lib, $(NSPRDLL_NAME))
+ NSPRLINK = /LIBPATH:$(NSPR_LIBPATH) $(NSPROBJNAME)
+ LIBNSPRDLL_NAMES = $(addsuffix .dll, $(addprefix $(NSPR_LIBPATH)/, \
+ $(addprefix lib, $(NSPR_LIBNAMES))))
+else
+ NSPR_SOLIBS = $(addsuffix .$(DLL_SUFFIX), $(addprefix $(LIB_PREFIX), $(NSPR_LIBNAMES)))
+ NSPROBJNAME = $(addsuffix .a, $(addprefix $(LIB_PREFIX), $(NSPR_LIBNAMES))
+ LIBNSPR = $(addprefix $(NSPR_LIBPATH)/, $(NSPR_SOLIBS))
+ NSPRLINK = -L$(NSPR_LIBPATH) $(addprefix -l, $(NSPR_LIBNAMES))
+endif
+
+ifndef NSPR_PULL_METHOD
+NSPR_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(NSPR_DEP): $(NSCP_DISTDIR_FULL_RTL)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(NSPR_PULL_METHOD) \
+ -objdir $(NSPR_BUILD_DIR) -componentdir $(NSPR_IMPORT) \
+ -files lib,include
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component NSPR file $@" ; \
+ fi
+
+### DBM #############################
+
+DBM_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/dbm
+DBM_LIBPATH = $(DBM_BUILD_DIR)/lib
+DBM_INCDIR = $(DBM_BUILD_DIR)/include
+DBM_DEP = $(DBM_LIBPATH)/libdbm.$(LIB_SUFFIX)
+DBM_IMPORT = $(COMPONENTS_DIR)/dbm/$(DBM_RELDATE)/$(NSOBJDIR_NAME)
+DBM_INCLUDE = -I$(DBM_INCDIR)
+DBM_LIBNAMES = dbm
+
+ifeq ($(ARCH), WINNT)
+ DBMOBJNAME = $(addsuffix .lib, $(DBM_LIBNAMES))
+ LIBDBM = $(addprefix $(DBM_LIBPATH)/, $(DBMOBJNAME))
+ DBMLINK = /LIBPATH:$(DBM_LIBPATH) $(DBMOBJNAME)
+ DBM_DEP = $(DBM_LIBPATH)/dbm.$(LIB_SUFFIX)
+else
+ DBM_SOLIBS = $(addsuffix .$(DLL_SUFFIX), $(addprefix $(LIB_PREFIX), $(DBM_LIBNAMES)))
+ DBMROBJNAME = $(addsuffix .a, $(addprefix $(LIB_PREFIX), $(DBM_LIBNAMES)))
+ LIBDBM = $(addprefix $(DBM_LIBPATH)/, $(DBMROBJNAME))
+ DBMLINK = -L$(DBM_LIBPATH) $(addprefix -l, $(DBM_LIBNAMES))
+ DBM_DEP = $(DBM_LIBPATH)/libdbm.$(LIB_SUFFIX)
+endif
+
+ifndef DBM_PULL_METHOD
+DBM_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(DBM_DEP): $(NSCP_DISTDIR_FULL_RTL)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(DBM_PULL_METHOD) \
+ -objdir $(DBM_BUILD_DIR) -componentdir $(DBM_IMPORT)/.. \
+ -files xpheader.jar -unzip $(DBM_INCDIR)
+ $(FTP_PULL) -method $(DBM_PULL_METHOD) \
+ -objdir $(DBM_BUILD_DIR) -componentdir $(DBM_IMPORT) \
+ -files mdbinary.jar -unzip $(DBM_BUILD_DIR)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component DBM file $@" ; \
+ fi
+
+### DBM END #############################
+
+### SECURITY #############################
+SECURITY_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/nss
+SECURITY_LIBPATH = $(SECURITY_BUILD_DIR)/lib
+SECURITY_BINPATH = $(SECURITY_BUILD_DIR)/bin
+SECURITY_INCDIR = $(SECURITY_BUILD_DIR)/include
+SECURITY_INCLUDE = -I$(SECURITY_INCDIR)
+# add crlutil and ocspclnt when we support CRL and OCSP cert checking in DS
+ifeq ($(SECURITY_RELDATE), NSS_3_7_9_RTM)
+SECURITY_BINNAMES = certutil derdump pp pk12util ssltap modutil
+else
+SECURITY_BINNAMES = certutil derdump pp pk12util ssltap modutil shlibsign
+endif
+SECURITY_LIBNAMES = ssl3 nss3 softokn3
+SECURITY_IMPORT = $(COMPONENTS_DIR)/nss/$(SECURITY_RELDATE)/$(FULL_RTL_OBJDIR)
+
+SECURITY_LIBNAMES.pkg = $(SECURITY_LIBNAMES)
+SECURITY_LIBNAMES.pkg += smime3
+ifeq ($(ARCH), SOLARIS)
+SECURITY_LIBNAMES.pkg += freebl_hybrid_3 freebl_pure32_3 fort swft
+endif
+ifeq ($(ARCH), HPUX)
+SECURITY_LIBNAMES.pkg += freebl_hybrid_3 freebl_pure32_3 fort swft
+endif
+ifeq ($(ARCH), AIX)
+SECURITY_LIBNAMES.pkg += fort swft
+endif
+ifeq ($(ARCH), OSF1)
+SECURITY_LIBNAMES.pkg += fort swft
+endif
+ifeq ($(ARCH), WINNT)
+SECURITY_LIBNAMES.pkg += fort32 swft32
+endif
+
+SECURITY_TOOLS = $(addsuffix $(EXE_SUFFIX),$(SECURITY_BINNAMES))
+SECURITY_TOOLS_FULLPATH = $(addprefix $(SECURITY_BINPATH)/, $(SECURITY_TOOLS))
+
+SECURITY_LIBS_TO_PKG = $(addsuffix .$(DLL_SUFFIX),$(addprefix $(SECURITY_LIBPATH)/$(LIB_PREFIX),$(SECURITY_LIBNAMES.pkg)))
+ifneq ($(SECURITY_RELDATE), NSS_3_7_9_RTM)
+SECURITY_LIBS_TO_PKG += $(addsuffix .chk,$(addprefix $(SECURITY_LIBPATH)/$(LIB_PREFIX),$(SECURITY_LIBNAMES.pkg)))
+endif
+LIBS_TO_PKG += $(SECURITY_LIBS_TO_PKG)
+LIBS_TO_PKG_SHARED += $(SECURITY_LIBS_TO_PKG) # for cmd line tools
+PACKAGE_SETUP_LIBS += $(SECURITY_LIBS_TO_PKG)
+LIBS_TO_PKG_CLIENTS += $(SECURITY_LIBS_TO_PKG) # for dsgw
+
+ifeq ($(ARCH), WINNT)
+ SECURITYOBJNAME = $(addsuffix .$(LIB_SUFFIX), $(SECURITY_LIBNAMES))
+ LIBSECURITY = $(addprefix $(SECURITY_LIBPATH)/, $(SECURITYOBJNAME))
+ SECURITYLINK = /LIBPATH:$(SECURITY_LIBPATH) $(SECURITYOBJNAME)
+ SECURITY_DEP = $(SECURITY_LIBPATH)/ssl3.$(DLL_SUFFIX)
+else
+ SECURITYOBJNAME = $(addsuffix .$(DLL_SUFFIX), $(addprefix $(LIB_PREFIX), $(SECURITY_LIBNAMES)))
+ LIBSECURITY = $(addprefix $(SECURITY_LIBPATH)/, $(SECURITYOBJNAME))
+ SECURITYLINK = -L$(SECURITY_LIBPATH) $(addprefix -l, $(SECURITY_LIBNAMES))
+ SECURITY_DEP = $(SECURITY_LIBPATH)/libssl3.$(DLL_SUFFIX)
+endif
+
+# we need to package the root cert file in the alias directory
+PACKAGE_SRC_DEST += $(SECURITY_LIBPATH)/$(LIB_PREFIX)nssckbi.$(DLL_SUFFIX) alias
+
+# need to package the sec tools in shared/bin
+BINS_TO_PKG_SHARED += $(SECURITY_TOOLS_FULLPATH)
+
+#ifeq ($(ARCH), OSF1)
+#OSF1SECURITYHACKOBJ = $(OBJDIR)/osf1securityhack.o
+
+#$(OSF1SECURITYHACKOBJ): $(MCOM_ROOT)/ldapserver/osf1securityhack.c
+# $(CC) -c $(CFLAGS) $(MCC_INCLUDE) $< -o $@
+
+# SECURITYLINK += $(OSF1SECURITYHACKOBJ)
+#endif
+
+SECURITY_FILES=lib,include,bin/$(subst $(SPACE),$(COMMA)bin/,$(SECURITY_TOOLS))
+
+ifndef SECURITY_PULL_METHOD
+SECURITY_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(SECURITY_DEP): $(NSCP_DISTDIR_FULL_RTL) $(OSF1SECURITYHACKOBJ)
+ifdef COMPONENT_DEPS
+ mkdir -p $(SECURITY_BINPATH)
+ $(FTP_PULL) -method $(SECURITY_PULL_METHOD) \
+ -objdir $(SECURITY_BUILD_DIR) -componentdir $(SECURITY_IMPORT) \
+ -files $(SECURITY_FILES)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component NSS file $@" ; \
+ fi
+
+### SECURITY END #############################
+
+### SVRCORE #############################
+SVRCORE_BUILD_DIR = $(NSCP_DISTDIR)/svrcore
+SVRCORE_LIBPATH = $(SVRCORE_BUILD_DIR)/lib
+SVRCORE_INCDIR = $(SVRCORE_BUILD_DIR)/include
+SVRCORE_INCLUDE = -I$(SVRCORE_INCDIR)
+#SVRCORE_LIBNAMES = svrplcy svrcore
+SVRCORE_LIBNAMES = svrcore
+SVRCORE_IMPORT = $(COMPONENTS_DIR)/svrcore/$(SVRCORE_RELDATE)/$(NSOBJDIR_NAME)
+
+ifeq ($(ARCH), WINNT)
+ SVRCOREOBJNAME = $(addsuffix .lib, $(SVRCORE_LIBNAMES))
+ LIBSVRCORE = $(addprefix $(SVRCORE_LIBPATH)/, $(SVRCOREOBJNAME))
+ SVRCORELINK = /LIBPATH:$(SVRCORE_LIBPATH) $(SVRCOREOBJNAME)
+ SVRCORE_DEP = $(SVRCORE_LIBPATH)/svrcore.$(LIB_SUFFIX)
+else
+ SVRCOREOBJNAME = $(addsuffix .a, $(addprefix $(LIB_PREFIX), $(SVRCORE_LIBNAMES)))
+ LIBSVRCORE = $(addprefix $(SVRCORE_LIBPATH)/, $(SVRCOREOBJNAME))
+ifeq ($(ARCH), OSF1)
+# the -all flag is used by default. This flag causes _all_ objects in lib.a files to
+# be processed and linked. This causes problems with svrcore because there are
+# several undefined symbols (notably, the JSS_xxx functions)
+ SVRCORELINK = -L$(SVRCORE_LIBPATH) -none $(addprefix -l, $(SVRCORE_LIBNAMES)) -all
+else
+ SVRCORELINK = -L$(SVRCORE_LIBPATH) $(addprefix -l, $(SVRCORE_LIBNAMES))
+endif
+ SVRCORE_DEP = $(SVRCORE_LIBPATH)/libsvrcore.$(LIB_SUFFIX)
+endif
+
+ifndef SVRCORE_PULL_METHOD
+SVRCORE_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(SVRCORE_DEP): $(NSCP_DISTDIR)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(SVRCORE_PULL_METHOD) \
+ -objdir $(SVRCORE_BUILD_DIR) -componentdir $(SVRCORE_IMPORT)/.. \
+ -files xpheader.jar -unzip $(SVRCORE_INCDIR)
+ $(FTP_PULL) -method $(SVRCORE_PULL_METHOD) \
+ -objdir $(SVRCORE_BUILD_DIR) -componentdir $(SVRCORE_IMPORT) \
+ -files mdbinary.jar -unzip $(SVRCORE_BUILD_DIR)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component SVRCORE file $@" ; \
+ fi
+
+### SVRCORE END #############################
+
+### SETUPSDK #############################
+# this is where the build looks for setupsdk components
+SETUP_SDK_BUILD_DIR = $(NSCP_DISTDIR)/setupsdk
+SETUPSDK_VERSION = $(SETUP_SDK_RELDATE)$(SEC_SUFFIX)
+SETUPSDK_RELEASE = $(COMPONENTS_DIR)/setupsdk/$(SETUPSDK_VERSDIR)/$(SETUPSDK_VERSION)/$(NSOBJDIR_NAME)
+SETUPSDK_LIBPATH = $(SETUP_SDK_BUILD_DIR)/lib
+SETUPSDK_INCDIR = $(SETUP_SDK_BUILD_DIR)/include
+SETUPSDK_BINPATH = $(SETUP_SDK_BUILD_DIR)/bin
+SETUPSDK_INCLUDE = -I$(SETUPSDK_INCDIR)
+
+ifeq ($(ARCH), WINNT)
+SETUP_SDK_FILES = setupsdk.tar.gz -unzip $(NSCP_DISTDIR)/setupsdk
+SETUPSDK_DEP = $(SETUPSDK_LIBPATH)/nssetup32.$(LIB_SUFFIX)
+SETUPSDKLINK = /LIBPATH:$(SETUPSDK_LIBPATH) nssetup32.$(LIB_SUFFIX)
+SETUPSDK_S_LINK = /LIBPATH:$(SETUPSDK_LIBPATH) nssetup32_s.$(LIB_SUFFIX)
+else
+SETUP_SDK_FILES = bin,lib,include
+SETUPSDK_DEP = $(SETUPSDK_LIBPATH)/libinstall.$(LIB_SUFFIX)
+SETUPSDKLINK = -L$(SETUPSDK_LIBPATH) -linstall
+SETUPSDK_S_LINK = $(SETUPSDKLINK)
+endif
+
+ifndef SETUPSDK_PULL_METHOD
+SETUPSDK_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(SETUPSDK_DEP): $(NSCP_DISTDIR)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(SETUPSDK_PULL_METHOD) \
+ -objdir $(SETUP_SDK_BUILD_DIR) -componentdir $(SETUPSDK_RELEASE) \
+ -files $(SETUP_SDK_FILES)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component SETUPSDK file $@" ; \
+ fi
+
+####################################################
+# LDAP SDK
+###################################################
+ifndef LDAP_VERSION
+ LDAP_VERSION = $(LDAP_RELDATE)$(SEC_SUFFIX)
+endif
+
+LDAP_ROOT = $(NSCP_DISTDIR_FULL_RTL)/ldapsdk
+LDAPSDK_LIBPATH = $(LDAP_ROOT)/lib
+LDAPSDK_INCDIR = $(LDAP_ROOT)/include
+LDAPSDK_INCLUDE = -I$(LDAPSDK_INCDIR)
+ifndef LDAP_SBC
+# LDAP_SBC = $(COMPONENTS_DIR_DEV)
+LDAP_SBC = $(COMPONENTS_DIR)
+endif
+
+# package the command line programs
+LDAPSDK_TOOLS = $(wildcard $(LDAP_ROOT)/tools/*$(EXE_SUFFIX))
+BINS_TO_PKG_SHARED += $(LDAPSDK_TOOLS)
+# package the include files - needed for the plugin API
+LDAPSDK_INCLUDE_FILES = $(wildcard $(LDAPSDK_INCDIR)/*.h)
+PACKAGE_SRC_DEST += $(subst $(SPACE),$(SPACE)plugins/slapd/slapi/include$(SPACE),$(LDAPSDK_INCLUDE_FILES))
+PACKAGE_SRC_DEST += plugins/slapd/slapi/include
+
+LDAPOBJDIR = $(FULL_RTL_OBJDIR)
+ifeq ($(ARCH), WINNT)
+ ifeq ($(PROCESSOR), ALPHA)
+ ifeq ($(DEBUG), full)
+ LDAPOBJDIR = WINNTALPHA3.51_DBG.OBJ
+ else
+ LDAPOBJDIR = WINNTALPHA3.51_OPT.OBJ
+ endif
+ endif
+
+ LDAP_RELEASE = $(LDAP_SBC)/$(LDAPCOMP_DIR)/$(LDAP_VERSION)/$(LDAPOBJDIR)
+ LDAP_LIBNAMES = ldapssl32v$(LDAP_SUF) ldap32v$(LDAP_SUF) ldappr32v$(LDAP_SUF)
+ LDAPDLL_NAME = $(addprefix ns, $(LDAP_LIBNAMES))
+ LDAPOBJNAME = $(addsuffix .$(LIB_SUFFIX), $(LDAPDLL_NAME))
+ LDAPLINK = /LIBPATH:$(LDAPSDK_LIBPATH) $(LDAPOBJNAME)
+ LIBLDAPDLL_NAMES = $(addsuffix .dll, $(addprefix $(LDAP_LIBPATH)/, $(LDAPDLL_NAME)))
+ LDAPSDK_DEP = $(LDAPSDK_LIBPATH)/nsldap32v$(LDAP_SUF).$(DLL_SUFFIX)
+ LDAPSDK_PULL_LIBS = lib/nsldapssl32v$(LDAP_SUF).$(LIB_SUFFIX),lib/nsldapssl32v$(LDAP_SUF).$(LDAP_DLL_SUFFIX),lib/nsldap32v$(LDAP_SUF).$(LIB_SUFFIX),lib/nsldap32v$(LDAP_SUF).$(LDAP_DLL_SUFFIX),lib/nsldappr32v$(LDAP_SUF).$(LIB_SUFFIX),lib/nsldappr32v$(LDAP_SUF).$(LDAP_DLL_SUFFIX)
+
+ LIBS_TO_PKG += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(LDAPSDK_LIBPATH)/,$(LDAPDLL_NAME)))
+ PACKAGE_SETUP_LIBS += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(LDAPSDK_LIBPATH)/,$(LDAPDLL_NAME)))
+ LIBS_TO_PKG_SHARED += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(LDAPSDK_LIBPATH)/,$(LDAPDLL_NAME)))
+ LIBS_TO_PKG_CLIENTS += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(LDAPSDK_LIBPATH)/,$(LDAPDLL_NAME)))
+endif
+
+# override LDAP version in OS specific section
+ifneq ($(ARCH), WINNT)
+# LDAP Does not has PTH version, so here is the hack which treat non PTH
+# version as PTH version
+ ifeq ($(USE_PTHREADS), 1)
+ LDAP_RELEASE = $(LDAP_SBC)/$(LDAPCOMP_DIR)/$(LDAP_VERSION)/$(NSOBJDIR_NAME1)
+ else
+ LDAP_RELEASE = $(LDAP_SBC)/$(LDAPCOMP_DIR)/$(LDAP_VERSION)/$(LDAPOBJDIR)
+ endif
+ LDAP_SOLIB_NAMES = ssldap$(LDAP_SUF)$(LDAP_DLL_PRESUF) ldap$(LDAP_SUF)$(LDAP_DLL_PRESUF) prldap$(LDAP_SUF)$(LDAP_DLL_PRESUF)
+ ifndef LDAP_NO_LIBLCACHE
+ LDAP_SOLIB_NAMES += lcache30$(LDAP_DLL_PRESUF)
+ endif
+ LDAP_DOTALIB_NAMES =
+ LDAP_LIBNAMES = $(LDAP_DOTALIB_NAMES) $(LDAP_SOLIB_NAMES)
+ LDAP_SOLIBS = $(addsuffix .$(LDAP_DLL_SUFFIX), $(addprefix $(LIB_PREFIX), $(LDAP_SOLIB_NAMES)))
+ LDAPOBJNAME = $(addsuffix .$(LIB_SUFFIX), $(addprefix $(LIB_PREFIX), $(LDAP_DOTALIB_NAMES))) \
+ $(LDAP_SOLIBS)
+ LDAPSDK_DEP = $(LDAPSDK_LIBPATH)/libldap$(LDAP_SUF).$(DLL_SUFFIX)
+ LDAPLINK = -L$(LDAPSDK_LIBPATH) $(addprefix -l,$(LDAP_SOLIB_NAMES))
+ LDAP_NOSSL_LINK = -L$(LDAPSDK_LIBPATH) -lldap$(LDAP_SUF)$(LDAP_DLL_PRESUF)
+ LDAPSDK_PULL_LIBS = lib/libssldap$(LDAP_SUF)$(LDAP_DLL_PRESUF).$(LDAP_DLL_SUFFIX),lib/libldap$(LDAP_SUF)$(LDAP_DLL_PRESUF).$(LDAP_DLL_SUFFIX),lib/libprldap$(LDAP_SUF)$(LDAP_DLL_PRESUF).$(LDAP_DLL_SUFFIX)
+
+ LIBS_TO_PKG += $(addprefix $(LDAPSDK_LIBPATH)/,$(LDAP_SOLIBS))
+ PACKAGE_SETUP_LIBS += $(addprefix $(LDAPSDK_LIBPATH)/,$(LDAP_SOLIBS))
+ LIBS_TO_PKG_SHARED += $(addprefix $(LDAPSDK_LIBPATH)/,$(LDAP_SOLIBS))
+ LIBS_TO_PKG_CLIENTS += $(addprefix $(LDAPSDK_LIBPATH)/,$(LDAP_SOLIBS))
+endif
+
+LDAP_LIBPATH = $(LDAP_ROOT)/lib
+LDAP_INCLUDE = $(LDAP_ROOT)/include
+LDAP_TOOLDIR = $(LDAP_ROOT)/tools
+LIBLDAP = $(addprefix $(LDAP_LIBPATH)/, $(LDAPOBJNAME))
+LDAPSDK_FILES = include,$(LDAPSDK_PULL_LIBS),tools
+
+ifndef LDAPSDK_PULL_METHOD
+LDAPSDK_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(LDAPSDK_DEP): $(NSCP_DISTDIR_FULL_RTL)
+ifdef COMPONENT_DEPS
+ mkdir -p $(LDAP_LIBPATH)
+ $(FTP_PULL) -method $(LDAPSDK_PULL_METHOD) \
+ -objdir $(LDAP_ROOT) -componentdir $(LDAP_RELEASE) \
+ -files $(LDAPSDK_FILES)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component LDAPSDK file $@" ; \
+ fi
+
+####################################################
+# DSRK
+####################################################
+ifndef DSRK_VERSION
+ DSRK_VERSION = $(DSRK_RELDATE)$(SEC_SUFFIX)
+endif
+ifndef DSRK_SBC
+# DSRK_SBC = $(COMPONENTS_DIR_DEV)
+DSRK_SBC = $(COMPONENTS_DIR)
+endif
+
+DSRK_RELEASE = $(DSRK_SBC)/dsrk/$(DSRKCOMP_DIR)/$(DSRK_VERSION)/$(NSOBJDIR_NAME)
+DSRK_FILES = bin,perl
+DSRK_BUILD_DIR = $(NSCP_DISTDIR)/dsrk
+DSRK_DEP = $(DSRK_BUILD_DIR)/bin/n$(DSRKCOMP_DIR)
+
+ifndef DSRK_PULL_METHOD
+DSRK_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(DSRK_DEP): $(NSCP_DISTDIR_FULL_RTL)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(DSRK_PULL_METHOD) \
+ -objdir $(DSRK_BUILD_DIR) -componentdir $(DSRK_RELEASE) \
+ -files $(DSRK_FILES)
+endif
+ -@if [ ! -d $@ ] ; \
+ then echo "Error: could not get component DSRK file $@" ; \
+ fi
+
+# apache-axis java classes #######################################
+AXIS = axis-bin-$(AXIS_VERSION).zip
+AXIS_FILES = $(AXIS)
+#AXIS_RELEASE = $(COMPONENTS_DIR)
+AXIS_RELEASE = $(COMPONENTS_DIR_DEV)/ds/ds70-bozeman
+#AXISJAR_DIR = $(AXISJAR_RELEASE)/$(AXISJAR_COMP)/$(AXISJAR_VERSION)
+AXIS_DIR = $(AXIS_RELEASE)/axis
+AXIS_FILE = $(CLASS_DEST)/$(AXIS)
+AXIS_DEP = $(AXIS_FILE)
+AXIS_REL_DIR=$(subst -bin,,$(subst .zip,,$(AXIS)))
+
+
+# This is java, so there is only one real platform subdirectory
+
+#PACKAGE_UNDER_JAVA += $(AXIS_FILE)
+
+ifndef AXIS_PULL_METHOD
+AXIS_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(AXIS_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ echo "Inside ftppull"
+ $(FTP_PULL) -method $(COMPONENT_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(AXIS_DIR) \
+ -files $(AXIS_FILES) -unzip $(CLASS_DEST)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component AXIS files $@" ; \
+ fi
+
+###########################################################
+
+
+# other dsml java classes #######################################
+DSMLJAR = activation.jar,jaxrpc-api.jar,jaxrpc.jar,saaj.jar,xercesImpl.jar,xml-apis.jar
+DSMLJAR_FILES = $(DSMLJAR)
+DSMLJAR_RELEASE = $(COMPONENTS_DIR_DEV)/ds/ds70-bozeman
+#DSMLJARJAR_DIR = $(DSMLJARJAR_RELEASE)/$(DSMLJARJAR_COMP)/$(DSMLJARJAR_VERSION)
+DSMLJAR_DIR = $(DSMLJAR_RELEASE)/dsmljars
+DSMLJAR_FILE = $(CLASS_DEST)
+DSMLJAR_DEP = $(CLASS_DEST)/activation.jar $(CLASS_DEST)/jaxrpc-api.jar $(CLASS_DEST)/jaxrpc.jar $(CLASS_DEST)/saaj.jar $(CLASS_DEST)/xercesImpl.jar $(CLASS_DEST)/xml-apis.jar
+
+ifndef DSMLJAR_PULL_METHOD
+DSMLJAR_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(DSMLJAR_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ echo "Inside ftppull"
+ $(FTP_PULL) -method $(COMPONENT_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(DSMLJAR_DIR) \
+ -files $(DSMLJAR_FILES)
+
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component DSMLJAR files $@" ; \
+ fi
+
+###########################################################
+
+# XMLTOOLS java classes #######################################
+CRIMSONJAR = crimson.jar
+CRIMSON_LICENSE = LICENSE.crimson
+CRIMSONJAR_FILES = $(CRIMSONJAR),$(CRIMSON_LICENSE)
+CRIMSONJAR_RELEASE = $(COMPONENTS_DIR)
+CRIMSONJAR_DIR = $(CRIMSONJAR_RELEASE)/$(CRIMSONJAR_COMP)/$(CRIMSONJAR_VERSION)
+CRIMSONJAR_FILE = $(CLASS_DEST)/$(CRIMSONJAR)
+CRIMSONJAR_DEP = $(CRIMSONJAR_FILE) $(CLASS_DEST)/$(CRIMSON_LICENSE)
+
+
+# This is java, so there is only one real platform subdirectory
+
+PACKAGE_UNDER_JAVA += $(CRIMSONJAR_FILE)
+
+ifndef CRIMSONJAR_PULL_METHOD
+CRIMSONJAR_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(CRIMSONJAR_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ echo "Inside ftppull"
+ $(FTP_PULL) -method $(COMPONENT_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(CRIMSONJAR_DIR) \
+ -files $(CRIMSONJAR_FILES)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component CRIMSONJAR files $@" ; \
+ fi
+
+###########################################################
+
+# ANT java classes #######################################
+ifeq ($(BUILD_JAVA_CODE),1)
+# (we use ant for building some Java code)
+ANTJAR = ant.jar
+JAXPJAR = jaxp.jar
+ANT_FILES = $(ANTJAR) $(JAXPJAR)
+ANT_RELEASE = $(COMPONENTS_DIR)
+ANT_HOME = $(ANT_RELEASE)/$(ANT_COMP)/$(ANT_VERSION)
+ANT_DIR = $(ANT_HOME)/lib
+ANT_DEP = $(addprefix $(CLASS_DEST)/, $(ANT_FILES))
+ANT_CP = $(subst $(SPACE),$(PATH_SEP),$(ANT_DEP))
+ANT_PULL = $(subst $(SPACE),$(COMMA),$(ANT_FILES))
+
+ifndef ANT_PULL_METHOD
+ANT_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(ANT_DEP): $(CLASS_DEST) $(CRIMSONJAR_DEP)
+ifdef COMPONENT_DEPS
+ echo "Inside ftppull"
+ $(FTP_PULL) -method $(COMPONENT_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(ANT_DIR) \
+ -files $(ANT_PULL)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component ant files $@" ; \
+ fi
+endif
+###########################################################
+
+# Servlet SDK classes #######################################
+SERVLETJAR = servlet.jar
+SERVLET_FILES = $(SERVLETJAR)
+SERVLET_RELEASE = $(COMPONENTS_DIR)
+SERVLET_DIR = $(SERVLET_RELEASE)/$(SERVLET_COMP)/$(SERVLET_VERSION)
+SERVLET_DEP = $(addprefix $(CLASS_DEST)/, $(SERVLET_FILES))
+SERVLET_CP = $(subst $(SPACE),$(PATH_SEP),$(SERVLET_DEP))
+SERVLET_PULL = $(subst $(SPACE),$(COMMA),$(SERVLET_FILES))
+
+ifndef SERVLET_PULL_METHOD
+SERVLET_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(SERVLET_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ echo "Inside ftppull"
+ $(FTP_PULL) -method $(COMPONENT_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(SERVLET_DIR) \
+ -files $(SERVLET_PULL)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component servlet SDK files $@" ; \
+ fi
+
+###########################################################
+
+# LDAP java classes #######################################
+LDAPJDK = ldapjdk.jar
+LDAPJDK_VERSION = $(LDAPJDK_RELDATE)
+LDAPJDK_RELEASE = $(COMPONENTS_DIR)
+LDAPJDK_DIR = $(LDAPJDK_RELEASE)
+LDAPJDK_IMPORT = $(LDAPJDK_RELEASE)/$(LDAPJDK_COMP)/$(LDAPJDK_VERSION)/$(NSOBJDIR_NAME)
+# This is java, so there is only one real platform subdirectory
+LDAPJARFILE=$(CLASS_DEST)/ldapjdk.jar
+LDAPJDK_DEP=$(LDAPJARFILE)
+
+#PACKAGE_UNDER_JAVA += $(LDAPJARFILE)
+
+ifndef LDAPJDK_PULL_METHOD
+LDAPJDK_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(LDAPJDK_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(LDAPJDK_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(LDAPJDK_IMPORT) \
+ -files $(LDAPJDK)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component LDAPJDK file $@" ; \
+ fi
+
+###########################################################
+
+# MCC java classes - the Mission Control Console #########
+MCC_VERSION=$(MCC_RELDATE)$(SEC_SUFFIX)
+#
+MCCJAR = mcc$(MCC_REL).jar
+MCCJAR_EN = mcc$(MCC_REL)_en.jar
+NMCLFJAR = nmclf$(MCC_REL).jar
+NMCLFJAR_EN = nmclf$(MCC_REL)_en.jar
+BASEJAR = base.jar
+#MCC_RELEASE=$(COMPONENTS_DIR_DEV)
+MCC_RELEASE=$(COMPONENTS_DIR)
+MCC_JARDIR = $(MCC_RELEASE)/$(MCC_COMP)/$(MCC_VERSION)/jars
+MCCJARFILE=$(CLASS_DEST)/$(MCCJAR)
+NMCLFJARFILE=$(CLASS_DEST)/$(NMCLFJAR)
+BASEJARFILE=$(CLASS_DEST)/$(BASEJAR)
+
+MCC_DEP = $(BASEJARFILE)
+MCC_FILES=$(MCCJAR),$(MCCJAR_EN),$(NMCLFJAR),$(NMCLFJAR_EN),$(BASEJAR)
+
+#PACKAGE_UNDER_JAVA += $(addprefix $(CLASS_DEST)/,$(subst $(COMMA),$(SPACE),$(MCC_FILES)))
+
+ifndef MCC_PULL_METHOD
+MCC_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(MCC_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(MCC_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(MCC_JARDIR) \
+ -files $(MCC_FILES)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component MCC file $@" ; \
+ fi
+
+###########################################################
+
+###########################################################
+### Perldap package #######################################
+
+PERLDAP_COMPONENT_DIR = $(COMPONENTS_DIR)/perldap/$(PERLDAP_VERSION)/$(NSOBJDIR_NAME_32)
+PERLDAP_ZIP_FILE = perldap14.zip
+
+###########################################################
+
+# JSS classes - for the Mission Control Console ######
+JSSJAR = jss$(JSS_JAR_VERSION).jar
+JSSJARFILE = $(CLASS_DEST)/$(JSSJAR)
+JSS_RELEASE = $(COMPONENTS_DIR)/$(JSS_COMP)/$(JSS_VERSION)
+JSS_DEP = $(JSSJARFILE)
+
+#PACKAGE_UNDER_JAVA += $(JSSJARFILE)
+
+ifndef JSS_PULL_METHOD
+JSS_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(JSS_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(JSS_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(JSS_RELEASE) \
+ -files $(JSSJAR)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component JSS file $@" ; \
+ fi
+
+###########################################################
+
+###########################################################
+### Admin Server package ##################################
+
+ADMIN_REL = $(ADM_VERSDIR)
+ADMIN_REL_DATE = $(ADM_VERSION)
+ADMIN_FILE = admserv.tar.gz
+ADMIN_FILE_TAR = admserv.tar
+ADMSDKOBJDIR = $(NSCONFIG)$(NSOBJDIR_TAG).OBJ
+IMPORTADMINSRV_BASE=$(COMPONENTS_DIR)/$(ADMIN_REL)/$(ADMIN_REL_DATE)
+IMPORTADMINSRV = $(IMPORTADMINSRV_BASE)/$(NSOBJDIR_NAME_32)
+ADMSERV_DIR=$(ABS_ROOT)/dist/$(NSOBJDIR_NAME)/admserv
+ADMSERV_DEP = $(ADMSERV_DIR)/setup$(EXE_SUFFIX)
+
+ifdef FORTEZZA
+ ADM_VERSION = $(ADM_RELDATE)F
+else
+ ifeq ($(SECURITY), domestic)
+ ADM_VERSION = $(ADM_RELDATE)D
+ else
+ ifneq ($(ARCH), IRIX)
+ ADM_VERSION = $(ADM_RELDATE)E
+ else
+ ADM_VERSION = $(ADM_RELDATE)D
+ endif
+ endif
+endif
+
+ADM_VERSION = $(ADM_RELDATE)$(SEC_SUFFIX)
+ADM_RELEASE = $(COMPONENTS_DIR)/$(ADM_VERSDIR)/$(ADM_VERSION)/$(NSOBJDIR_NAME)
+
+ifndef ADMSERV_PULL_METHOD
+ADMSERV_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+ifndef ADMSERV_DEPS
+ADMSERV_DEPS = $(COMPONENT_DEPS)
+endif
+#IMPORTADMINSRV = /share/builds/sbsrel1/admsvr/admsvr62/ships/20030702.2/spd04_Solaris8/SunOS5.8-domestic-optimize-normal
+#ADM_RELEASE = /share/builds/sbsrel1/admsvr/admsvr62/ships/20030702.2/spd04_Solaris8/SunOS5.8-domestic-optimize-normal
+$(ADMSERV_DEP): $(ABS_ROOT)/dist/$(NSOBJDIR_NAME)
+ifdef ADMSERV_DEPS
+ $(FTP_PULL) -method $(ADMSERV_PULL_METHOD) \
+ -objdir $(ADMSERV_DIR) -componentdir $(IMPORTADMINSRV) \
+ -files $(ADMIN_FILE) -unzip $(ADMSERV_DIR)
+endif
+ @if [ ! -f $@ ] ; \
+ then echo "Error: could not get component ADMINSERV file $@" ; \
+ exit 1 ; \
+ fi
+### Admin Server END ######################################
+
+
+
+### SASL package ##########################################
+
+SASL_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/sasl
+SASL_RELEASE = $(COMPONENTS_DIR)/sasl/$(SASL_VERSDIR)/$(SASL_RELDATE)/$(NSOBJDIR_NAME)
+SASL_LIBPATH = $(SASL_BUILD_DIR)/lib
+SASL_BINPATH = $(SASL_BUILD_DIR)/bin
+SASL_INCLUDE = $(SASL_BUILD_DIR)/include
+SASL_DEP = $(SASL_INCLUDE)/sasl.h
+ifeq ($(ARCH), WINNT)
+SASL_LINK = /LIBPATH:$(SASL_LIBPATH) sasl.lib
+else
+ifeq ($(ARCH), SOLARIS)
+GSSAPI_LIBS=-lgss
+endif
+#ifeq ($(ARCH), HPUX)
+GSSAPI_LIBS=-lgss
+#endif
+ifeq ($(ARCH), Linux)
+GSSAPI_LIBS=-L/usr/kerberos/lib -lgssapi_krb5
+endif
+SASL_LINK = -L$(SASL_LIBPATH) -lsasl $(GSSAPI_LIBS)
+#SASL_LINK = -L$(SASL_LIBPATH) -lsasl
+endif
+
+ifndef SASL_PULL_METHOD
+SASL_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(SASL_DEP): $(NSCP_DISTDIR_FULL_RTL)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(SASL_PULL_METHOD) \
+ -objdir $(SASL_BUILD_DIR) -componentdir $(SASL_RELEASE) \
+ -files lib,include
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component SASL file $@" ; \
+ fi
+
+###########################################################
+
+### JSP compiler package ##################################
+
+JSPC_REL = $(JSPC_VERSDIR)
+JSPC_REL_DATE = $(JSPC_VERSION)
+JSPC_FILES = jasper-compiler.jar jasper-runtime.jar
+JSPC_RELEASE = $(COMPONENTS_DIR)
+JSPC_DIR = $(JSPC_RELEASE)/$(JSPC_COMP)/$(JSPC_VERSION)
+JSPC_DEP = $(addprefix $(CLASS_DEST)/, $(JSPC_FILES))
+JSPC_CP = $(subst $(SPACE),$(PATH_SEP),$(JSPC_DEP))
+JSPC_PULL = $(subst $(SPACE),$(COMMA),$(JSPC_FILES))
+
+ifndef JSPC_PULL_METHOD
+JSPC_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(JSPC_DEP): $(CLASS_DEST)
+ifdef COMPONENT_DEPS
+ echo "Inside ftppull"
+ $(FTP_PULL) -method $(COMPONENT_PULL_METHOD) \
+ -objdir $(CLASS_DEST) -componentdir $(JSPC_DIR) \
+ -files $(JSPC_PULL)
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component jspc files $@" ; \
+ fi
+
+###########################################################
+
+### ICU package ##########################################
+
+ICU_LIB_VERSION = 24
+ICU_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/libicu
+ICU_RELEASE = $(COMPONENTS_DIR)/libicu/$(ICU_VERSDIR)/$(ICU_RELDATE)/$(NSOBJDIR_NAME)
+ICU_LIBPATH = $(ICU_BUILD_DIR)/lib
+ICU_BINPATH = $(ICU_BUILD_DIR)/bin
+ICU_INCPATH = $(ICU_BUILD_DIR)/include
+ICU_DEP = $(ICU_INCPATH)/unicode/unicode.h
+ICU_INCLUDE = -I$(ICU_INCPATH)
+ifeq ($(ARCH), WINNT)
+ifeq ($(BUILD_DEBUG), optimize)
+ICU_LIB_SUF=
+else
+ICU_LIB_SUF=d
+endif
+ICU_LIBNAMES = icuin$(ICU_LIB_SUF) icuuc$(ICU_LIB_SUF) icudata
+ICU_DLLNAMES = icuin$(ICU_LIB_VERSION)$(ICU_LIB_SUF) icuuc$(ICU_LIB_VERSION)$(ICU_LIB_SUF) icudt$(ICU_LIB_VERSION)l
+ICULINK = /LIBPATH:$(ICU_LIBPATH) $(addsuffix .$(LIB_SUFFIX),$(ICU_LIBNAMES))
+LIBS_TO_PKG += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(ICU_BINPATH)/,$(ICU_DLLNAMES)))
+LIBS_TO_PKG_SHARED += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(ICU_BINPATH)/,$(ICU_DLLNAMES)))
+LIBS_TO_PKG_CLIENTS += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(ICU_BINPATH)/,$(ICU_DLLNAMES)))
+else
+ICU_LIBNAMES = icui18n icuuc icudata
+ICULINK = -L$(ICU_LIBPATH) $(addprefix -l, $(ICU_LIBNAMES))
+LIBS_TO_PKG += $(addsuffix .$(ICU_LIB_VERSION),$(addsuffix .$(DLL_SUFFIX),$(addprefix $(ICU_LIBPATH)/,$(addprefix lib,$(ICU_LIBNAMES)))))
+LIBS_TO_PKG_SHARED += $(addsuffix .$(ICU_LIB_VERSION),$(addsuffix .$(DLL_SUFFIX),$(addprefix $(ICU_LIBPATH)/,$(addprefix lib,$(ICU_LIBNAMES)))))
+LIBS_TO_PKG_CLIENTS += $(addsuffix .$(ICU_LIB_VERSION),$(addsuffix .$(DLL_SUFFIX),$(addprefix $(ICU_LIBPATH)/,$(addprefix lib,$(ICU_LIBNAMES)))))
+#LIBS_TO_PKG = $(addsuffix $(addprefix lib,$(ICU_LIBNAMES))
+endif
+
+BINS_TO_PKG_SHARED += $(ICU_BINPATH)/uconv$(EXE_SUFFIX)
+
+ifndef ICU_PULL_METHOD
+ICU_PULL_METHOD = $(COMPONENT_PULL_METHOD)
+endif
+
+$(ICU_DEP): $(NSCP_DISTDIR_FULL_RTL)
+ifdef COMPONENT_DEPS
+ $(FTP_PULL) -method $(ICU_PULL_METHOD) \
+ -objdir $(ICU_BUILD_DIR) -componentdir $(ICU_RELEASE) \
+ -files lib,include,bin
+endif
+ -@if [ ! -f $@ ] ; \
+ then echo "Error: could not get component ICU file $@" ; \
+ fi
+
+###########################################################