#!@@SH@@ # # opkbuild # src/ob-buildenv.sh # 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 . . '@@PKGLIBDIR@@/load.sm' ob_use locale ob_use output ob_use package ob_use deps main() { ob_set_text_domain 'opkbuild' ob_init_package '..' || exit 1 ob_parse_package_metadata -c '.opkbuild.cache' || exit 1 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 if [ -r "@@HELPERDIR@@/${dep_pkg}" ]; then . "@@HELPERDIR@@/${dep_pkg}" PATH="${helper_path}:${PATH}" fi done unset IFS printf "PATH='%s'\n" "${PATH}" } 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 <<-EOF AR='${tool_prefix}ar' AS='${tool_prefix}as' CC='${tool_prefix}gcc' CPP='${tool_prefix}cpp' CXX='${tool_prefix}g++' LD='${tool_prefix}ld' NM='${tool_prefix}nm' OBJCOPY='${tool_prefix}objcopy' OBJDUMP='${tool_prefix}objdump' RANLIB='${tool_prefix}ranlib' READELF='${tool_prefix}readelf' SIZE='${tool_prefix}size' STRINGS='${tool_prefix}strings' STRIP='${tool_prefix}strip' OPK_TOOL_PREFIX='${tool_prefix}' EOF } setup_build_flags() { build_flags="$(ob_get_system_path 'buildflags' "${OPK_HOST_ARCH}")" if [ -r "${build_flags}" ]; then . "${build_flags}" fi } main "${@}"