summaryrefslogtreecommitdiffhomepage
path: root/sofort
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2021-04-09 11:50:40 +0000
committermidipix <writeonce@midipix.org>2021-04-10 20:54:41 +0000
commitf110035c6a8ad4213b65f36c0d253e87a065c6d1 (patch)
treee73631739427ebaa024b45b52c4be0718643896b /sofort
parentac848822e25c7b718a2fb4ac99da36d58cbfebf5 (diff)
downloadmdso-f110035c6a8ad4213b65f36c0d253e87a065c6d1.tar.bz2
mdso-f110035c6a8ad4213b65f36c0d253e87a065c6d1.tar.xz
build system: posix make support: refactored shared library versioning schemes.
Diffstat (limited to 'sofort')
-rw-r--r--sofort/ccenv/ccenv.sh11
-rw-r--r--sofort/config/opt.vars1
-rw-r--r--sofort/core/_version/_soname/version_soname_copy.mk8
-rw-r--r--sofort/core/_version/_soname/version_soname_symlink.mk12
-rw-r--r--sofort/core/_version/version_none.mk10
-rw-r--r--sofort/core/_version/version_used.mk26
-rw-r--r--sofort/core/version.mk58
7 files changed, 67 insertions, 59 deletions
diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh
index 0f94ddc..623ac38 100644
--- a/sofort/ccenv/ccenv.sh
+++ b/sofort/ccenv/ccenv.sh
@@ -1369,7 +1369,10 @@ ccenv_common_init()
if [ $ccenv_cfgtype = 'host' ]; then
ccenv_tflags=
- ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp" OS_DSO_EXRULES=default .cflags-host)
+ ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp" \
+ OS_DSO_EXRULES=default \
+ OS_SONAME=symlink \
+ .cflags-host)
ccenv_cc="$mb_user_cc"
ccenv_cpp="$mb_user_cpp"
@@ -1379,7 +1382,11 @@ ccenv_common_init()
ccenv_pe_image_base="$mb_pe_image_base"
else
ccenv_tflags=
- ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp" OS_DSO_EXRULES=default .cflags-native)
+ ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp" \
+ OS_DSO_EXRULES=default \
+ OS_SONAME=symlink \
+ .cflags-native)
+
ccenv_cc="$mb_native_cc"
ccenv_cpp="$mb_native_cpp"
ccenv_cxx="$mb_native_cxx"
diff --git a/sofort/config/opt.vars b/sofort/config/opt.vars
new file mode 100644
index 0000000..c2ff58d
--- /dev/null
+++ b/sofort/config/opt.vars
@@ -0,0 +1 @@
+version_opt
diff --git a/sofort/core/_version/_soname/version_soname_copy.mk b/sofort/core/_version/_soname/version_soname_copy.mk
new file mode 100644
index 0000000..c176d5a
--- /dev/null
+++ b/sofort/core/_version/_soname/version_soname_copy.mk
@@ -0,0 +1,8 @@
+# version_soname_copy.mk: handling of shared library versioning schemes.
+# this file is covered by COPYING.SOFORT.
+
+install-soname: install-lib
+ cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
+
+$(SHARED_SONAME): $(SHARED_LIB)
+ cp $(SHARED_LIB) $(SHARED_SONAME)
diff --git a/sofort/core/_version/_soname/version_soname_symlink.mk b/sofort/core/_version/_soname/version_soname_symlink.mk
new file mode 100644
index 0000000..963b891
--- /dev/null
+++ b/sofort/core/_version/_soname/version_soname_symlink.mk
@@ -0,0 +1,12 @@
+# version_soname_symlink.mk: handling of shared library versioning schemes.
+# this file is covered by COPYING.SOFORT.
+
+$(SHARED_SONAME): $(SHARED_LIB)
+ rm -f $@.tmp
+ ln -s $(DSO_VER) $@.tmp
+ mv $@.tmp $@
+
+install-soname: install-lib
+ rm -f $(SHARED_SONAME).tmp
+ ln -s $(DSO_VER) $(SHARED_SONAME).tmp
+ mv $(SHARED_SONAME).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
diff --git a/sofort/core/_version/version_none.mk b/sofort/core/_version/version_none.mk
new file mode 100644
index 0000000..d8fc570
--- /dev/null
+++ b/sofort/core/_version/version_none.mk
@@ -0,0 +1,10 @@
+# version_none.mk: handling of shared library versioning schemes.
+# this file is covered by COPYING.SOFORT.
+
+VER_XYZ =
+VER_SONAME =
+
+package-shared-soname:
+package-shared-solink:
+package-install-soname:
+package-install-solink:
diff --git a/sofort/core/_version/version_used.mk b/sofort/core/_version/version_used.mk
new file mode 100644
index 0000000..4724cee
--- /dev/null
+++ b/sofort/core/_version/version_used.mk
@@ -0,0 +1,26 @@
+# version_used.mk: handling of shared library versioning schemes.
+# this file is covered by COPYING.SOFORT.
+
+VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
+VER_SONAME = .$(VER_MAJOR)
+
+package-shared-soname: shared-soname
+package-shared-solink: shared-solink
+package-install-soname: install-soname
+package-install-solink: install-solink
+
+
+
+# libfoo.so (common)
+install-solink: install-lib
+ rm -f $(SHARED_SOLINK).tmp
+ ln -s $(DSO_VER) $(SHARED_SOLINK).tmp
+ mv $(SHARED_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK)
+
+$(SHARED_SOLINK): $(SHARED_LIB)
+ rm -f $@.tmp
+ ln -s $(DSO_VER) $@.tmp
+ mv $@.tmp $@
+
+# libfoo.so.x (symlink or copy)
+include $(PROJECT_DIR)/sofort/core/_version/_soname/version_soname_$(OS_SONAME).mk
diff --git a/sofort/core/version.mk b/sofort/core/version.mk
index eb6c2f2..ad693ab 100644
--- a/sofort/core/version.mk
+++ b/sofort/core/version.mk
@@ -7,60 +7,4 @@ CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MAJOR=$(VER_MAJOR)
CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MINOR=$(VER_MINOR)
CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_PATCH=$(VER_PATCH)
-ifeq ($(AVOID_VERSION),yes)
-
-VER_XYZ =
-VER_SONAME =
-
-package-shared-soname:
-package-shared-solink:
-package-install-soname:
-package-install-solink:
-
-else
-
-VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
-VER_SONAME = .$(VER_MAJOR)
-
-package-shared-soname: shared-soname
-package-shared-solink: shared-solink
-package-install-soname: install-soname
-package-install-solink: install-solink
-
-
-
-# libfoo.so (common)
-install-solink: install-lib
- rm -f $(SHARED_SOLINK).tmp
- ln -s $(DSO_VER) $(SHARED_SOLINK).tmp
- mv $(SHARED_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK)
-
-$(SHARED_SOLINK): $(SHARED_LIB)
- rm -f $@.tmp
- ln -s $(DSO_VER) $@.tmp
- mv $@.tmp $@
-
-# libfoo.so.x (symlink)
-ifeq ($(OS_SONAME),symlink)
-$(SHARED_SONAME): $(SHARED_LIB)
- rm -f $@.tmp
- ln -s $(DSO_VER) $@.tmp
- mv $@.tmp $@
-
-install-soname: install-lib
- rm -f $(SHARED_SONAME).tmp
- ln -s $(DSO_VER) $(SHARED_SONAME).tmp
- mv $(SHARED_SONAME).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
-endif
-
-
-# libfoo.so.x (copy)
-ifeq ($(OS_SONAME),copy)
-install-soname: install-lib
- cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
-
-$(SHARED_SONAME): $(SHARED_LIB)
- cp $(SHARED_LIB) $(SHARED_SONAME)
-endif
-
-endif
+include $(PROJECT_DIR)/sofort/core/_version/version_$(VERSION_OPT).mk