| ############################################################################ |
| # Copyright 2016-2017 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| ############################################################################ |
| # pylint: disable=locally-disabled, invalid-name |
| """ |
| Configure g++ ARM toolchain |
| """ |
| |
| import importlib |
| from parts.platform_info import SystemPlatform |
| from parts.tools.Common.Finders import PathFinder |
| import parts.tools.GnuCommon.common |
| |
| parts.tools.GnuCommon.common.gxx.Register( |
| # compilation for Linux armel architecture system can be done from any Linux x86_64 system |
| hosts=[SystemPlatform('posix', 'x86_64')], |
| targets=[SystemPlatform('posix', 'arm')], |
| info=[ |
| parts.tools.GnuCommon.common.GnuInfo( |
| # default binary location for arm-linux-gnueabi-g++ compiler |
| install_scanner=[PathFinder(['/usr/bin'])], |
| opt_dirs=['/opt/'], |
| script=None, |
| subst_vars={}, |
| shell_vars={'PATH': '${GCC.INSTALL_ROOT}'}, |
| test_file='arm-linux-gnueabi-g++') |
| ] |
| ) |
| |
| parts.tools.GnuCommon.common.gxx.Register( |
| # compilation for Linux armhf architecture system can be done from any Linux x86_64 system |
| hosts=[SystemPlatform('posix', 'x86_64')], |
| targets=[SystemPlatform('posix', 'arm_hf')], |
| info=[ |
| parts.tools.GnuCommon.common.GnuInfo( |
| # default binary location for arm-linux-gnueabihf-g++ compiler |
| install_scanner=[PathFinder(['/usr/bin'])], |
| opt_dirs=['/opt/'], |
| script=None, |
| subst_vars={}, |
| shell_vars={'PATH': '${GCC.INSTALL_ROOT}'}, |
| test_file='arm-linux-gnueabihf-g++') |
| ] |
| ) |
| |
| parts.tools.GnuCommon.common.gxx.Register( |
| # compilation for Linux arm 64bit can be done from any Linux x86_64 system |
| hosts=[SystemPlatform('posix', 'x86_64')], |
| targets=[SystemPlatform('posix', 'aarch64')], |
| info=[ |
| parts.tools.GnuCommon.common.GnuInfo( |
| # default binary for aarch64-linux-gnu-g++ compiler |
| install_scanner=[PathFinder(['/usr/bin'])], |
| opt_dirs=['/opt/'], |
| script=None, |
| subst_vars={}, |
| shell_vars={'PATH': '${GCC.INSTALL_ROOT}'}, |
| test_file='aarch64-linux-gnu-g++') |
| ] |
| ) |
| # import g++ tool from parts ( we only need to add configurations to be loaded) |
| globals().update(importlib.import_module('parts.tools.g++').__dict__) |