summaryrefslogtreecommitdiff
path: root/meta/classes/toolchain-scripts.bbclass
AgeCommit message (Collapse)AuthorFiles
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>
2011-02-17toolchain-script/populate_sdk/meta-toolchain: moving common code.Lianhao Lu1
moving common code between populate_sdk.bbclass and meta-environment.bb into toolchain-script.bbclass. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-17toolchain-scripts.bbclass: Added libtool sysroot support.Lianhao Lu1
Added missing --with-libtool-sysroot and --sysroot in environment files. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-25bitbake: machine specific sysroots implementationDongxiao Xu1
This commit changes the sysroots path to be machine specific. Changes includes: 1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific paths. 2) task stamp files. Adding ${MACHINE} info into stamp files for do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged. 3) siteconfig path. Separate the site config path for different machines to avoid one machine adopting the cache file of another machine. 4) sstate. Add machine name to sstate manifest file. Change relocation code for sstate paths since sysroot is machine. Keep native, nativesdk, crosssdk, and cross-canadian unchanged. 5) toolchain scripts. Change the environment path to point to machine specific sysroots in toolchain scripts bbclass. 6) Relocate la files when populating to a different machine of the same architecture. 7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate siginfo since they contain ${MACHINE} information. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-12meta-environment: Remove c++ include dir from CXXFLAGS.Lianhao Lu1
[BUGID #651]. c++ include dir is no longer needed in the environment files due to commit f13cb20. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-21meta-environment: Added package of meta-environment-${TARGET_ARCH} forLianhao Lu1
environment files. [BUGID #565] Fixing bug #565, added package of meta-environment-${TARGET_ARCH} for environment files used by cross-canadian toolchain. Also corrected the situation of empty config site file for target. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-10-14Revert "meta-toolchain: Update the way ld.so.cache is handled"Richard Purdie1
This change didn't work as expected as ld.so.cache doesn't preseve any search path ordering, therefore revert the change. This reverts commit b2c3ce6d17520d43b10777dd306449876cb40819.