1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
ifneq ($(vafilt_defined),1)
$(error rules.defs must be included before rules.sonames)
endif
ifeq (,$(wildcard debian/soname-cache))
SONAME_VARS := $(shell \
cache=debian/soname-cache; \
rm -f $$cache; \
v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libstdc++-v3/acinclude.m4`; \
echo CXX_SONAME=$$v >> $$cache; \
v=`awk -F= '/^VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libobjc/configure.ac`; \
echo OBJC_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libgfortran/libtool-version | cut -d: -f1`; \
echo FORTRAN_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libssp/libtool-version | cut -d: -f1`; \
echo SSP_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libjava/libtool-version | cut -d: -f1`; \
echo GCJ_SONAME=$$v >> $$cache; \
if [ "$$v" -ge 70 ]; then \
echo GCJ_SONAME1=`echo $$v | sed 's/.$$//'` >> $$cache; \
echo GCJ_SONAME2=`echo $$v | sed 's/.*\(.\)$$/\1/'` >> $$cache; \
else \
echo GCJ_SONAME1=$$v >> $$cache; \
echo GCJ_SONAME2= >> $$cache; \
fi; \
v=`tail -1 $(srcdir)/libffi/libtool-version | cut -d: -f1`; \
echo FFI_SONAME=$$v >> $$cache; \
v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libgomp/configure.ac`; \
echo GOMP_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libsanitizer/asan/libtool-version | cut -d: -f1`; \
echo ASAN_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libsanitizer/lsan/libtool-version | cut -d: -f1`; \
echo LSAN_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libsanitizer/tsan/libtool-version | cut -d: -f1`; \
echo TSAN_SONAME=$$v >> $$cache; \
v=`tail -1 $(srcdir)/libsanitizer/ubsan/libtool-version | cut -d: -f1`; \
echo UBSAN_SONAME=$$v >> $$cache; \
if [ "$(with_atomic)" = yes ]; then \
v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libatomic/configure.ac`; \
v=1; \
echo ATOMIC_SONAME=$$v >> $$cache; \
fi; \
if [ "$(with_backtrace)" = yes ]; then \
v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libbacktrace/configure.ac`; \
echo BTRACE_SONAME=$$v >> $$cache; \
fi; \
if [ "$(with_qmath)" = yes ]; then \
v=`tail -1 $(srcdir)/libquadmath/libtool-version | cut -d: -f1`; \
echo QUADMATH_SONAME=$$v >> $$cache; \
fi; \
if [ "$(with_libgmath)" = yes ]; then \
v=`tail -1 $(srcdir)/libgcc-math/libtool-version | cut -d: -f1`; \
echo GCCMATH_SONAME=$$v >> $$cache; \
fi; \
v=`grep '[^_]Library_Version.*:' $(srcdir)/gcc/ada/gnatvsn.ads \
| sed -e 's/.*"\([^"]*\)".*/\1/'`; \
echo GNAT_SONAME=$$v >> $$cache; \
if [ "$(with_go)" = yes ]; then \
v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libgo/configure.ac`; \
echo GO_SONAME=$$v >> $$cache; \
fi; \
echo ITM_SONAME=1 >> $$cache; \
v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
$(srcdir)/libvtv/configure.ac`; \
v=0; \
echo VTV_SONAME=$$v >> $$cache; \
echo CILKRTS_SONAME=5 >> $$cache; \
echo CC1_SONAME=0 >> $$cache; \
echo GCCJIT_SONAME=0 >> $$cache; \
echo MPX_SONAME=0 >> $$cache; \
cat $$cache)
else
SONAME_VARS := $(shell cat debian/soname-cache)
endif
CXX_SONAME = $(call vafilt,$(SONAME_VARS),CXX_SONAME)
OBJC_SONAME = $(call vafilt,$(SONAME_VARS),OBJC_SONAME)
FORTRAN_SONAME = $(call vafilt,$(SONAME_VARS),FORTRAN_SONAME)
SSP_SONAME = $(call vafilt,$(SONAME_VARS),SSP_SONAME)
GCJ_SONAME = $(call vafilt,$(SONAME_VARS),GCJ_SONAME)
GCJ_SONAME1 = $(call vafilt,$(SONAME_VARS),GCJ_SONAME1)
GCJ_SONAME2 = $(call vafilt,$(SONAME_VARS),GCJ_SONAME2)
FFI_SONAME = $(call vafilt,$(SONAME_VARS),FFI_SONAME)
GOMP_SONAME = $(call vafilt,$(SONAME_VARS),GOMP_SONAME)
ATOMIC_SONAME = $(call vafilt,$(SONAME_VARS),ATOMIC_SONAME)
BTRACE_SONAME = $(call vafilt,$(SONAME_VARS),BTRACE_SONAME)
ASAN_SONAME = $(call vafilt,$(SONAME_VARS),ASAN_SONAME)
LSAN_SONAME = $(call vafilt,$(SONAME_VARS),LSAN_SONAME)
TSAN_SONAME = $(call vafilt,$(SONAME_VARS),TSAN_SONAME)
UBSAN_SONAME = $(call vafilt,$(SONAME_VARS),UBSAN_SONAME)
VTV_SONAME = $(call vafilt,$(SONAME_VARS),VTV_SONAME)
CILKRTS_SONAME = $(call vafilt,$(SONAME_VARS),CILKRTS_SONAME)
GCCMATH_SONAME = $(call vafilt,$(SONAME_VARS),GCCMATH_SONAME)
QUADMATH_SONAME = $(call vafilt,$(SONAME_VARS),QUADMATH_SONAME)
GNAT_SONAME = $(call vafilt,$(SONAME_VARS),GNAT_SONAME)
GO_SONAME = $(call vafilt,$(SONAME_VARS),GO_SONAME)
ITM_SONAME = $(call vafilt,$(SONAME_VARS),ITM_SONAME)
CC1_SONAME = $(call vafilt,$(SONAME_VARS),CC1_SONAME)
GCCJIT_SONAME = $(call vafilt,$(SONAME_VARS),GCCJIT_SONAME)
MPX_SONAME = $(call vafilt,$(SONAME_VARS),MPX_SONAME)
# alias
GFORTRAN_SONAME = $(FORTRAN_SONAME)
STDC++_SONAME = $(CXX_SONAME)
|