summaryrefslogtreecommitdiff
path: root/meta/classes/toolchain-scripts.bbclass
AgeCommit message (Collapse)AuthorFiles
2016-02-21toolchain-scripts.bbclass: add three other path to PATH in env.shJun Zhang1
in sdk,there are some utils in sysroot/host-os/bin, sysroot/host-os/sbin/,sysroot/host-os/usr/bin need to use, so add these three paths to PATH in env.sh. Signed-off-by: Jun Zhang <jun.zhang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07toolchain-scripts: drop PYTHONHOMEChristopher Larson1
If this is set when nativesdk-python is not installed, it will break the host python, so it's better to handle this in python. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-06toolchain-scripts.bbclass: Use PYTHONPATH instead of PYTHONHOMERandy Witt1
In the extensible sdk it was originally intended that the native sstate would always be setscened as part of the sdk installation. However, the soon to come "minimal" sdk won't do that. A side effect of that is that pointing PYTHONHOME at the native sysroot within the "bitbake workspace" won't work. For now only set PYTHONPATH instead and continue using the python that comes from buildtools. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08toolchain-scripts.bbclass: unset command_not_found_handleFang Jia1
On Ubuntu-system, When sourcing the env.sh from an exported sdk, and running a bogus linux command (for example "asd"), a core dump of python is usually generated. Unset the command_not_found_handle to fix it. Signed-off-by: Fang Jia <fang.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-07-31toolchain-scripts: Extend to cover nativesdk compiler tools (e.g. nativesdk-gcc)Richard Purdie1
This is needed when we add nativesdk-gcc/binutil to an SDK. Being present doesn't hurt in other cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-27toolchain-scripts: For non-glibc, pass compiler options to ensure the ↵Richard Purdie1
correct libc selection gcc-cross-canadian-<arch> is only built once. It needs to target all the different libcs, not just the currently selected one. This change ensures that if another libc is used, the compiler correctly selects the right one. [YOCTO #8025] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26toolchain-scripts: fix for multilibRobert Yang1
Use MLPREFIX to fix: | cat: /path/to/sysroots/lib32-qemux86-64/sysroot-providers/virtual_libc: No such file or directory [YOCTO #7924] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-23toolchain-scrpts: Fix sitecache issues with multilibRichard Purdie1
The use of TCLIBC in TOOLCHAIN_NEED_CONFIGSITE_CACHE is problematic since a multilib may have both uclibc and glibc for different multilibs yet switching between them doesn't change TCLIBC. This would result in "lib32-glibc" being attempted when lib32 was actually uclibc. The fix here is to use the virtual providers which bitbake switches to point correctly at the right things. This does mean we need to resolve virtual providers but we can do this using sysroot-providers. [YCOTO #7607] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-23toolchain-scripts.bbclass: fix quoting for CCACHE_PATHAndre McCurdy1
Single quotes prevent expansion of $sdkpathnative$bindir. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-04-15toolchain-scripts: Allow the CONFIGSITE_CACHE variable to be overriddenRichard Purdie1
In multilib and baremetal configurations, this variable can cause a variety of problems due to the use of TCLIBC. At least allowing it to be overriden is a start and allows various configurations to avoid the issue. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23toolchain-scripts: Add parameters to toolchain_create_sdk_env_script.Randy Witt1
To add some flexibility to setting up the paths for the toolchain, add some parameters. This initial use will be in order to point at the buildsystem toolchain copied in by copy_buildsystem.py. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03toolchain-script: Add support for ccache builds with the SDKLaszlo Papp1
It is necessary to have an SDK for developers who build their software with ccache to speed up the compilation. Without resolving this, unfortunately the compilation will fail for them. Signed-off-by: Laszlo Papp <lpapp@kde.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-11-20toolchain-scripts.bbclass: Export KCFLAGS to ensure sysroot is providedOtavio Salvador1
When building the U-Boot the lack of a proper sysroot can trigger following error: ,---- | arm-poky-linux-gnueabi-ld.bfd: cannot find -lgcc | make[2]: *** [examples/standalone/hello_world] Error 1 | make[1]: *** [examples/standalone] Error 2 | make: *** [examples] Error 2 `---- Guillaume Fournier has posted a very complete analysis of the problem[1]. 1. https://lists.yoctoproject.org/pipermail/meta-freescale/2014-November/011270.html The use of KCFLAGS makes the build of U-Boot work out of box, now that it uses the Linux kernel build system. Reported-by: Guillaume Fournier <gfournier@brioconcept.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-11-12meta-environment: Fix config-site with a multilib configMark Hatle1
[YOCTO #6951] The TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value was defaulting to the nativesdk path and not the associated target path. Set the value in toolchain-scripts to the target path. Be sure to set the MLPREFIX within the meta-environment script as multilibs are processed. Update the config_site file name to use -BPN- not PN. Otherwise the environment processing can't find the correct filename. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-10-10toolchains-scripts: Add support for target environment scriptsRichard Purdie1
In a similar way to the previous script which adds support for native environment scripts, this adds support for target environment scripts too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-10toolchain-scripts.bbclass: Allow sourcing of subscript for environmentOtavio Salvador1
Sometimes we require extra environment settings to be available on the environment for proper SDK work. This were done, in past, using '_append' tasks however with the split of the environment in a canadian package this has been broken. The easier and more flexible solution is to use environment subscripts which are sources by the main script. These are now looked at: $OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh and sourced. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23toolchain-script: Really fix CANADIANEXTRAOE issuesRichard Purdie1
There was an error in the previous fix for the powerpc toolchain issue, this should correct it (and simplify the code too). [YOCTO #6490] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03toolchain-scripts: Add handling for CANADIANEXTRAOSRichard Purdie1
When we build a general toolchain script we should add all the OS variants to PATH, not just the current one. This is because some can cross reference each other and if the triplet prefixed ld can't be found for example, you recieve strange errors. Doing this resolves bugs exposed during SDK testing. [YOCTO #6490] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-06toolchain-scripts/meta-environment: Further cleanup code duplicationRichard Purdie1
There was still duplicated code in toolchain-scripts, this further cleans up the functions to remove it. The now unused includedir parameter is also dropped. The final scripts do end up reordered slightly and the sysroot is parametrised for the IDE scripts which is an improvement but should have no functional difference. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-06toolchain-scripts: Drop darwin8 codeRichard Purdie1
The code was clearly broken and isn't used, even by meta-darwin so we might as well remove it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-06toolchain-scripts/meta-environment: Merge toolchain_create_sdk_env_script ↵Richard Purdie1
and the for_installer variant Having two scripts which do basically the same thing is a nightmare. This merges them together. It also makes the sysroot location a variable in its own right which may be more useful for end users wanting to change sysroot. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-11toolchain-scripts: Fix TARGET_SYS referenceRichard Purdie1
There was a fix missing from a previous commit: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=20a86e16bc54b74fbdb2a3a407d54210ea262925 since there was another section of toolchain-scripts needing updating. This patch fixes the missing reference and unbreaks the ADT toolchain. [YOCTO #5340] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-04cross-canadian: Fix TUNE_PKGARCH referencesRichard Purdie1
The cross-canadian compilers are now build once per architecture but were being installed into tune specific locations which is incorrect. This adjusts things so they are make TARGET_ARCH specific. We gain the tune specific parts from the target sysroot which remains tune specific, the compiler and tools are independent ot that. binutils/gcc require sysroot options but since we reset at runtime, these shouldn't have dependencies in the sstate checksums. They are therefore also excluded. With these patches, switching machines does not result in a rebuild of *-cross-canadian and the compiler is correctly located and referenced in the target images. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16toolchain-scripts.bbclass:Add CROSS_COMPILE variable to environment-setup fileZongchun Yu1
when compiling the linux kernel manually. users need to set CROSS_COMPILE separately. adding the CROSS_COMPILE variable will be nice for using. Signed-off-by: Zongchun Yu <b40527@freescale.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-28Add kernel arch variable in SDK environment variable list for supporting ↵Jessica Zhang1
build external kernel module using SDK Signed-off-by: Jessica Zhang <jessica.zhang@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-19toolchain-scripts.bbclass: add PYTHONHOME variable to environment-setupLaurentiu Palcu1
When relocating the SDK, applications using python will search for python modules in the default location and will fail to start. The below errors are thrown by gdb, for example: Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ImportError: No module named site In order to overcome this, add the PYTHONHOME variable to the environment-setup script for both standalone toolchain and adt-installer. No need to do that for meta-ide-support environment script since this toolchain does not get relocated. [YOCTO #3839] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-05toolchain-scripts.bbclass: Export M4Khem Raj1
some packages use M4 variable from environment and sometimes its hardcoded to /usr/bin/m4 if not found in environment. Lets define it such that it is picked from path Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19toolchain-scripts: Remove extra - from ar/nm command namesRichard Purdie1
TARGET_PREFIX already has the dash included. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19Remove the - between ${TARGET_PREFIX} and ar/nm for the env script, as this ↵Martin Ertsaas1
will make autotools look for arm-none-linux-gnueabi--ar instead of arm-none-linux-gnueabi-ar. Signed-off-by: Martin Ertsaas <mertsas@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18meta-ide-support: Add native qemu support for meta-ide-supportJessica Zhang1
[YOCTO #2761] This patch fixed the issue that after "bitbake meta-ide-support" and try to start qemu and it will fail. This is due to the meta-ide-support lacking dependency for qemu native and ended up using qemu under /usr/bin. Fix the issue by adding dependency for qemu native in meta-ide-support and also add the path info in the environment-setup script. Signed-off-by: Jessica Zhang <jessica.zhang@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-17toolchain-scripts: Sync the SDK/ADT values to the build systemMark Hatle1
The build system passes specific TUNE (fundamental) flag values to various tools instead of using a shell wrapper or similar. It is important that the build system and ADT/SDK match the behaviors exactly, or we are likely to have differences in the way build-system and external components are built leading to configuration, compilation and/or run-time problems. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03populate_sdk: enable basic multilib supportMark Hatle1
In order to enable basic multilib support for the export of an SDK image, a number of minor changes had to be made: The value of MULTIMACH_TARGET_SYS needs to be variable. This way we can define the value to the appropriate multilib. (Also in some cases the default PACKAGE_ARCH is set to MACHINE_ARCH which is incorrect for the SDK.) Add a companion REAL_MULTIMACH_TARGET_SYS, based on code from meta-environment, to allow for this. We have to convert the do_populate_sdk into a python call, and then break up the previous items into three parts. * Image construction * Setup of environment files * Generation of the tarball Then we can iterate over the multilibs to populate the environment files. Finally, matching changes were needed in the toolchain-scripts file. And what I presume is an optimization of immediate evaluation for TOOLCHAIN_CONFIGSITE_NOCACHE and ..._SYSROOTCACHE needed to be done at runtime, otherwise the wrong values may be used. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-03-23meta-toolchain: Popluated the libc siteconfig files.Lianhao Lu1
Fixed bug [YOCTO #2159] by correctly populate the libc's siteconfig files. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta/classes: Convert to use appendVar and appendVarFlagsRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01toolchain-scripts: Exclude variables causing the recipe to become ↵Richard Purdie1
unecessarily machine specific basehash changed from 30e97f9eeed1df8488b62b4fb47a3a0c to 72ea9a277e6599ae9052b169b9a94f1b Variable TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value changed from /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/share/x86_64-oe-linux_config_site.d to /OE/oe-core/tmp-eglibc/sysroots/qemux86-64copy/usr/share/x86_64-oe-linux_config_site.d Variable TIME value changed from 084543 to 085638 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01classes: replace 'Poky' with 'OE-core'Koen Kooi1
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-01-09add sysroot support for meta-ide-support which is the toolchain within build ↵Jessica Zhang1
env case Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-11-29toolchain-scripts.bbclass: Make it work when TCLIBC=uclibcKhem Raj1
This class currently only works with eglibc. Since it adds dependencies explicitly on eglibc when using uclibc this creates problems. So we make sure that it checks for TCLIBC to determine system C library in use Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie1
This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28Fixed a typo for setting up OECORE_ACLOCAL_OPTS for adt-installer caseJessica Zhang1
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24toolchain-script.bbclass: Collected cached site config in runtime.Lianhao Lu1
[YOCTO #892] Modify the function toolchain_create_sdk_siteconfig to collect the cached site config files which are specified by TOOLCHAIN_NEED_CONFIGSITE_CACHE in runtime. Also added task dependency to ensure the cached site config files are generated. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-08-23Use OECORE_DISTRO_VERSION instead of POKY_DISTRO_VERSIONOtavio Salvador1
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2011-08-05toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH varsNitin A Kamble1
This is comming from x32 need to pass special parameters to ld & as. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-08-04environment files: Added and unified version related variables.Lianhao Lu1
[YOCTO #1306] Fixing. Added and unified version related variables in all environment files generated by package meta-toolchain, meta-ide-support, meta-environment-xxx. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-08-01meta-environment: set correct *MULTIMACH_TARGET_SYS.Lianhao Lu1
Fixed [BUGID #1299]. OLD_MULTIMACH_TARGET_SYS is no longer available. Use new recipe-scope variable REAL_MULTIMACH_TARGET_SYS instead. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-06-30Add OECORE_ACLOCAL_OPTS to env setup scripts for autotool project using ↵Jessica Zhang1
correct libtool 2.4 Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-05-18Couple minor fixes for the OECORE renameJessica Zhang1
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-04-20POKY_NATIVE_SYSROOT -> OECORE_NATIVE_SYSROOTRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-18toolchain-scripts.bbclass: Added --sysroot to CPPFLAGS.Lianhao Lu1
[YOCTO #908] Added CPPFLAGS into the environment file and added --sysroot to it. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-03-05toolchain-script.bbclass: Added --sysroot to LDFLAGS.Lianhao Lu1
[YOCTO #808] Added --sysroot to LDFALGS in environment files. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>