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
This commit is contained in:
wtc%netscape.com 2003-03-29 00:42:43 +00:00
Родитель 0f451fa946
Коммит f101c77399
3 изменённых файлов: 31 добавлений и 14 удалений

Просмотреть файл

@ -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)

Просмотреть файл

@ -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

Просмотреть файл

@ -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