summaryrefslogtreecommitdiffstats
path: root/util/opensslwrap.sh
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-02-01 23:48:37 +0000
committerAndy Polyakov <appro@openssl.org>2005-02-01 23:48:37 +0000
commit62d27939c2f103654b52a83b17febe968a67ec73 (patch)
treee6be6a7d5bdb754d840776066d28d8a98154c316 /util/opensslwrap.sh
parent8c3c570134336e915b2b6aeb2203f034f5a29a01 (diff)
Address run-time linker problems: LD_PRELOAD issue on multi-ABI platforms
and SafeDllSearchMode in Windows. Submitted by: Richard Levitte
Diffstat (limited to 'util/opensslwrap.sh')
-rwxr-xr-xutil/opensslwrap.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/opensslwrap.sh b/util/opensslwrap.sh
new file mode 100755
index 0000000000..91d29e2b87
--- /dev/null
+++ b/util/opensslwrap.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+HERE="`echo $0 | sed -e 's|[^/]*$||'`"
+OPENSSL="${HERE}../apps/openssl"
+
+if [ -x "${OPENSSL}.exe" ]; then
+ # The original reason for this script existence is to work around
+ # certain caveats in run-time linker behaviour. On Windows platforms
+ # adjusting $PATH used to be sufficient, but with introduction of
+ # SafeDllSearchMode in XP/2003 the only way to get it right in
+ # *all* possible situations is to copy newly built .DLLs to apps/
+ # and test/, which is now done elsewhere... The $PATH is adjusted
+ # for backward compatibility (and nostagical reasons:-).
+ if [ "$OSTYPE" != msdosdjgpp ]; then
+ PATH="${HERE}..:$PATH"; export PATH
+ fi
+ exec "${OPENSSL}.exe" "$@"
+elif [ -x "${OPENSSL}" -a -x "${HERE}shlib_wrap.sh" ]; then
+ exec "${HERE}shlib_wrap.sh" "${OPENSSL}" "$@"
+else
+ exec "${OPENSSL}" "$@" # hope for the best...
+fi