diff options
author | wtc%netscape.com <devnull@localhost> | 2003-03-29 00:42:43 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2003-03-29 00:42:43 +0000 |
commit | f2d3aa43b14e2804a4346d577391ae9fee4d3a7d (patch) | |
tree | d8a4e801bd5b9e198d774cef7f5c57ce40983409 | |
parent | baa56108487d37ff1ff488f11600f8641b6c000a (diff) | |
download | nss-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/Makefile | 10 | ||||
-rw-r--r-- | security/nss/cmd/shlibsign/sign.cmd | 2 | ||||
-rw-r--r-- | security/nss/cmd/shlibsign/sign.sh | 33 |
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 |