05b39e build system: PE, ELF: defined DSO_REF_VER, DSO_REF_SONAME, DSO_REF_SOLINK.

Authored and Committed by midipix 6 years ago
    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.
    
        
file modified
+4 -0
sysinfo/os/elf.mk CHANGED
@@ -1,2 +1,6 @@
1
+ DSO_REF_VER = $(SHARED_LIB)
2
+ DSO_REF_SONAME = $(SHARED_SONAME)
3
+ DSO_REF_SOLINK = $(SHARED_SOLINK)
4
+
1
5
LDFLAGS_SHARED += -Wl,-soname
2
6
LDFLAGS_SHARED += -Wl,$(DSO_SONAME)
file modified
+4 -0
sysinfo/os/pe.mk CHANGED
@@ -1,3 +1,7 @@
1
+ DSO_REF_VER = $(IMPLIB_VER)
2
+ DSO_REF_SONAME = $(IMPLIB_SONAME)
3
+ DSO_REF_SOLINK = $(IMPLIB_SOLINK)
4
+
1
5
LDFLAGS_IMPLIB += -Wl,--output-def
2
6
LDFLAGS_IMPLIB += -Wl,$(IMPLIB_DEF)
3
7
LDFLAGS_SHARED += $(LDFLAGS_IMPLIB)