blob: 5540849c1cf3df844d2551882fdcda9b8228d5d8 (
plain)
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
|
#!/bin/bash
[[ -z $1 ]] && echo "usage $0 <soversion>" && exit 1
soversion=${1}
if [[ -n $2 ]]; then
shift
for f in $@; do
if [[ -n `sed -ne '/^.*_la_LDFLAGS\s*=.*$/p' "${f}"` ]]; then # _LDFLAGS specified, append
if [[ -n `sed -ne '/^.*_la_LDFLAGS\s*=.*-version-info/p' "${f}"` ]]; then # -version-info specified
sed -e "/_la_LDFLAGS\s*=/s/-version-info\s\+\S\+\s*/-version-info ${soversion}/g" \
-i "${f}" || echo 'failed to replace soversion'
else
sed -e "/_la_LDFLAGS\s*=/s/$/ -version-info ${soversion}/g" \
-i "${f}" || echo 'failed to append soversion'
fi
else # _LDFLAGS not specified, set -version-info just before _SOURCES
sed -e "s/^\(.*\)_SOURCES.*$/\1_LDFLAGS = -version-info ${soversion}\n&/g" \
-i "${f}" || echo 'failed to set soversion'
fi
done
exit 0
fi
echo 'Patching automake'
find -name '*.am' \
-exec sed -e 's|\.a|.la|g' -i {} + \
-exec sed -e 's|_a_SOURCES|_la_SOURCES|g' -i {} + \
-exec sed -e 's|_a_LIBADD|_la_LIBADD|g' -i {} + \
-exec sed -e 's|_a_DEPENDENCIES|_la_DEPENDENCIES|g' -i {} + \
-exec sed -e 's|_a_CXXFLAGS|_la_CXXFLAGS|g' -i {} + \
-exec sed -e 's|_a_LDFLAGS|_la_LDFLAGS|g' -i {} + \
-exec sed -e 's|^lib_LIBRARIES|lib_LTLIBRARIES|g' -i {} + \
-exec "$0" ${soversion} {} + \
|| echo 'failed to switch to shared libs'
acfile=
if [[ -f configure.ac ]]; then
acfile=configure.ac
elif [[ -f configure.in ]]; then
acfile=configure.in
fi
if [[ -n ${acfile} ]]; then
echo 'Patching autoconf'
sed -e 's/AC_PROG_RANLIB/AC_PROG_LIBTOOL/g' -i ${acfile} \
|| echo 'failed to enable libtool'
fi
|