orbea / zippy / sofort

Forked from zippy/sofort 2 years ago
Clone

48fbee build system: posix make support: refactored shared library versioning schemes.

Authored and Committed by midipix 4 years ago
    build system: posix make support: refactored shared library versioning schemes.
    
        
file modified
+2 -0
Makefile.in CHANGED
@@ -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
file modified
+12 -1
configure CHANGED
@@ -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 $sfrt_config_vars \
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
file modified
+9 -2
sofort/ccenv/ccenv.sh CHANGED
@@ -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" OS_DSO_EXRULES=default .cflags-host)
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" OS_DSO_EXRULES=default .cflags-native)
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"
sofort/config/opt.vars ADDED
@@ -0,0 +1 @@
1
+ version_opt
sofort/core/_version/_soname/version_soname_copy.mk ADDED
@@ -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)
sofort/core/_version/_soname/version_soname_symlink.mk ADDED
@@ -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)
sofort/core/_version/version_none.mk ADDED
@@ -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:
sofort/core/_version/version_used.mk ADDED
@@ -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
file modified
+1 -57
sofort/core/version.mk CHANGED
@@ -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
- ifeq ($(AVOID_VERSION),yes)
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