Blob Blame History Raw
#
# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 LucĂ­a Andrea Illanes Albornoz <lucia@luciaillanes.de>
# set +o errexit -o noglob -o nounset is assumed.
#

pkg_build() {
	local	_pb_group_name="${1}" _pb_pkg_name="${2}" _pb_restart_at="${3}"	\
		_pb_no_autoconf="" _pb_rc=0 _pb_subdir="";

	if ! [ -x "${PKG_CONFIGURE:-}" ]; then
		_pb_no_autoconf=1;
	fi;

	for _pb_subdir in ${PKG_MAKE_SUBDIRS:-:}; do
		if [ "${_pb_subdir}" = ":" ]; then
			_pb_subdir="";
		fi;

		#
		# N.B.	We only pass CC=... here if the current package does not use GNU
		#	autoconf as it often abuses it by appending -std={gnu99,...} to it
		#	instead of amending CFLAGS.
		#
		ex_pkg_run_make									\
			"${PKG_AR}" "${PKG_CC}" "${PKG_CXX}" "${PKG_CCLD}" "${PKG_LIBTOOL}"	\
			"${PKG_MAKE}" "${PKG_PKG_CONFIG}" "${PKG_RANLIB}"			\
			--									\
			"${_pb_no_autoconf}" "${_pb_subdir}"					\
			--									\
			"${PKG_MAKEFLAGS_BUILD:-}" "${PKG_MAKEFLAGS_BUILD_EXTRA:-}"		\
			"${PKG_MAKEFLAGS_BUILD_LIST:-}" "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:-}"	\
			"${PKG_MAKEFLAGS_LOADAVG:-}" "${PKG_MAKEFLAGS_PARALLELISE:-}"		\
			"${PKG_MAKEFLAGS_VERBOSITY:-}"						\
			--									\
			"${PKG_CFLAGS_BUILD:-}" "${PKG_CFLAGS_BUILD_EXTRA:-}"			\
			"${PKG_CPPFLAGS_BUILD:-}" "${PKG_CPPFLAGS_BUILD_EXTRA:-}"		\
			"${PKG_CXXFLAGS_BUILD:-}" "${PKG_CXXFLAGS_BUILD_EXTRA:-}"		\
			"${PKG_LDFLAGS_BUILD:-}" "${PKG_LDFLAGS_BUILD_EXTRA:-}"			\
			"${PKG_PKG_CONFIG_LIBDIR:-}"						\
			--									\
			"" ""									\
			;
		_pb_rc="${?}";

		if [ "${_pb_rc}" -ne 0 ]; then
			break;
		fi;
	done;

	return "${_pb_rc}";
};

# vim:filetype=sh textwidth=0