Browse Source

[186642] Directory Server Makefile updates for Internal build
Package 32-bit LDAPSDK, NSPR, and NSS libraries in shared32/lib for perldap (Solaris and PA-RISC only).

Noriko Hosoi 19 years ago
parent
commit
87dddea6af
6 changed files with 99 additions and 2 deletions
  1. 4 0
      buildpaths.mk
  2. 54 1
      components.mk
  3. 3 0
      internal_buildpaths.mk
  4. 25 1
      internal_comp_deps.mk
  5. 9 0
      ldap/cm/Makefile
  6. 4 0
      nsconfig.mk

+ 4 - 0
buildpaths.mk

@@ -73,14 +73,18 @@ ifdef MOZILLA_SOURCE_ROOT
     # ours - we need to map ours to theirs
     ifneq (,$(findstring RHEL3,$(NSOBJDIR_NAME)))
       MOZ_OBJDIR_NAME = $(subst _gcc3_,_glibc_PTH$(NS64TAG)_,$(subst RHEL3,Linux2.4,$(NSOBJDIR_NAME)))
+      MOZ_OBJDIR_NAME_32 = $(subst _gcc3_,_glibc_PTH_,$(subst RHEL3,Linux2.4,$(NSOBJDIR_NAME)))
     else
     ifneq (,$(findstring RHEL4,$(NSOBJDIR_NAME)))
       MOZ_OBJDIR_NAME = $(subst _gcc3_,_glibc_PTH$(NS64TAG)_,$(subst RHEL4,Linux2.6,$(NSOBJDIR_NAME)))
+      MOZ_OBJDIR_NAME_32 = $(subst _gcc3_,_glibc_PTH_,$(subst RHEL4,Linux2.6,$(NSOBJDIR_NAME)))
     else
     ifneq (,$(findstring Linux,$(NSOBJDIR_NAME)))
       MOZ_OBJDIR_NAME = $(subst _glibc_PTH_,_glibc_PTH$(NS64TAG)_,$(NSOBJDIR_NAME))
+      MOZ_OBJDIR_NAME_32 = $(subst _glibc_PTH_,_glibc_PTH_,$(NSOBJDIR_NAME))
     else
       MOZ_OBJDIR_NAME = $(NSOBJDIR_NAME)
+      MOZ_OBJDIR_NAME_32 = $(NSOBJDIR_NAME_32)
     endif
     endif
     endif

+ 54 - 1
components.mk

@@ -152,12 +152,16 @@ NSPR_LIBNAMES += nspr4
 ifdef NSPR_SOURCE_ROOT
   NSPR_LIBPATH = $(NSPR_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME)/lib
   NSPR_INCDIR = $(NSPR_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME)/include
+  NSPR_LIBPATH_32 = $(NSPR_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME_32)/lib
+  NSPR_INCDIR_32 = $(NSPR_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME_32)/include
 else
   NSPR_LIBPATH = $(NSPR_BUILD_DIR)/lib
   NSPR_INCDIR = $(NSPR_BUILD_DIR)/include
+  NSPR_LIBPATH_32 = $(NSPR_BUILD_DIR_32)/lib
+  NSPR_INCDIR_32 = $(NSPR_BUILD_DIR_32)/include
 endif
 NSPR_INCLUDE = -I$(NSPR_INCDIR)
-NSPR_LIBS_TO_PKG = $(addsuffix .$(DLL_SUFFIX),$(addprefix $(NSPR_LIBPATH)/lib,$(NSPR_LIBNAMES)))
+NSPR_LIBS_TO_PKG = $(addsuffix .$(DLL_SUFFIX),$(addprefix $(NSPR_LIBPATH)/$(LIB_PREFIX),$(NSPR_LIBNAMES)))
 
 LIBS_TO_PKG += $(NSPR_LIBS_TO_PKG)
 LIBS_TO_PKG_SHARED += $(NSPR_LIBS_TO_PKG) # needed for cmd line tools
@@ -186,10 +190,14 @@ ifdef SECURITY_SOURCE_ROOT
   SECURITY_LIBPATH = $(SECURITY_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME)/lib
   SECURITY_BINPATH = $(SECURITY_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME)/bin
   SECURITY_INCDIR = $(SECURITY_SOURCE_ROOT)/dist/public/nss
