48fbee
build system: posix make support: refactored shared library versioning schemes.
@@ -119,6 +119,8 @@ USE_CUSTOM_USRDEFS = @use_custom_usrdefs@
|
|
119
119
|
SHARED_LIB_CMD = @shared_lib_cmd@
|
120
120
|
SHARED_LIB_LDFLAGS = @shared_lib_ldflags@
|
121
121
|
|
122
|
+
VERSION_OPT = @version_opt@
|
123
|
+
|
122
124
|
.cflags-host:
|
123
125
|
@printf '%s' "$(CFLAGS)"
|
124
126
|
|
@@ -135,6 +135,7 @@ init_vars()
|
|
135
135
|
sfrt_core_dir=$sfrt_impl_dir/core
|
136
136
|
sfrt_config_vars=$sfrt_config_dir/config.vars
|
137
137
|
sfrt_flag_vars=$sfrt_config_dir/flag.vars
|
138
|
+
sfrt_opt_vars=$sfrt_config_dir/opt.vars
|
138
139
|
sfrt_cfgdefs_in=$sfrt_config_dir/cfgdefs.in
|
139
140
|
|
140
141
|
mb_make_vars=$(< "$sfrt_config_vars" \
|
@@ -649,11 +650,20 @@ config_flags()
|
|
649
650
|
}
|
650
651
|
|
651
652
|
|
653
|
+
config_opts()
|
654
|
+
{
|
655
|
+
if [ "$mb_avoid_version" = 'yes' ]; then
|
656
|
+
mb_version_opt='none'
|
657
|
+
else
|
658
|
+
mb_version_opt='used'
|
659
|
+
fi
|
660
|
+
}
|
661
|
+
|
652
662
|
config_copy()
|
653
663
|
{
|
654
664
|
output_step_prolog ${mb_script} 'config_copy'
|
655
665
|
|
656
|
-
mb_vars=$(cut -d'=' -f1
|
666
|
+
mb_vars=$(cut -d'=' -f1 "$sfrt_config_vars" "$sfrt_opt_vars" \
|
657
667
|
| grep -v '^#')
|
658
668
|
|
659
669
|
mb_sed_substs=" \
|
@@ -1129,6 +1139,7 @@ common_defaults
|
|
1129
1139
|
|
1130
1140
|
five: config
|
1131
1141
|
config_flags
|
1142
|
+
config_opts
|
1132
1143
|
config_copy
|
1133
1144
|
config_ccenv
|
1134
1145
|
config_custom
|
@@ -1369,7 +1369,10 @@ ccenv_common_init()
|
|
1369
1369
|
|
1370
1370
|
if [ $ccenv_cfgtype = 'host' ]; then
|
1371
1371
|
ccenv_tflags=
|
1372
|
-
ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp"
|
1372
|
+
ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp" \
|
1373
|
+
OS_DSO_EXRULES=default \
|
1374
|
+
OS_SONAME=symlink \
|
1375
|
+
.cflags-host)
|
1373
1376
|
|
1374
1377
|
ccenv_cc="$mb_user_cc"
|
1375
1378
|
ccenv_cpp="$mb_user_cpp"
|
@@ -1379,7 +1382,11 @@ ccenv_common_init()
|
|
1379
1382
|
ccenv_pe_image_base="$mb_pe_image_base"
|
1380
1383
|
else
|
1381
1384
|
ccenv_tflags=
|
1382
|
-
ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp"
|
1385
|
+
ccenv_cflags=$(${mb_make} -s -f "$mb_pwd/Makefile.tmp" \
|
1386
|
+
OS_DSO_EXRULES=default \
|
1387
|
+
OS_SONAME=symlink \
|
1388
|
+
.cflags-native)
|
1389
|
+
|
1383
1390
|
ccenv_cc="$mb_native_cc"
|
1384
1391
|
ccenv_cpp="$mb_native_cpp"
|
1385
1392
|
ccenv_cxx="$mb_native_cxx"
|
@@ -0,0 +1 @@
|
|
1
|
+
version_opt
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# version_soname_copy.mk: handling of shared library versioning schemes.
|
2
|
+
# this file is covered by COPYING.SOFORT.
|
3
|
+
|
4
|
+
install-soname: install-lib
|
5
|
+
cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
|
6
|
+
|
7
|
+
$(SHARED_SONAME): $(SHARED_LIB)
|
8
|
+
cp $(SHARED_LIB) $(SHARED_SONAME)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# version_soname_symlink.mk: handling of shared library versioning schemes.
|
2
|
+
# this file is covered by COPYING.SOFORT.
|
3
|
+
|
4
|
+
$(SHARED_SONAME): $(SHARED_LIB)
|
5
|
+
rm -f $@.tmp
|
6
|
+
ln -s $(DSO_VER) $@.tmp
|
7
|
+
mv $@.tmp $@
|
8
|
+
|
9
|
+
install-soname: install-lib
|
10
|
+
rm -f $(SHARED_SONAME).tmp
|
11
|
+
ln -s $(DSO_VER) $(SHARED_SONAME).tmp
|
12
|
+
mv $(SHARED_SONAME).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# version_none.mk: handling of shared library versioning schemes.
|
2
|
+
# this file is covered by COPYING.SOFORT.
|
3
|
+
|
4
|
+
VER_XYZ =
|
5
|
+
VER_SONAME =
|
6
|
+
|
7
|
+
package-shared-soname:
|
8
|
+
package-shared-solink:
|
9
|
+
package-install-soname:
|
10
|
+
package-install-solink:
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# version_used.mk: handling of shared library versioning schemes.
|
2
|
+
# this file is covered by COPYING.SOFORT.
|
3
|
+
|
4
|
+
VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
|
5
|
+
VER_SONAME = .$(VER_MAJOR)
|
6
|
+
|
7
|
+
package-shared-soname: shared-soname
|
8
|
+
package-shared-solink: shared-solink
|
9
|
+
package-install-soname: install-soname
|
10
|
+
package-install-solink: install-solink
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
# libfoo.so (common)
|
15
|
+
install-solink: install-lib
|
16
|
+
rm -f $(SHARED_SOLINK).tmp
|
17
|
+
ln -s $(DSO_VER) $(SHARED_SOLINK).tmp
|
18
|
+
mv $(SHARED_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK)
|
19
|
+
|
20
|
+
$(SHARED_SOLINK): $(SHARED_LIB)
|
21
|
+
rm -f $@.tmp
|
22
|
+
ln -s $(DSO_VER) $@.tmp
|
23
|
+
mv $@.tmp $@
|
24
|
+
|
25
|
+
# libfoo.so.x (symlink or copy)
|
26
|
+
include $(PROJECT_DIR)/sofort/core/_version/_soname/version_soname_$(OS_SONAME).mk
|
@@ -7,60 +7,4 @@ CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MAJOR=$(VER_MAJOR)
|
|
7
7
|
CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MINOR=$(VER_MINOR)
|
8
8
|
CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_PATCH=$(VER_PATCH)
|
9
9
|
|
10
|
-
|
10
|
+
include $(PROJECT_DIR)/sofort/core/_version/version_$(VERSION_OPT).mk
|
11
|
-
|
12
|
-
VER_XYZ =
|
13
|
-
VER_SONAME =
|
14
|
-
|
15
|
-
package-shared-soname:
|
16
|
-
package-shared-solink:
|
17
|
-
package-install-soname:
|
18
|
-
package-install-solink:
|
19
|
-
|
20
|
-
else
|
21
|
-
|
22
|
-
VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
|
23
|
-
VER_SONAME = .$(VER_MAJOR)
|
24
|
-
|
25
|
-
package-shared-soname: shared-soname
|
26
|
-
package-shared-solink: shared-solink
|
27
|
-
package-install-soname: install-soname
|
28
|
-
package-install-solink: install-solink
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
# libfoo.so (common)
|
33
|
-
install-solink: install-lib
|
34
|
-
rm -f $(SHARED_SOLINK).tmp
|
35
|
-
ln -s $(DSO_VER) $(SHARED_SOLINK).tmp
|
36
|
-
mv $(SHARED_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK)
|
37
|
-
|
38
|
-
$(SHARED_SOLINK): $(SHARED_LIB)
|
39
|
-
rm -f $@.tmp
|
40
|
-
ln -s $(DSO_VER) $@.tmp
|
41
|
-
mv $@.tmp $@
|
42
|
-
|
43
|
-
# libfoo.so.x (symlink)
|
44
|
-
ifeq ($(OS_SONAME),symlink)
|
45
|
-
$(SHARED_SONAME): $(SHARED_LIB)
|
46
|
-
rm -f $@.tmp
|
47
|
-
ln -s $(DSO_VER) $@.tmp
|
48
|
-
mv $@.tmp $@
|
49
|
-
|
50
|
-
install-soname: install-lib
|
51
|
-
rm -f $(SHARED_SONAME).tmp
|
52
|
-
ln -s $(DSO_VER) $(SHARED_SONAME).tmp
|
53
|
-
mv $(SHARED_SONAME).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
|
54
|
-
endif
|
55
|
-
|
56
|
-
|
57
|
-
# libfoo.so.x (copy)
|
58
|
-
ifeq ($(OS_SONAME),copy)
|
59
|
-
install-soname: install-lib
|
60
|
-
cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
|
61
|
-
|
62
|
-
$(SHARED_SONAME): $(SHARED_LIB)
|
63
|
-
cp $(SHARED_LIB) $(SHARED_SONAME)
|
64
|
-
endif
|
65
|
-
|
66
|
-
endif
|