| |
| |
| |
| |
| 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}) \) -o \ |
| \( "$(readlink -f ${_so_fname})" = "/dev/null" \) ]; 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 |
| sed -i -e '/^libdir=[^$]\+$/s/^libdir=\(.\+\)$/libdir=${exec_prefix}\1/' \ |
| -e '/^exec_prefix=$/s/^.*$/exec_prefix=${prefix}/' \ |
| "${__}"; |
| 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; |
| }; |
| |
| |