summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-08-19 10:26:59 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-25 12:08:50 +0100
commitf4e8e9242c5df095b52688b083df3c9d36e7144b (patch)
tree3b49beebc8cf7a4f86134a30792acf6ff97e41ad /meta
parente2328da34446317313d6a121c778a39a5f7a388a (diff)
downloadpoky-f4e8e9242c5df095b52688b083df3c9d36e7144b.tar.gz
db: Add --tag parameter to libtool invocation
Fix do_configure to be able to regenerate configure files Use cross libtool as installed by OE, as done in normal autotooled recipes These changes help in invoking the libtool with proper tags for C and C++ compiler and linker invocation and not use same tag across all different invocations Fixes errors like libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' (From OE-Core rev: afa9f769d62034d4443dfe929422d1d591adf709) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch42
-rw-r--r--meta/recipes-support/db/db_5.3.28.bb23
2 files changed, 59 insertions, 6 deletions
diff --git a/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch b/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch
new file mode 100644
index 0000000000..cb28db1343
--- /dev/null
+++ b/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch
@@ -0,0 +1,42 @@
1From 32e5943a3c4637d39e4d65b544dcb99e280210e3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 23 Jul 2017 10:54:26 -0700
4Subject: [PATCH] configure: Add explicit tag options to libtool invocation
5
6This helps cross compile when tag inference via heuristics
7fail because CC variable is having -fPIE -pie and libtool
8smartly removes it when building libraries
9
10Upstream-Status: Pending
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 dist/configure.ac | 12 ++++++------
15 1 file changed, 6 insertions(+), 6 deletions(-)
16
17diff --git a/dist/configure.ac b/dist/configure.ac
18index 689f3b8..9c14bdb 100644
19--- a/dist/configure.ac
20+++ b/dist/configure.ac
21@@ -366,12 +366,12 @@ LIBTOOL="./libtool"
22
23 INSTALLER="\$(LIBTOOL) --mode=install cp -p"
24
25-MAKEFILE_CC="\$(LIBTOOL) --mode=compile ${MAKEFILE_CC}"
26-MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK} -avoid-version"
27-MAKEFILE_CCLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK}"
28-MAKEFILE_CXX="\$(LIBTOOL) --mode=compile ${MAKEFILE_CXX}"
29-MAKEFILE_XSOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK} -avoid-version"
30-MAKEFILE_CXXLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK}"
31+MAKEFILE_CC="\$(LIBTOOL) --tag=CC --mode=compile ${MAKEFILE_CC}"
32+MAKEFILE_SOLINK="\$(LIBTOOL) --tag=CC --mode=link ${MAKEFILE_CCLINK} -avoid-version"
33+MAKEFILE_CCLINK="\$(LIBTOOL) --tag=CC --mode=link ${MAKEFILE_CCLINK}"
34+MAKEFILE_CXX="\$(LIBTOOL) --tag=CXX --mode=compile ${MAKEFILE_CXX}"
35+MAKEFILE_XSOLINK="\$(LIBTOOL) --tag=CXX --mode=link ${MAKEFILE_CXXLINK} -avoid-version"
36+MAKEFILE_CXXLINK="\$(LIBTOOL) --tag=CXX --mode=link ${MAKEFILE_CXXLINK}"
37
38
39 case "$host_os" in
40--
412.13.3
42
diff --git a/meta/recipes-support/db/db_5.3.28.bb b/meta/recipes-support/db/db_5.3.28.bb
index 7b158e9e2c..66282600f5 100644
--- a/meta/recipes-support/db/db_5.3.28.bb
+++ b/meta/recipes-support/db/db_5.3.28.bb
@@ -22,6 +22,7 @@ SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
22SRC_URI += "file://arm-thumb-mutex_db5.patch \ 22SRC_URI += "file://arm-thumb-mutex_db5.patch \
23 file://fix-parallel-build.patch \ 23 file://fix-parallel-build.patch \
24 file://0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch \ 24 file://0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch \
25 file://0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch \
25 " 26 "
26# We are not interested in official latest 6.x versions; 27# We are not interested in official latest 6.x versions;
27# let's track what debian is using. 28# let's track what debian is using.
@@ -76,22 +77,32 @@ MUTEX = ""
76MUTEX_arm = "${ARM_MUTEX}" 77MUTEX_arm = "${ARM_MUTEX}"
77MUTEX_armeb = "${ARM_MUTEX}" 78MUTEX_armeb = "${ARM_MUTEX}"
78EXTRA_OECONF += "${MUTEX} STRIP=true" 79EXTRA_OECONF += "${MUTEX} STRIP=true"
79EXTRA_OEMAKE_append_class-target = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" 80EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'"
80 81
82EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java"
81AUTOTOOLS_SCRIPT_PATH = "${S}/dist" 83AUTOTOOLS_SCRIPT_PATH = "${S}/dist"
82 84
83# Cancel the site stuff - it's set for db3 and destroys the 85# Cancel the site stuff - it's set for db3 and destroys the
84# configure. 86# configure.
85CONFIG_SITE = "" 87CONFIG_SITE = ""
86do_configure() { 88
87 cd ${B} 89oe_runconf_prepend() {
88 gnu-configize --force ${AUTOTOOLS_SCRIPT_PATH} 90 . ${S}/dist/RELEASE
89 oe_runconf 91 # Edit version information we couldn't pre-compute.
92 sed -i -e "s/__EDIT_DB_VERSION_FAMILY__/$DB_VERSION_FAMILY/g" \
93 -e "s/__EDIT_DB_VERSION_RELEASE__/$DB_VERSION_RELEASE/g" \
94 -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
95 -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
96 -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
97 -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
98 -e "s/__EDIT_DB_VERSION_FULL_STRING__/$DB_VERSION_FULL_STRING/g" \
99 -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
100 -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" ${S}/dist/configure
90} 101}
91 102
92do_compile_prepend() { 103do_compile_prepend() {
93 # Stop libtool adding RPATHs 104 # Stop libtool adding RPATHs
94 sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' ${B}/libtool 105 sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' ${B}/${HOST_SYS}-libtool
95} 106}
96 107
97do_install_append() { 108do_install_append() {