summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg/pkg_build.subr
blob: f3ec51dfcb5b7e790fcdf93f45171026889a2ca3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#
# 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_rtl_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