+  SECURITY_LIBPATH_32 = $(SECURITY_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME_32)/lib
+  SECURITY_BINPATH_32 = $(SECURITY_SOURCE_ROOT)/dist/$(MOZ_OBJDIR_NAME_32)/bin
 else
   SECURITY_LIBPATH = $(SECURITY_BUILD_DIR)/lib
   SECURITY_BINPATH = $(SECURITY_BUILD_DIR)/bin
   SECURITY_INCDIR = $(SECURITY_BUILD_DIR)/include
+  SECURITY_LIBPATH_32 = $(SECURITY_BUILD_DIR_32)/lib
+  SECURITY_BINPATH_32 = $(SECURITY_BUILD_DIR_32)/bin
 endif
 SECURITY_INCLUDE = -I$(SECURITY_INCDIR)
 # add crlutil and ocspclnt when we support CRL and OCSP cert checking in DS
@@ -227,6 +235,7 @@ SECURITY_LIBS_TO_PKG = $(addsuffix .$(DLL_SUFFIX),$(addprefix $(SECURITY_LIBPATH
 SECURITY_LIBS_TO_PKG += $(addsuffix .chk,$(addprefix $(SECURITY_LIBPATH)/$(LIB_PREFIX),$(SECURITY_NEED_CHK)))
 LIBS_TO_PKG += $(SECURITY_LIBS_TO_PKG)
 LIBS_TO_PKG_SHARED += $(SECURITY_LIBS_TO_PKG) # for cmd line tools
+
 ifeq ($(USE_SETUPUTIL), 1)
   PACKAGE_SETUP_LIBS += $(SECURITY_LIBS_TO_PKG) # for the setup programs
 endif
@@ -285,10 +294,17 @@ ifdef LDAPSDK_SOURCE_ROOT
   LDAPSDK_LIBPATH = $(LDAPSDK_SOURCE_ROOT)/dist/lib
   LDAPSDK_INCDIR = $(LDAPSDK_SOURCE_ROOT)/dist/public/ldap
   LDAPSDK_BINPATH = $(LDAPSDK_SOURCE_ROOT)/dist/bin
+# need to build in another source root ...
+  LDAPSDK_LIBPATH_32 = $(LDAPSDK_SOURCE_ROOT_32)/dist/lib
+  LDAPSDK_INCDIR_32 = $(LDAPSDK_SOURCE_ROOT_32)/dist/public/ldap
+  LDAPSDK_BINPATH_32 = $(LDAPSDK_SOURCE_ROOT_32)/dist/bin
 else
   LDAPSDK_LIBPATH = $(LDAP_ROOT)/lib
   LDAPSDK_INCDIR = $(LDAP_ROOT)/include
   LDAPSDK_BINPATH = $(LDAP_ROOT)/bin
+  LDAPSDK_LIBPATH_32 = $(LDAP_ROOT_32)/lib
+  LDAPSDK_INCDIR_32 = $(LDAP_ROOT_32)/include
+  LDAPSDK_BINPATH_32 = $(LDAP_ROOT_32)/bin
 endif
 LDAPSDK_INCLUDE = -I$(LDAPSDK_INCDIR)
 
@@ -601,11 +617,48 @@ PACKAGE_SRC_DEST += $(PERLDAP_ARCHLIB_DIR) lib/perl
 PACKAGE_SRC_DEST += $(PERLDAP_LIB_DIR) lib/perl
 PACKAGE_SRC_DEST += $(PERLDAP_AUTOLIB_DIR) lib/perl
 
+# 32-bit perldap is packaged in 64-bit DS on Solaris and HP-UX PA-RISC.
+# It requires 32-bit LDAPSDK, NSPR, NSS.
+ifeq ($(USE_64), 1)
+  ifeq ($(BUILD_ARCH), SOLARIS)
+    PACKAGE_LIB32:=1
+  endif
+  ifeq ($(BUILD_ARCH), HPUX)
+    HPUX_ARCH := $(shell uname -m)
+    ifneq ($(HPUX_ARCH), ia64)
+      PACKAGE_LIB32:=1
+    endif
+  endif
+endif
+
+
 # must define dependencies last because they depend on the definitions above
 ifeq ($(INTERNAL_BUILD), 1)
 include $(BUILD_ROOT)/internal_comp_deps.mk
 endif
 
+ifeq ($(PACKAGE_LIB32), 1)
+  NSS32_LIBNAMES = $(SECURITY_LIBNAMES) smime3
+  NSS32_NEED_CHK = softokn3
+  ifeq ($(ARCH), SOLARIS)
+    NSS32_LIBNAMES += freebl_32fpu_3 freebl_32int64_3 freebl_32int_3
+# these libs have a corresponding .chk file
+    NSS32_NEED_CHK += freebl_32fpu_3 freebl_32int64_3 freebl_32int_3
+  endif
+  ifeq ($(ARCH), HPUX)
+    NSS32_LIBNAMES += freebl_32fpu_3 freebl_32int_3
+# these libs have a corresponding .chk file
+    NSS32_NEED_CHK += freebl_32fpu_3 freebl_32int_3
+  endif
+  NSSCKBI_FILE = $(LIB_PREFIX)nssckbi.$(DLL_SUFFIX)
+  NSSCKBI32_FILE = $(LIB_PREFIX)nssckbi32.$(DLL_SUFFIX)
+  SECURITY_FILES_32_TMP = $(NSSCKBI_FILE) $(addprefix $(LIB_PREFIX),$(addsuffix .$(DLL_SUFFIX),$(NSS32_LIBNAMES))) $(addprefix $(LIB_PREFIX),$(addsuffix .chk,$(NSS32_NEED_CHK)))
+
+  LIBS_TO_PKG_SHARED_32 = $(addprefix $(SECURITY_LIBPATH_32)/,$(SECURITY_FILES_32_TMP))
+  LIBS_TO_PKG_SHARED_32 += $(addsuffix .$(DLL_SUFFIX),$(addprefix $(NSPR_LIBPATH_32)/$(LIB_PREFIX),$(NSPR_LIBNAMES)))
+  LIBS_TO_PKG_SHARED_32 += $(addprefix $(LDAPSDK_LIBPATH_32)/,$(LDAP_SOLIBS))
+endif # PACKAGE_LIB32
+
 #################################################
 # User Sync Components
 #################################################

+ 3 - 0
internal_buildpaths.mk

@@ -77,6 +77,7 @@ endif
 #NSPR_SOURCE_ROOT = $(MOZILLA_SOURCE_ROOT)
 ifndef NSPR_SOURCE_ROOT
 NSPR_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/nspr
+NSPR_BUILD_DIR_32 = $(NSCP_DISTDIR_FULL_RTL_32)/nspr
 # NSPR also needs a build dir with a full, absolute path for some reason
 NSPR_ABS_BUILD_DIR = $(NSCP_ABS_DISTDIR_FULL_RTL)/nspr
 endif # NSPR_SOURCE_ROOT
@@ -89,6 +90,7 @@ endif # DBM_SOURCE_ROOT
 #SECURITY_SOURCE_ROOT = $(MOZILLA_SOURCE_ROOT)
 ifndef SECURITY_SOURCE_ROOT
 SECURITY_BUILD_DIR = $(NSCP_DISTDIR_FULL_RTL)/nss
+SECURITY_BUILD_DIR_32 = $(NSCP_DISTDIR_FULL_RTL_32)/nss
 endif # SECURITY_SOURCE_ROOT
 
 #SVRCORE_SOURCE_ROOT = $(MOZILLA_SOURCE_ROOT)
@@ -99,6 +101,7 @@ endif # SVRCORE_SOURCE_ROOT
 #LDAPSDK_SOURCE_ROOT = $(MOZILLA_SOURCE_ROOT)
 ifndef LDAPSDK_SOURCE_ROOT
 LDAP_ROOT = $(NSCP_DISTDIR_FULL_RTL)/ldapsdk
+LDAP_ROOT_32 = $(NSCP_DISTDIR_FULL_RTL_32)/ldapsdk
 endif # LDAPSDK_SOURCE_ROOT
 
 #SASL_SOURCE_ROOT = $(BUILD_ROOT)/../cyrus-sasl-2.1.20

+ 25 - 1
internal_comp_deps.mk

@@ -53,7 +53,7 @@ BOMB=$(BUILD_BOMB)
 endif # BUILD_PUMPKIN
 
 ifndef NSPR_SOURCE_ROOT
-NSPR_IMPORT = $(COMPONENTS_DIR)/nspr20/$(NSPR_RELDATE)/$(FULL_RTL_OBJDIR)
+NSPR_IMPORT = $(COMPONENTS_DIR)/nspr/$(NSPR_RELDATE)/$(FULL_RTL_OBJDIR)
 NSPR_DEP = $(NSPR_LIBPATH)/libnspr4.$(LIB_SUFFIX)
 
 ifndef NSPR_PULL_METHOD
@@ -158,6 +158,15 @@ else
   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)
 endif
 
+# Solaris and HP-UX PA-RISC only #########################################
+# if building 64 bit version, also need the 32 bit version of NSS and NSPR
+ifeq ($(PACKAGE_LIB32), 1)
+  NSPR_IMPORT_32 = $(COMPONENTS_DIR)/nspr/$(NSPR_RELDATE)/$(FULL_RTL_OBJDIR_32)
+  SECURITY_IMPORT_32 = $(COMPONENTS_DIR)/nss/$(SECURITY_RELDATE)/$(FULL_RTL_OBJDIR_32)
+  LDAP_RELEASE_32 = $(LDAP_SBC)/$(LDAPCOMP_DIR)/$(LDAP_VERSION)/$(FULL_RTL_OBJDIR_32)
+  SECURITY_FILES_32 = $(subst $(SPACE),$(COMMA),$(SECURITY_FILES_32_TMP))
+endif
+
 ifndef LDAPSDK_PULL_METHOD
 LDAPSDK_PULL_METHOD = $(COMPONENT_PULL_METHOD)
 endif
@@ -172,6 +181,21 @@ endif
 	-@if [ ! -f $@ ] ; \
 	then echo "Error: could not get component LDAPSDK file $@" ; \
 	fi
+
+ifeq ($(PACKAGE_LIB32), 1)
+	$(FTP_PULL) -method $(SECURITY_PULL_METHOD) \
+		-objdir $(NSPR_BUILD_DIR_32) -componentdir $(NSPR_IMPORT_32) \
+		-files lib
+	mkdir -p $(SECURITY_BUILD_DIR_32)/lib
+	$(FTP_PULL) -method $(SECURITY_PULL_METHOD) \
+		-objdir $(SECURITY_BUILD_DIR_32)/lib -componentdir $(SECURITY_IMPORT_32)/lib \
+		-files $(SECURITY_FILES_32)
+	$(FTP_PULL) -method $(LDAPSDK_PULL_METHOD) \
+		-objdir $(LDAP_ROOT_32) -componentdir $(LDAP_RELEASE_32) \
+		-files lib
+	mv -f $(SECURITY_BUILD_DIR_32)/lib/$(NSSCKBI_FILE) $(SECURITY_BUILD_DIR_32)/lib/$(NSSCKBI32_FILE)
+endif # PACKAGE_LIB32
+##
 endif # LDAPSDK_SOURCE_ROOT
 
 ifndef SASL_SOURCE_ROOT

+ 9 - 0
ldap/cm/Makefile

@@ -333,6 +333,14 @@ ifdef USE_DSGW
 	fi ; \
 	done
 endif
+ifeq ($(PACKAGE_LIB32), 1)
+# these are files to copy to the shared32/lib directory - nspr, nss, ldapsdk lib
+	for file in $(LIBS_TO_PKG_SHARED_32); \
+	do if [ -f $$file ] ; \
+	then $(INSTALL) -m 755 $$file $(RELDIR)/shared32/lib ; \
+	fi ; \
+	done
+endif
 endif
 
 # PACKAGE_SRC_DEST is defined in components.mk - these are component files and directories to install
@@ -641,6 +649,7 @@ endif
 endif
 
 ifeq ($(USE_PERLDAP), 1)
+	-@rm -rf $(INSTDIR)/perldap
 	mkdir $(INSTDIR)/perldap
 	cp -R $(PERLDAP_BUILT_DIR)/* $(INSTDIR)/perldap
 	$(PERL) genPerlDAPInf.pl $(INSTDIR)/perldap/perldap.inf 1.5 "Fedora Project"

+ 4 - 0
nsconfig.mk

@@ -1335,6 +1335,10 @@ FULL_RTL_OBJDIR = $(NSOBJDIR_NAME)
 NSCP_DISTDIR_FULL_RTL = $(NSCP_DISTDIR)
 NSCP_ABS_DISTDIR_FULL_RTL = $(ABS_ROOT_PARENT)/dist/$(FULL_RTL_OBJDIR)
 
+FULL_RTL_OBJDIR_32 = $(NSOBJDIR_NAME_32)
+NSCP_DISTDIR_FULL_RTL_32 = $(BUILD_ROOT)/../dist/$(NSOBJDIR_NAME_32)
+NSCP_ABS_DISTDIR_FULL_RTL_32 = $(ABS_ROOT_PARENT)/dist/$(FULL_RTL_OBJDIR_32)
+
 # these components may have additional RTL debugging support built in on NT
 # adminutil, dbm, ldapsdk, NLS, NSPR, NSS (security)
 # we cannot simply redefine NSOBJDIR_NAME and NSCP_DISTDIR because other