summaryrefslogtreecommitdiffstats
path: root/meta/classes/autotools.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* Revert "autotools.bbclass: using relative paths for acpaths"Richard Purdie2012-09-271-2/+1
| | | | | | | | | | | This reverts commit aa66ef6598c84231577d139ec7be413e73fac2b1 since bdwgc-native fails to build after it. Anything which runs with a sub-configure will fail after this change. It therefore needs rethinking. (From OE-Core rev: f95a9e2c292a1551861220270838cf1eaaba85b9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: using relative paths for acpathsWenzong Fan2012-09-271-1/+2
| | | | | | | | | | | | | | | | | | Fix autotools.bbclass to use relative paths for acpaths instead of absolute ones. Since absolute paths may cause potential autoreconf error like: Can't exec "/bin/sh": Argument list too long ... This error occurs while building coreutils with long TMPDIR, because it has bunch of m4 files need to be expanded. [YOCTO #2766] (From OE-Core rev: aa66ef6598c84231577d139ec7be413e73fac2b1) Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: Remove special handling for autoconf* and automake*Phil Blundell2012-09-241-83/+75
| | | | | | | | | | | | | | | | | For reasons that are now shrouded in obscurity, autotools.bbclass has long contained a special heuristic to avoid attempting to run autoreconf when building autoconf or automake themselves. However, the wildcard test against PN which is used there is problematic when trying to build another package whose name happens to start with "autoconf", and in any case it is silly to do this test at runtime for every package. The individual recipes for autoconf and automake can just as easily suppress the behaviour that they don't want by providing a custom do_configure() method which just runs configure. (From OE-Core rev: a87db6f8dea71cbb7ead9285ff8af0e28cf75604) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Add functionality to force a clean of ${B} when ↵Richard Purdie2012-09-121-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reconfiguring (and ${S} != ${B}) Unfortunately whilst rerunning configure and make against a project will mostly work there are situations where it does not correctly do the right thing. In particular, eglibc and gcc will fail out with errors where settings do not match a previously built configuration. It could be argued they are broken but the situation is what it is. There is the possibility of more subtle errors too. This patch adds removal of the build directory (${B}) when configure is rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}. We could simply use a stamp but saving out the previous configuration checksum adds some data at no real overhead. If we find there are things where we want to disable this behaviour with CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally. [YOCTO #2774] [YOCTO #2848] This is particularly helpful for eglibc and gcc which use split builds by default and are a particular source of reconfigure type problems. (From OE-Core rev: f15f61af77cc4e52a037f509f8e49e1ea530cf35) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert tab indentation in python functions into four-spaceRichard Purdie2012-07-191-19/+19
| | | | | | (From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: When configure fails, dump the config.log files the logsRichard Purdie2012-07-031-1/+8
| | | | | | | | | | | | | | | | | When configure fails, it usually says "see config.log" yet nobody ever shares the config.log file meaning the person trying to help invariably has to ask for more information. This patch dumps all the config.log files into the main bitbake log files when configure fails, meaning all the information is present to help someone debug such failures. It does make the log rather larger but this is preferable to not having enough information in most cases. [YOCTO #2463] (From OE-Core rev: 7ad08f5b73aa949a877adc5641b4bb1d007de750) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/cp-noerror: Add a special copy function to fix autotools issuesRichard Purdie2012-05-301-2/+1
| | | | | | | | | | | | | | | | | | | Currently we copy the aclocal directory to the build so that autotools doesn't see .m4 files disappear when its processing them. This can happen if for example, package X is being rebuilt at the same time as Y and it gets uninstalled from sstate (assuming there are no dependencies between X and Y). This code making the copy was added to avoid races but introduces a race of its own, namely that the files can disappear during the copy. This patch adds a cp-noerror script which silently ignores such errors and gives the behaviour we need in this case. It hence fixes issues which crop up for users and the autobuilder occasionally. [YOCTO #2485] (From OE-Core rev: 0f81fbc0df73675aeb79c724858799a3b6a02f85) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Drop -nativesdk dependency to lib-cross.Lianhao Lu2012-03-311-0/+1
| | | | | | | | | | | -nativesdk recipes should not have dependency to lib-cross, which is never used. This unnecessary dependency would result different task hash values in sstate for different MACHINE settings. (From OE-Core rev: 313deb802c5411c6c88655057f05a7d8823d999c) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-051-3/+3
| | | | | | | | | | | | Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Make builds deterministicRichard Purdie2012-02-241-0/+2
| | | | | | | | | | | | | We need to ensure any aclocal-copy directory is removed before we s earch for .m4 files, else the locations .m4 files are found from can vary depending on whether its the first or second time we run configure. Clearing any existing aclocal-copy directory before we start resolves this issue and makes builds deterministic again. (From OE-Core rev: 673e2a05013cbe08efde936f663845031025689d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Don't copy into non-existant directoryAndreas Oberritter2012-02-231-1/+1
| | | | | | | | | | | | | | | | * If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in doesn't exist, autotools_do_configure() copies a local version of Makefile.in.in to this location. If the directory 'po' doesn't exist, the function aborts. * This patch verifies that the directory exists before copying a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT, but has no 'po' directory. (From OE-Core rev: ba175bdfe85d701298d28e5190e55207420a24e8) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Introduce CACHED_CONFIGUREVARSKhem Raj2012-01-101-1/+1
| | | | | | | | | | | | | | | | | | This variable is for holding the cached configure variables to be specified in recipes. e.g. CACHED_CONFIGUREVARS += "ac_cv_foo=yes ac_cv_bar=no" This will make sure that the variables are not detected by configure. This is useful in cross builds where some features can not be detected correctly by configure and having it as a variables gives us capability to override it (From OE-Core rev: e48fd42e047f46399828a074c5125a0ce9c3f56f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: fix cp error for empty dirNitin A Kamble2012-01-031-1/+3
| | | | | | | | | | | | | | | | | the .../usr/share/aclocal is empty for build from scratch. so avoid cp error if the directory is empty. Fixes this error, which is thrown before pseudo is built: | cp: cannot stat `/builddisk/build/build0/tmp/sysroots/x86_64-linux/usr/share/aclocal/*': No such file or directory NOTE: package libtool-native-2.4.2-r0.0: task do_configure: Failed (From OE-Core rev: f4ffe39450c3da33b24766a5f83ad06cc8ff950c) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Report the missing configure pathDarren Hart2011-11-301-4/+5
| | | | | | | | | | | If the configure script isn't found, report the explicit path tried. This can help debug subtle errors where the ${S} sourcedir may not be exactly what is expected. (From OE-Core rev: 8cdee4c9b8ffcba69134258eff72eede61acd12f) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-101-3/+3
| | | | | | | | | | | | | | | | | 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 *` (From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: fix multi-word arguments for EXTRA_OECONFChristopher Larson2011-10-141-4/+2
| | | | | | | | | | | | This is needed to better support things like the following (with a multi-word BUILD_CC): EXTRA_OECONF += '"ac_cv_prog_CC_FOR_BUILD=${BUILD_CC}"' (From OE-Core rev: 38a394e7ffedccfabda085c97add8944718943c2) Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: Enhance gettext handling to better work with SCM versions of codeRichard Purdie2011-10-141-1/+7
| | | | | | | | | | | | | | | | | If we pull SCM based code using gettext, Makefile.in.in in the po directory can be missing. We therefore need to add this if its not already present. We could use gettextize if it wasn't so broken (for example requiring user input on stdin and installing way more files that we ever care about such as the m4 files). We also have a problem if a recipe sets a different AUX dir, for now fix this by allowing recipes to specify when this is being done using the AUTOTOOLS_AUXDIR variable. Ultimately we could likely figure this out automatically. (From OE-Core rev: acaefad1aa4b45813a004e0cd1d85bc013e435f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Allow dependency tracking option to be easily overriddenRichard Purdie2011-10-061-1/+3
| | | | | | (From OE-Core rev: c353a60bd8a6151a3538f0900aff0b5856aa0684) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: Disable dependency trackingRichard Purdie2011-10-041-0/+1
| | | | | | | | | | | There is no point in us spending time generating a ton of dependency information in source directories when we don't actually use it for our one off builds. We might as well disable the option and take the speed up. (From OE-Core rev: 970e0ae610804638d00b0a6b85c6e2e895778e8e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove help2man dependencyRichard Purdie2011-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | The help2man script is pretty useless to us. It requires to run the target binary to extract help information which is not possible for any of our cross compiled target binaries. We're not interested in man pages for -cross/-native tools. It therefore makes no sense to have this as a core build dependency. This patch removes the dependeny and replaces it with a script returning false. This will trigger autotool's missing utility to use the copy of the man page included with the sources which is what would already happen when we tried to run cross compiled binaries anyway. (From OE-Core rev: 288343e30604b944dc18fd82172febd314d9c520) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Set the dynamic linker search path for libtool correctlyRichard Purdie2011-09-261-0/+2
| | | | | | | | | | | | libtool obtains the search path from /etc/ld.so.conf and hardcodes /usr/lib and /lib. This results in host contamination and variable sets of RPATH values ending up in binaries. By exporting the correct values for all autotools recipes we avoid this. (From OE-Core rev: 93e595d5c89ebacdb8d1e6fcfe6f58fe2d30de28) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Fix m4 file raceRichard Purdie2011-08-031-1/+6
| | | | | | | | | | | | If something removes .m4 files from the aclocal directory whilst aclocal is running it gets upset. To avoid this we need to take a copy of the aclocal directory and build against this instead. [YOCTO #861] (From OE-Core rev: 6a4778e21341f031569f561e7699d2c616b60af0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Add support for compiling recipes against multiple ABIsRichard Purdie2011-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the core multilib class which can be used along with a parameter specifying the mutlilib to use in BBCLASSEXTEND. The MLPREFIX variable is added and can be used in cases where its too difficult to dynmaically work out where a mutltilib prefix is needed to be added to a variable. This includes: * SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu. * PACKAGE_DYNAMIC mapping from Yu Ke * PACKAGE_INSTALL mapping from Yu Ke * RPROVIDES mapping from Yu Ke * TARGET_VENDOR fix from Mark Hatle * Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke * Map PKG and ALLOW_EMPTY from Dongxiao Xu * Ensure RCONFLICTS and PKG field dependencies are remapped (from Dongxiao Xu) * Ensure PN and MLPREFIX are set at the same time to ensure consistent BPN values (Yu Ke) (From OE-Core rev: 5d9453049915db48ec4b5972e12287417ebb61a2) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Add help2man-native to the main DEPENDS treeTom Rini2011-07-201-2/+2
| | | | | | | | | | | With help2man no longer being required by sanity.bbclass we need to make sure that if we are going to build autotools stuff that help2man will be there as it's a frequent implicit dependency. (From OE-Core rev: fd03530b4e2fb0660212a5ffb849c2169076585c) Signed-off-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native/nativesdk: Clean up the depends ordering after bitbake override ↵Richard Purdie2011-06-091-2/+0
| | | | | | | | | | | | | | | handling updates This massively cleans up the dependency handling in the two classes when interacting with BBCLASSEXTEND. This change has a dependency on the bitbake override handling change and also the existence of the RecipePreFinalise event. (From OE-Core rev: f183c7cfe377fa6ed2777605c3590a9dda2060df) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging: update existing oe* logging users to the bb* interfaceDarren Hart2011-05-041-8/+8
| | | | | | | | | | | | | | The new bash logging class provides bbnote, bbwarn, bbfatal, and bbdebug replacements (as well as bbplain and bberror) for the oe* equivalents. Use the new bb* API in preparation to delete the oe* logging API. This patch was automatically generated by a sed script. The result has been visually inspected and used to build core-image-sato for qemux86. (From OE-Core rev: a1f09fce5caba389d0484b169f0cde85d64514fa) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Copy gettext files only if --disable-nls is not setKhem Raj2011-04-281-9/+10
| | | | | | | (From OE-Core rev: 040d4dea9637a4723cbb2a74975130d3b86e569a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: Pass --disable-silent-rules to configureColin Walters2011-04-121-0/+1
| | | | | | | | | | | | | | | Non-verbose logs are really annoying when trying to debug a build failure. A lot of projects are copying in the flag to use AM_SILENT_RULES which automake gained recently. We need to undo this. We'll get a warning from configure if it's not recognized, but that's fine. (From OE-Core rev: 86a760d8b573cfffaf1ac633fcffdfec748663cb) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Fix automake file race issuesRichard Purdie2011-03-101-2/+2
| | | | | | | | | | | | | | If one package is configuring when automake is built, the aclocal-VERSION directory can be created or removed and this can confuse the configure process. Since we always run automake-native, it should always be using the autoake-native aclocal directory for automake files which is the result of this patch. (From OE-Core rev: 2a15188d631a97dc20940f7edc801212e191332f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Drop info directory listings as they're going to be ↵Richard Purdie2011-02-021-0/+4
| | | | | | broken if generated at this point and cause file conflicts Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Drop unused autotools_stage_dir dummy functionRichard Purdie2011-01-271-4/+0
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Only include aclocal directories if the exist, no point ↵Richard Purdie2011-01-271-3/+6
| | | | | | in creating them Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: libtool sysroot support changesScott Garman2011-01-211-16/+9
| | | | | | | | | | | | | We do not do it for native recipes, as the native compiler should fall back to a prefix of /usr and not solely depend on the sysroot. Otherwise we end up staging everything in the native sysroot before we start to build target recipes. Also remove la mangling code, which is no longer necessary. Commit derived from Khem Raj's OE commits. Signed-off-by: Scott Garman <scott.a.garman@intel.com>
* autotools: enable siteconfig by defaultJeff Polk2010-09-101-0/+1
| | | | | | eglibc glibc ncurses uclibc zlib: remove explicit siteconfig Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
* autotools.bbclass: Drop a number of legacy functions that shouldn't be (and ↵Richard Purdie2010-08-191-33/+1
| | | | | | aren't) used in poky now Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Finally deprecate all legacy do_stage functions. This changes the existing ↵Richard Purdie2010-07-221-7/+0
| | | | | | | | warning into a fatal error if any legacy do_stage functions are found. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* autotools: deprecate autotools_stage classJoshua Lock2010-04-271-1/+4
| | | | | | | | | Move the functionality into autotools and ensure all our Poky recipes are no longer using it. Keep the autools_stage class around for OE compatability but just have it inherit autools. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* autotools.bbclass: Allow extraction of the configure arguments for use in ↵Richard Purdie2010-03-291-17/+19
| | | | | | strange testcases Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Don't inherit siteinfo in base.bbclass [based on an OE patch ↵Richard Purdie2010-03-191-0/+6
| | | | from Chris Larson]
* autotools.bbclass: Make sure config.rpath is present if neededRichard Purdie2009-11-301-0/+4
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base/autotools.bbclass: Make sure extra dependencies are not lost for native ↵Richard Purdie2009-11-131-0/+4
| | | | | | and nativesdk BBCLASSEXTEND. Ugly but no simpler/neater way seems possible Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Remove and sanitise import statementsRichard Purdie2009-11-131-3/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Various staging improvement fixupsRichard Purdie2009-11-131-3/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* autotools.bbclass: Separate out useful staging functions into base.bbclass ↵Richard Purdie2009-11-131-45/+4
| | | | | | and call from autotools classes Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* autotools.bbclass: No need to fork sed each timeRichard Purdie2009-11-131-4/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* autotools.bbclass: Convert .la file mangling to package preprocessing hookRichard Purdie2009-11-131-1/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Remove layout_* variablesRichard Purdie2009-09-171-6/+6
| | | | | | | | | | | | Remove layout_* variables and replace them with variables specific to the different classes. The layout variables were only useful for the native/cross classes and caused more confusion than they solved. They didn't scale to the sdk class. It now clear a small set of native/cross variables fulfil the needs. This patch also changes native.bbclass to use "/" as the STAGING_DIR which makes sense since we're installing binaries into the locations we're compiling them for. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* autotools.bbclass: Remove pointless inheritRichard Purdie2009-08-121-2/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* autotools.bbclass: Fix to work with configure files with leading whitespaceRichard Purdie2009-07-161-3/+3
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* packaged-staging.bbclass: Detect when we're using autotools_stage_all and ↵Richard Purdie2009-06-111-2/+5
| | | | | | don't hold the lock for as long when that is the case giving a significant performance boost with less lock contention and staging area file timestamp checking required Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>