Blob Blame History Raw
#
# 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;
};

pkg_install() {
	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;
	if test_cmd pkg_${PKG_NAME}_install_post; then
		pkg_${PKG_NAME}_install_post;
	fi;
	pkgp_install_clean_lib;
	if [ -n "${PKG_INSTALL_FILES}" ]; then
		(install_files -v ${PKG_PREFIX} ${PKG_INSTALL_FILES});
	fi;
	pkgp_install_dlltool;
};

# vim:filetype=sh