#!@@SH@@
#
# opkbuild
# src/ob-buildenv
# Set up build environment.
#
# Copyright (C) 2012 Patrick "P. J." McDermott
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
. '@@LIBOPKBUILD@@/load.sm'
ob_use locale
ob_use output
ob_use package
ob_use deps
main()
{
ob_set_text_domain 'opkbuild'
ob_init_package '..'
ob_parse_package_metadata -c '.opkbuild.cache'
ob_info "$(ob_get_msg 'setup_build_env')"
setup_build_helper
setup_toolchain
setup_build_flags
}
setup_build_helper()
{
IFS=', '
for dep in $(ob_get_source_parameter 'Build-Depends'); do
unset IFS
ob_parse_dep -p dep_pkg "${dep}" >/dev/null
helper="$(ob_get_system_path 'build-helper' "${dep_pkg}")"
if [ ${?} -eq 0 ]; then
printf "PATH='%s:%s'\n" "${helper}" "${PATH}"
fi
done
unset IFS
}
setup_toolchain()
{
# This check is done to allow at least native building on unsupported OSes.
# It may be removed in the future.
if [ "${OPK_BUILD_ARCH}" != "${OPK_HOST_ARCH}" ]; then
tool_prefix="${OPK_HOST_ARCH}-"
else
tool_prefix=''
fi
# Set toolchain environment variables.
# NB: This is written for GNU Binutils and GCC and won't work for, e.g.,
# LLVM.
cat <