summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pseudo/pseudo.inc
Commit message (Collapse)AuthorAgeFilesLines
* pseudo: force NO32LIB to true for nativesdkRandy MacLeod2013-09-221-0/+1
| | | | | | | | | | | | | | | The exported SDK only needs simulated root privileges for specific tasks, such as the user-mode NFS server or rootfs extraction, and oe-core does not support multilib builds in the generated SDK, so it is neither necessary nor possible to build a 32-bit libpseudo.so for a 64-bit SDK. [YOCTO #5135] (From OE-Core rev: 908b179b798704db74c886ec4c70c0942b09cb00) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Always try to build 32-bit libpseudo when NO32LIBS is set to 0Peter Seebach2013-07-311-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | This is for Yocto bug #4920. The NO32LIBS variable is intended to allow the user to force the creation of a 32-bit libpseudo, for use with things like prebuilt binary toolchains. Unfortunately, the tests for likely compilability (stubs-32.h) were still present, so you would get silent failures. And if you did cause it to try to build, the failures were not particularly clearly explained. So, we: 1. Emit at least a message during configuration saying we're only building 64-bit, if we are. 2. Warn the user for at least one common case where we know builds are likely to fail. 3. If NO32LIBS is 0, we try the compile for sure, and if it fails, we've emitted at least some sort of message up near the top of the compile output that tells you what might be wrong. (From OE-Core rev: 22548b3243dfa2dc9861b0f15530632b37812a8c) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo.inc: pseudo 1.5 uprev, support extra config flagsPeter Seebach2013-02-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The pseudo 1.5 update is a moderately experimental set of changes which ought to improve performance. With these changes, pseudo uses an in-memory sqlite database which is lushed on exit, the protocol is changed to reduce waiting for server responses, and pseudo can suppress any and all fsync/fdatasync type operations. This last feature is optional, and not on by default, so we need to pass in an extra configure argument, but that argument wouldn't be known to an older configure, so... Enter PSEUDO_EXTRA_OPTS which is passed to configure, and which pseudo_1.5.bb sets by default to "--enable-force-async". (I haven't added it in pseudo_git.bb, but maybe it should be changed; I'm not quite as sure there.) The justification for these changes is that, for most of the real-world build cases I deal with, they produce a 25% or more reduction in the build time of a project. This increases when a system is heavily loaded. (From OE-Core rev: 79ddb0c33401da442dbaa8e0d73ebacf297d9185) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo.inc: Fix sqlite libdir again, pseudo 1.4.3Peter Seebach2013-02-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates to pseudo 1.4.3. Changes: 1. A couple of minor tweaks to reduce difficulties using SDKs built on slightly more recent machines on older machines; specifically, avoiding getting @GLIBC_2.7 symbol references for sscanf(), fscanf(), and open2(). 2. Revision of the logic determining the library directory to use for sqlite's library files. The latter is a source of difficulty because it's come up a few times that we may want pseudo to use lib64 for libpseudo.so, but bitbake's usual setup would have libsqlite3.a in lib regardless of bit width. Cleaned up previous design a bit by providing a distinct setting for sqlite-lib, which defaults to the same library directory used for other things. Adjusted build to use this new setting. (This ends up being ${baselib}; on targets, that might not be lib, but for native builds it generally is, and for SDK builds it appears to do the right thing.) Testing: Successful build of meta-toolchain for both 64-bit and 32-bit SDKMACHINE, and builds with NO32LIBS = "0" also succeeded. Also builds for multilib targets. (From OE-Core rev: ae8811bb26fba2e71d7280f6d6c4f5cec6a2871b) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes-devtools: replace virtclass-native(sdk) with class-native(sdk)Robert Yang2012-11-021-6/+6
| | | | | | | | | | | | | The overrides virtclass-native and virtclass-nativesdk are deprecated, which should be replaced by class-native and class-nativesdk. [YOCTO #3297] (From OE-Core rev: bb67ddeb2eed3e25c626a279ef53a7e8c7bfe6f2) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix pseudo-native rebuild when triggered by dep changeMark Hatle2012-08-191-0/+6
| | | | | | | | | | | | | | | When NO32LIBS = 0, building 32-bit version of pseudo-native and building on a 64-bit host -- if the build was triggered by a dependency change on something pseudo uses, the build could fail due to left over files from the previous build. Fix this by ensuring we run make distclean (and ignoring any failure codes) to ensure we start over. (From OE-Core rev: 30ae7320265efe039730cd2faf7bd86a264412ed) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo.inc/pseudo_1.4.bb: update pseudo to 1.4Peter Seebach2012-07-291-3/+9
| | | | | | | | | | | | | | | | | | | | | | | This update replaces the half-baked --arch logic with the use of $CFLAGS to pick compiler flags, on the grounds that it makes a lot more sense for the build system to pick flags than for pseudo to try to guess what they should be; this should allow pseudo to at least compile for targets, and possibly run on them. This doesn't solve the problem of guessing how to forcibly build the 32-bit variant on hosts, because we really don't have a general solution for that. There's no idiom for "given this set of compiler flags and this architecture, what flags would you use to request a 32-bit compile instead?" So we basically ignore that for now. If someone comes along trying to use the build system to build pseudo-native on a 64-bit host that also supports 32-bit binaries and isn't x86, we will revisit this. (From OE-Core rev: 711fcb4f10e2cefd7ff6e1921d87d1cad840d0c8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Drop nativesdk wrapper and link against old memcpy symbolRichard Purdie2012-04-221-2/+2
| | | | | | | | | | | | | | | | | | The -nativesdk pseudo wrapper setting LD_LIBRARY_PATH turned out to be a bad idea since it can mix up different libc and lib-dl verisons which may or may not work depending on the phase of the moon. As an alternative to solving the original problem, this patch drops the symbol version requirement on memcpy which allows pseudo to work with libc's back to 2.7 which should be sufficient for our supported targets using nativesdk. [YOCTO #2299] [YOCTO #2351] (From OE-Core rev: c6c701f424aeb502d20ff02d02712e56f4e259a5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix bashismsRichard Purdie2012-04-221-5/+5
| | | | | | (From OE-Core rev: 90e22bbb316088fa951d51e75de4e5424bd51ed6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Ensure the correct libraries are used at runtimeRichard Purdie2012-04-151-3/+2
| | | | | | | | | | | | | | | | | | | There can be a conflict between the nativesdk libc and the host system's libc. It is assumed the nativesdk version is of an equal or higher version. This is a particular issue for pseudo if its loading a system binary since the system's libc might be used of an older verison which would then confuse libpseudo.so when loaded as a preload. To avoid this, set LD_LIBRARY_PATH so the nativesdk libc is always used. Since we now use --without-rpath, we can remove the MAKEOPTS RPATH workaround. [YOCTO #2299] (From OE-Core rev: a481fe3b9883aa744be3253e2b4b27e6e46eb059) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: default NO32LIBS to 1Paul Eggleton2012-04-131-1/+1
| | | | | | | | | | | | If this value is not set to 1, then systems with some 32-bit libraries but no 32-bit version of libgcc installed will have pseudo-native fail at do_compile. It should only really be set to 0 by those who know what they are doing. (From OE-Core rev: 489a36d3d6b67d706f5918638e1fbc05ccd59e21) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Tell pseudo to avoid specifying an RPATHMark Hatle2012-04-131-4/+4
| | | | | | | | | | | | [Yocto #2251] Add --without-rpath to avoid embedding rpaths into the pseudo components. (From OE-Core rev: ae978e9671fdbcb31e306308bfb816b4bd2b2496) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Pseudo: Update to 1.3Peter Seebach2012-03-281-2/+2
| | | | | | | | | | | | | | | | | | The various local patches have made it into upstream, so we update the build files and jump to pseudo 1.3. This also includes a popen() fix which fixes some edge cases that caused failures trying to check git branches and the like. [Yocto bug #2181] (From OE-Core rev: 0b007519fcfb1bcf2be9cad40b0f6265f8798518) Signed-off-by: Seebs <peter.seebach@windriver.com> Updated the pseudo_git.bb to match. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: package the var/pseudo directory.Lianhao Lu2012-03-231-1/+1
| | | | | | | | | | | | | | | Fixed the "not shipped" packaging warnings. WARNING: For recipe pseudo-nativesdk, the following files/directories were installed but not shipped in any package: WARNING: /opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/var WARNING: /opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/var/pseudo (From OE-Core rev: 91f6d5777e4fc9f261c361f41eda397a4903b334) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: ensure libs are included in packageSaul Wold2012-01-031-1/+1
| | | | | | | | | [YOCTO #1868] (From OE-Core rev: de679a3036ebef1c7d7b8ee23f05590c95e498d9) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix QA warningsRichard Purdie2011-09-281-6/+12
| | | | | | | | | | | | | This fixes two QA warnings: a) Debug files being contained in the main package (by adding an appropriate FILES expression) b) Stop hardcoding the RPATH in the nativesdk case since our path is on the loaders default search path (From OE-Core rev: 1577975202437f8f89ef24a5e4d3f6c6c8a88c5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Update pseudo to 1.1.1 versionMark Hatle2011-06-091-6/+14
| | | | | | | | | | | | | | | | Update both the core and pseudo_git packages to the latest 1.1.1 verison. This fixes an issues where the call system() was not wrapped. This could lead to issues where certain spawned commands broke out of a pseudo-chroot and created files in the wrong place. Also the update the 1.0 -> 1.1.1 adds additional capabilities such as beginning support for MacOS X. (From OE-Core rev: 9eaa9ed38a197be76317cd3e42f54d1808c3e971) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Add and use the 1.0 release versionRichard Purdie2011-02-101-0/+69
Not using the git version has the advantage of removing several early bootstrap dependencies such as git-native (which pulls in perl and openssl). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>