bootstrap is another magic script which is intended run before autotools. The
class created runs this script at the right time and ensures that sources of
gnulib are not cloned during configure.

Signed-off-by: Andreas Müller <[email protected]>
---
 meta-oe/classes/autotools-bootstrap.bbclass | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 meta-oe/classes/autotools-bootstrap.bbclass

diff --git a/meta-oe/classes/autotools-bootstrap.bbclass 
b/meta-oe/classes/autotools-bootstrap.bbclass
new file mode 100644
index 0000000..8d7af1b
--- /dev/null
+++ b/meta-oe/classes/autotools-bootstrap.bbclass
@@ -0,0 +1,24 @@
+# Class to inherit when you want to build with autotools after running 
bootstrap
+inherit autotools
+
+DEPENDS += "gnulib"
+
+do_configure_prepend() {
+    currdir=`pwd`
+    cd ${S}
+
+    # avoid bootstrap cloning gnulib on every configure
+    cat >.gitmodules <<EOF
+[submodule "gnulib"]
+       path = gnulib
+       url = git://git.sv.gnu.org/gnulib
+EOF
+    cp -rf ${STAGING_DATADIR}/gnulib ${S}
+
+    # --force to avoid errors on reconfigure e.g if recipes changed we depend 
on
+    # | bootstrap: running: libtoolize --quiet
+    # | libtoolize:   error: 'libltdl/COPYING.LIB' exists: use '--force' to 
overwrite
+    # | ...
+    ./bootstrap --force
+    cd $currdir
+}
-- 
2.1.0

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to