From 000825b1d3c2c81a61c578bf5385495d36f0dc60 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 25 Nov 2018 05:05:44 -0500 Subject: build system: PE, ELF: defined DSO_REF_VER, DSO_REF_SONAME, DSO_REF_SOLINK. These definitions come in handy when a project generates alongside its ``primary shared library'' one or more ``extension libraries'' that depend on it. When the rules for generating extension libraries use the $^ directive, the above dependency must be declared in a target-aware manner. In most cases, one would want to express this dependency by way of $(DSO_REF_SONAME), thereby pulling in lib/libfoo.so.$(MAJOR) on ELF targets, lib/libfoo.$(MAJOR).lib.a on midipix targets, and lib/libfoo.$(MAJOR).dll.a on win32 targets. --- sysinfo/os/pe.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sysinfo/os/pe.mk b/sysinfo/os/pe.mk index e8e1759..c3c5ba0 100644 --- a/sysinfo/os/pe.mk +++ b/sysinfo/os/pe.mk @@ -1,3 +1,7 @@ +DSO_REF_VER = $(IMPLIB_VER) +DSO_REF_SONAME = $(IMPLIB_SONAME) +DSO_REF_SOLINK = $(IMPLIB_SOLINK) + LDFLAGS_IMPLIB += -Wl,--output-def LDFLAGS_IMPLIB += -Wl,$(IMPLIB_DEF) LDFLAGS_SHARED += $(LDFLAGS_IMPLIB) -- cgit v1.2.3