aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/toolchain-scripts.bbclass
AgeCommit message (Collapse)Author
2016-09-23toolchain-scripts-base: add base class for toolchain_create_sdk_versionJoshua Lock
We use toolchain_create_sdk_version() in buildtools-tarball but don't want the extra classes toolchain-scripts pulls in, therefore split out a separate base class for this function which both toolchain-scripts and the buildtools-tarball can inherit. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-22autotools/siteinfo: Tweak CONFIG_SITE handling for determism/racesRichard Purdie
As things stand there are multiple races in the CONFIG_SITE handling where checksums can change depending on whether site directories exist or not when parsing happens. This is bad. Secondly, there is a build race that occurs if you build virtuals in parallel with the "main" recipe, since the main recipe is parsed when the virtual is (since it sets variables like BBCLASSEXTEND) and with the current code, it may look for files and directories which could be created/destroyed which the loop is executing. This is also bad. The aclocal-copy directory should only ever be accessed by the call from autotools.bbclass. This changes the parameter name to make it clear and ensures all callers have the right usage, neatly avoiding all the problems above. Also added better comments. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-04bitbake.conf/toolchain-scripts.bbclass: Remove debug prefix mappings in SDKJacob Kroon
CFLAGS/CXXFLAGS in the SDK environment script adds debug-prefix mappings that include staging area/work directories. Remove them since the SDK shouldn't be aware of them. Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01toolchain-scripts: add sysroot/usr/share/pkgconfig to PKG_CONFIG_PATHRoss Burton
Otherwise architecture-independent pkg-config files such as wayland-protocols won't be found in the SDK. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-06toolchain-scripts: replace source built-in callStephano Cetola
Some shells (e.g. dash) do not support the source built-in. This replaces it with the dot operator. [ YOCTO #9535 ] Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21toolchain-scripts.bbclass: add three other path to PATH in env.shJun Zhang
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 Larson
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 Witt
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 Jia
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 Purdie
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 Purdie
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 Yang
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 Purdie
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 McCurdy
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 Purdie
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 Witt
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 Papp
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 Salvador
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 Hatle
[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 Purdie
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 Salvador
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 Purdie
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 Purdie
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 Purdie
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 Purdie
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 Purdie
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 Purdie
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 Purdie
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 Yu
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 Zhang
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 Palcu
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 Raj
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 Purdie
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 Ertsaas
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 Zhang
[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 Hatle
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 Hatle
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 Lu
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 Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01toolchain-scripts: Exclude variables causing the recipe to become ↵Richard Purdie
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 Kooi
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 Zhang
env case Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-11-29toolchain-scripts.bbclass: Make it work when TCLIBC=uclibcKhem Raj
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 Purdie
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 Zhang
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 Lu
[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 Salvador
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2011-08-05toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH varsNitin A Kamble
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 Lu
[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 Lu
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>