summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Configurations/unix-Makefile.tmpl8
-rwxr-xr-xConfigure9
-rw-r--r--util/build.info2
-rwxr-xr-xutil/shlib_wrap.sh.in (renamed from util/shlib_wrap.sh)2
4 files changed, 14 insertions, 7 deletions
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 1392295607..d486d9e2ab 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -775,18 +775,14 @@ dist:
# Helper targets #####################################################
-link-utils: $(BLDDIR)/util/opensslwrap.sh $(BLDDIR)/util/shlib_wrap.sh
+link-utils: $(BLDDIR)/util/opensslwrap.sh
$(BLDDIR)/util/opensslwrap.sh: configdata.pm
@if [ "$(SRCDIR)" != "$(BLDDIR)" ]; then \
mkdir -p "$(BLDDIR)/util"; \
ln -sf "../$(SRCDIR)/util/opensslwrap.sh" "$(BLDDIR)/util"; \
fi
-$(BLDDIR)/util/shlib_wrap.sh: configdata.pm
- @if [ "$(SRCDIR)" != "$(BLDDIR)" ]; then \
- mkdir -p "$(BLDDIR)/util"; \
- ln -sf "../$(SRCDIR)/util/shlib_wrap.sh" "$(BLDDIR)/util"; \
- fi
+
FORCE:
# Building targets ###################################################
diff --git a/Configure b/Configure
index 71700ece22..96b6590723 100755
--- a/Configure
+++ b/Configure
@@ -300,7 +300,7 @@ my $default_ranlib;
$config{fips}=0;
# Top level directories to build
-$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "tools", "fuzz" ];
+$config{dirs} = [ "crypto", "ssl", "engines", "apps", "test", "util", "tools", "fuzz" ];
# crypto/ subdirectories to build
$config{sdirs} = [
"objects",
@@ -780,6 +780,13 @@ foreach (@argvcopy)
}
}
+if ($libs =~ /(^|\s)-Wl,-rpath,/
+ && !$disabled{shared}
+ && !($disabled{asan} && $disabled{msan} && $disabled{ubsan})) {
+ die "***** Cannot simultaneously use -rpath, shared libraries, and\n",
+ "***** any of asan, msan or ubsan\n";
+}
+
if ($config{fips})
{
delete $disabled{"shared"} if ($disabled{"shared"} =~ /^default/);
diff --git a/util/build.info b/util/build.info
new file mode 100644
index 0000000000..616fbd7967
--- /dev/null
+++ b/util/build.info
@@ -0,0 +1,2 @@
+SCRIPTS_NO_INST=shlib_wrap.sh
+SOURCE[shlib_wrap.sh]=shlib_wrap.sh.in
diff --git a/util/shlib_wrap.sh b/util/shlib_wrap.sh.in
index ce463f17e8..eff11417a5 100755
--- a/util/shlib_wrap.sh
+++ b/util/shlib_wrap.sh.in
@@ -81,6 +81,7 @@ SunOS|IRIX*)
;;
esac
+{- output_off() if $config{ex_libs} !~ /(^|\s)-Wl,-rpath,/; ""; -}
if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then
# Following three lines are major excuse for isolating them into
# this wrapper script. Original reason for setting LD_PRELOAD
@@ -96,6 +97,7 @@ if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then
DYLD_INSERT_LIBRARIES="$LIBCRYPTOSO:$LIBSSLSO" # MacOS X
export LD_PRELOAD _RLD_LIST DYLD_INSERT_LIBRARIES
fi
+{- output_on() if $config{ex_libs} !~ /(^|\s)-Wl,-rpath,/; ""; -}
cmd="$1"; [ -x "$cmd" ] || cmd="$cmd${EXE_EXT}"
shift