1f97e6
subr/pkg_install.subr:pkgp_install_dlltool(): generate library archives via {perk,mdso} (via midipix.)
@@ -15,26 +15,29 @@ pkgp_install_dlltool() {
|
|
15
15
|
local _so_fname _so_name;
|
16
16
|
if [ "${PKG_BUILD_TYPE}" != "host" ] \
|
17
17
|
&& test_cmd perk \
|
18
|
-
&& test_cmd ${PKG_TARGET}-
|
18
|
+
&& test_cmd ${PKG_TARGET}-mdso; then
|
19
19
|
for _so_fname in \
|
20
|
-
$(find \(
|
21
|
-
-or -name "*.so
|
22
|
-
-or -name "*.so
|
23
|
-
-or -name "*.so
|
20
|
+
$(find \( -name "*.so" \
|
21
|
+
-or -name "*.so.*" \
|
22
|
+
-or -name "*.so.*.*" \
|
23
|
+
-or -name "*.so.*.*.*" \) -printf '%P\n');
|
24
24
|
do
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
case "${_so_fname}" in
|
26
|
+
*.so) _so_fname_ver=""; ;;
|
27
|
+
*.so.*) _so_fname_ver="${_so_fname##*.so.}"; ;;
|
28
|
+
esac;
|
29
|
+
_so_name="${_so_fname%%.so*}";
|
30
|
+
_lib_fname="${_so_name}${_so_fname_ver:+.${_so_fname_ver}}.lib.a";
|
31
|
+
if [ -e "${_lib_fname}" ] \
|
32
|
+
|| [ ! -e "${PKG_PREFIX}/lib/$(basename "${_so_fname}")" ] \
|
33
|
+
|| [ "$(readlink -f "${_so_fname}")" = "/dev/null" \) ]; then
|
28
34
|
continue;
|
29
35
|
else
|
30
|
-
|
31
|
-
|
32
|
-
perk -
|
33
|
-
|
34
|
-
|
36
|
+
echo perk -e "${_so_fname}" \|\
|
37
|
+
${PKG_TARGET}-mdso -i ${_lib_fname} -n "${_so_fname}" -
|
38
|
+
perk -e "${_so_fname}" |\
|
39
|
+
${PKG_TARGET}-mdso -i ${_lib_fname} -n "${_so_fname}" -
|
40
|
+
build_fileop cp "${_lib_fname}" "${PKG_PREFIX}/lib";
|
35
|
-
${PKG_TARGET}-dlltool -l ${_so_fname%.so}.lib.a \
|
36
|
-
-D ${_so_fname} -d ${_so_fname%.so}.def;
|
37
|
-
build_fileop cp ${_so_fname%.so}.lib.a "${PKG_PREFIX}/lib";
|
38
41
|
fi;
|
39
42
|
done;
|
40
43
|
fi;
|