#!@@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 3 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" "${PATH}" "${helper}" 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 <