[DTrace-devel] [PATCH 05/47] Make *_VERSCRIPT relative to *_DIR

Kris Van Hees kris.van.hees at oracle.com
Sun May 3 20:16:40 PDT 2020


Rules for shared libraries specified in a Build file specify all
files relative to the *_DIR directory except for *_VERSCRIPT.  This
patch updates Makefunctions to make *_VERSCRIPT relative to *_DIR
as well.  This makes build rules for shared libraries more consistent
with the overall build system.

Orabug: 31220516
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 Makefunctions   | 5 +++--
 libdtrace/Build | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/Makefunctions b/Makefunctions
index 7c5627ea..3f398577 100644
--- a/Makefunctions
+++ b/Makefunctions
@@ -125,11 +125,12 @@ endef
 comma := ,
 define shlib-template
 $(objdir)/$($(1)_TARGET).so $(if $($(1)_VERSION),$(objdir)/$($(1)_TARGET).so.$($(1)_VERSION)) $(if $($(1)_SONAME),$(objdir)/$($(1)_SONAME)): \
-                $(foreach build-lib,$($(1)_LIBSOURCES),$(objdir)/build-$($(build-lib)_TARGET).a)
+                $(foreach build-lib,$($(1)_LIBSOURCES),$(objdir)/build-$($(build-lib)_TARGET).a) \
+		$(call src-name,$(1),$($(1)_VERSCRIPT))
 	$(call describe-target,SHLINK,$($(1)_TARGET).so)
 	$(CC) -o $(objdir)/$($(1)_TARGET).so$(if $($(1)_VERSION),.$($(1)_VERSION)) \
 	      -shared $(filter-out $($(1)_NOLDFLAGS),$(LDFLAGS) $($(1)_LDFLAGS)) $(if $($(1)_SONAME),-Wl$(comma)-soname$(comma)$($(1)_SONAME)) \
-	      $(if $($(1)_VERSCRIPT),-Wl$(comma)--version-script=$($(1)_VERSCRIPT)) \
+	      $(if $($(1)_VERSCRIPT),-Wl$(comma)--version-script=$(call src-name,$(1), $($(1)_VERSCRIPT))) \
 	      -Wl,--whole-archive $(foreach primary,$(filter-out $($(1)_SECONDARY),$($(1)_LIBSOURCES)),$(objdir)/build-$($(primary)_TARGET).a) -Wl,--no-whole-archive \
 	      $(foreach secondary,$($(1)_SECONDARY),$(objdir)/build-$($(secondary)_TARGET).a) -L$(objdir) $($(1)_LIBS)
 	$(if $($(1)_VERSION),ln -sf $($(1)_TARGET).so.$($(1)_VERSION) $(objdir)/$($(1)_TARGET).so)
diff --git a/libdtrace/Build b/libdtrace/Build
index 166c5b75..684d8ebc 100644
--- a/libdtrace/Build
+++ b/libdtrace/Build
@@ -36,7 +36,7 @@ libdtrace_LIBS := -ldtrace-ctf -lelf -lz -lrt -lpcap -lpthread -ldl -lm
 endif
 libdtrace_VERSION := 2.0.0
 libdtrace_SONAME := libdtrace.so.2
-libdtrace_VERSCRIPT := $(libdtrace_DIR)libdtrace.ver
+libdtrace_VERSCRIPT := libdtrace.ver
 libdtrace_LIBSOURCES := libdtrace-build libproc libport
 libdtrace_SECONDARY := libproc libport libbpf
 
-- 
2.26.0




More information about the DTrace-devel mailing list