#
# set -o errexit -o noglob are assumed.
#
pkgp_install_clean_lib() {
local __;
if [ -d ${PKG_PREFIX}/lib ]; then
for __ in $(find ${PKG_PREFIX}/lib -type f -name \*.la); do
build_fileop rm ${__};
done;
fi;
};
pkgp_install_dlltool() {
local _so_fname _so_name;
if [ "${PKG_BUILD_TYPE}" != "host" ] \
&& test_cmd perk \
&& test_cmd ${PKG_TARGET}-dlltool; then
for _so_fname in \
$(find \( -name "*.so" \
-or -name "*.so.[0-9]" \
-or -name "*.so.[0-9].[0-9]" \
-or -name "*.so.[0-9].[0-9].[0-9]" \) -printf '%P\n');
do
if [ \( -e ${_so_fname%.so}.lib.a \) -o \
\( ! -e ${PKG_PREFIX}/lib/$(basename ${_so_fname}) \) ];
then
continue;
else
_so_name="${_so_fname%.so}";
echo perk -epdlltool ${_so_fname} \> ${_so_fname%.so}.def;
perk -epdlltool ${_so_fname} > ${_so_fname%.so}.def;
echo ${PKG_TARGET}-dlltool -l ${_so_fname%.so}.lib.a \
-D ${_so_fname} -d ${_so_fname%.so}.def;
${PKG_TARGET}-dlltool -l ${_so_fname%.so}.lib.a \
-D ${_so_fname} -d ${_so_fname%.so}.def;
build_fileop cp ${_so_fname%.so}.lib.a "${PKG_PREFIX}/lib";
fi;
done;
fi;
};
pkgp_install_pkgconfig() {
local __;
for __ in $(find "${WORKDIR}/${PKG_BUILD_DIR}" -name \*.pc); do
if grep -Eq '^libdir=[^$]+$' "${__}"; then
echo sed -i '/^libdir=[^$]\+$/s/^libdir=\(.\+\)$/libdir=${exec_prefix}\1/' \
"${__}";
sed -i '/^libdir=[^$]\+$/s/^libdir=\(.\+\)$/libdir=${exec_prefix}\1/' \
"${__}";
fi;
done;
};
pkg_install() {
pkgp_install_pkgconfig;
if [ ${PKG_NO_MAKE_INSTALL:-0} -eq 0 ]; then
run_cmd_unsplit make \
${PKG_MAKEFLAGS_INSTALL} \
${PKG_MAKEFLAGS_INSTALL_EXTRA} \
AR=${AR} CC=${CC} RANLIB=${RANLIB} \
"${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}" \
"${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}" \
"${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}" \
"${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}" \
"${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \
${PKG_INSTALL_TARGET:=install};
if [ -n "${PKG_PREFIX_EXTRA}" ]; then
run_cmd_unsplit make \
${PKG_MAKEFLAGS_INSTALL} \
${PKG_MAKEFLAGS_INSTALL_EXTRA} \
AR=${AR} CC=${CC} RANLIB=${RANLIB} \
"${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}" \
"${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}" \
"${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}" \
"${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}" \
"${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \
${PKG_INSTALL_TARGET_EXTRA:=install} \
DESTDIR=${PKG_PREFIX_EXTRA};
fi;
fi;
pkgp_install_clean_lib;
if [ -n "${PKG_INSTALL_FILES}" ]; then
(install_files -v ${PKG_PREFIX} ${PKG_INSTALL_FILES});
fi;
pkgp_install_dlltool;
pkgp_install_pkgconfig;
};
# vim:filetype=sh