summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2003-03-29 00:42:43 +0000
committerwtc%netscape.com <devnull@localhost>2003-03-29 00:42:43 +0000
commitf2d3aa43b14e2804a4346d577391ae9fee4d3a7d (patch)
treed8a4e801bd5b9e198d774cef7f5c57ce40983409
parentbaa56108487d37ff1ff488f11600f8641b6c000a (diff)
downloadnss-hg-f2d3aa43b14e2804a4346d577391ae9fee4d3a7d.tar.gz
Bug 199628: support shlibsign on OpenVMS. Pass $(OS_TARGET) instead of
$(IS_WINDOWS) to sign.sh and sign.cmd (which ignores that argument). In sign.sh, use a case statement with three cases: Windows, OpenVMS, and others. The patch is contributed by Colin Blakes <colin@theblakes.com>. Modified Files: Makefile sign.cmd sign.sh
-rw-r--r--security/nss/cmd/shlibsign/Makefile10
-rw-r--r--security/nss/cmd/shlibsign/sign.cmd2
-rw-r--r--security/nss/cmd/shlibsign/sign.sh33
3 files changed, 31 insertions, 14 deletions
diff --git a/security/nss/cmd/shlibsign/Makefile b/security/nss/cmd/shlibsign/Makefile
index 84b6129c4..9228540a1 100644
--- a/security/nss/cmd/shlibsign/Makefile
+++ b/security/nss/cmd/shlibsign/Makefile
@@ -54,12 +54,6 @@ include $(CORE_DEPTH)/coreconf/config.mk
include ../platlibs.mk
-ifeq (,$(filter-out WIN%,$(OS_TARGET)))
- IS_WINDOWS="YES"
-else
- IS_WINDOWS="NO"
-endif
-
#
# we really should have this driven from a list file made during the normal
# NSS build prodecure.
@@ -107,9 +101,9 @@ include ../platrules.mk
%.chk: %.$(DLL_SUFFIX)
ifeq ($(OS_TARGET), OS2)
- -exec sign.cmd $(DIST) $(OBJDIR) $(IS_WINDOWS) $<
+ -exec sign.cmd $(DIST) $(OBJDIR) $(OS_TARGET) $<
else
- @sh ./sign.sh $(DIST) $(OBJDIR) $(IS_WINDOWS) $<
+ @sh ./sign.sh $(DIST) $(OBJDIR) $(OS_TARGET) $<
endif
libs install :: $(CHECKLOC)
diff --git a/security/nss/cmd/shlibsign/sign.cmd b/security/nss/cmd/shlibsign/sign.cmd
index 1f4413d59..028334654 100644
--- a/security/nss/cmd/shlibsign/sign.cmd
+++ b/security/nss/cmd/shlibsign/sign.cmd
@@ -1,5 +1,5 @@
/* Equivalent to sign.sh for OS/2 */
-PARSE ARG dist objdir iswindows therest
+PARSE ARG dist objdir os_target therest
dist=forwardtoback(dist);
objdir=forwardtoback(objdir);
'echo 'dist
diff --git a/security/nss/cmd/shlibsign/sign.sh b/security/nss/cmd/shlibsign/sign.sh
index 808a690a2..4fb47a43a 100644
--- a/security/nss/cmd/shlibsign/sign.sh
+++ b/security/nss/cmd/shlibsign/sign.sh
@@ -1,5 +1,6 @@
#!/bin/sh
-if [ ${3} = "YES" ]; then
+case "${3}" in
+WIN*)
if echo "${PATH}" | grep -c \; >/dev/null; then
PATH=${PATH}\;${1}/bin\;${1}/lib
else
@@ -12,7 +13,28 @@ if [ ${3} = "YES" ]; then
PATH=${PATH}:${ARG1}/bin:${ARG1}/lib
fi
export PATH
-else
+ echo ${2}/shlibsign -v -i ${4}
+ ${2}/shlibsign -v -i ${4}
+ ;;
+OpenVMS)
+ temp="tmp$$.tmp"
+ temp2="tmp$$.tmp2"
+ cd ${1}/lib
+ vmsdir=`dcl show default`
+ ls *.so > $temp
+ sed -e "s/\([^\.]*\)\.so/\$ define\/job \1 ${vmsdir}\1.so/" $temp > $temp2
+ echo '$ define/job getipnodebyname xxx' >> $temp2
+ echo '$ define/job vms_null_dl_name sys$share:decc$shr' >> $temp2
+ dcl @$temp2
+ echo ${2}/shlibsign -v -i ${4}
+ ${2}/shlibsign -v -i ${4}
+ sed -e "s/\([^\.]*\)\.so/\$ deass\/job \1/" $temp > $temp2
+ echo '$ deass/job getipnodebyname' >> $temp2
+ echo '$ deass/job vms_null_dl_name' >> $temp2
+ dcl @$temp2
+ rm $temp $temp2
+ ;;
+*)
LIBPATH=`(cd ${1}/lib; pwd)`
export LIBPATH
SHLIB_PATH=${1}/lib
@@ -23,6 +45,7 @@ else
export DYLD_LIBRARY_PATH
LIBRARY_PATH=${1}/lib:$LIBRARY_PATH
export LIBRARY_PATH
-fi
-echo ${2}/shlibsign -v -i ${4}
-${2}/shlibsign -v -i ${4}
+ echo ${2}/shlibsign -v -i ${4}
+ ${2}/shlibsign -v -i ${4}
+ ;;
+esac