Patchwork pr-util: insert appropriate parameter to adapt libtool

login
register
mail settings
Submitter yanjun.zhu
Date Nov. 18, 2013, 10:31 a.m.
Message ID <1384770701-30455-1-git-send-email-yanjun.zhu@windriver.com>
Download mbox | patch
Permalink /patch/61895/
State New
Headers show

Comments

yanjun.zhu - Nov. 18, 2013, 10:31 a.m.
When ccache is enabled, a parameter "ccache" is inserted.
libtool can not handle this parameter correctly. So "--tag=CC"
is introduced to help libtool handle it.
---
 meta/recipes-support/apr/apr-util_1.5.2.bb |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
Richard Purdie - Nov. 18, 2013, 12:20 p.m.
On Mon, 2013-11-18 at 18:31 +0800, yanjun.zhu wrote:
> When ccache is enabled, a parameter "ccache" is inserted.
> libtool can not handle this parameter correctly. So "--tag=CC"
> is introduced to help libtool handle it.
> ---
>  meta/recipes-support/apr/apr-util_1.5.2.bb |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/recipes-support/apr/apr-util_1.5.2.bb b/meta/recipes-support/apr/apr-util_1.5.2.bb
> index ea0f7fb..d6ae394 100644
> --- a/meta/recipes-support/apr/apr-util_1.5.2.bb
> +++ b/meta/recipes-support/apr/apr-util_1.5.2.bb
> @@ -34,6 +34,11 @@ do_configure_append() {
>  	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
>  		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
>  	fi
> +
> +	# When ccache is enabled, libtool needs --tag=CC to choose correct handle methods.
> +	if [ -f ${S}/build/rules.mk ]; then
> +		sed -i "s,^LTFLAGS,LTFLAGS      = --silent --tag=CC\n#LTFLAGS,g" ${S}/build/rules.mk
> +	fi
>  }
>  do_configure_prepend_class-native() {
>  	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk

This looks like something better done with a specific patch along with
an explanation in the patch header. Is there any reason upstream
wouldn't do this?

By using a patch we ensure that when things are upgraded, the right
thing still gets done. You may need to update the apr recipe itself to
get the patch right.

Cheers,

Richard
Martin Jansa - Nov. 18, 2013, 3:10 p.m.
On Mon, Nov 18, 2013 at 06:31:41PM +0800, yanjun.zhu wrote:
> When ccache is enabled, a parameter "ccache" is inserted.
> libtool can not handle this parameter correctly. So "--tag=CC"
> is introduced to help libtool handle it.

Typo in subject.

> ---
>  meta/recipes-support/apr/apr-util_1.5.2.bb |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/recipes-support/apr/apr-util_1.5.2.bb b/meta/recipes-support/apr/apr-util_1.5.2.bb
> index ea0f7fb..d6ae394 100644
> --- a/meta/recipes-support/apr/apr-util_1.5.2.bb
> +++ b/meta/recipes-support/apr/apr-util_1.5.2.bb
> @@ -34,6 +34,11 @@ do_configure_append() {
>  	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
>  		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
>  	fi
> +
> +	# When ccache is enabled, libtool needs --tag=CC to choose correct handle methods.
> +	if [ -f ${S}/build/rules.mk ]; then
> +		sed -i "s,^LTFLAGS,LTFLAGS      = --silent --tag=CC\n#LTFLAGS,g" ${S}/build/rules.mk
> +	fi
>  }
>  do_configure_prepend_class-native() {
>  	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk
> -- 
> 1.7.3.5
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
yanjun.zhu - Nov. 19, 2013, 8:40 a.m.
On 11/18/2013 08:20 PM, Richard Purdie wrote:
> On Mon, 2013-11-18 at 18:31 +0800, yanjun.zhu wrote:
>> When ccache is enabled, a parameter "ccache" is inserted.
>> libtool can not handle this parameter correctly. So "--tag=CC"
>> is introduced to help libtool handle it.
>> ---
>>   meta/recipes-support/apr/apr-util_1.5.2.bb |    5 +++++
>>   1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/meta/recipes-support/apr/apr-util_1.5.2.bb b/meta/recipes-support/apr/apr-util_1.5.2.bb
>> index ea0f7fb..d6ae394 100644
>> --- a/meta/recipes-support/apr/apr-util_1.5.2.bb
>> +++ b/meta/recipes-support/apr/apr-util_1.5.2.bb
>> @@ -34,6 +34,11 @@ do_configure_append() {
>>   	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
>>   		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
>>   	fi
>> +
>> +	# When ccache is enabled, libtool needs --tag=CC to choose correct handle methods.
>> +	if [ -f ${S}/build/rules.mk ]; then
>> +		sed -i "s,^LTFLAGS,LTFLAGS      = --silent --tag=CC\n#LTFLAGS,g" ${S}/build/rules.mk
>> +	fi
>>   }
>>   do_configure_prepend_class-native() {
>>   	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk
> This looks like something better done with a specific patch along with
> an explanation in the patch header. Is there any reason upstream
> wouldn't do this?
>
> By using a patch we ensure that when things are upgraded, the right
> thing still gets done. You may need to update the apr recipe itself to
> get the patch right.
>
> Cheers,
>
> Richard
>
Hi, Richard

rules.mk is copied from apr_rules.mk. apr_rules.mk is generated by 
configure task.
The configure task is after patch. So it is difficult to make a patch 
for this defect.

Best Regards!
Zhu Yanjun
>

Patch

diff --git a/meta/recipes-support/apr/apr-util_1.5.2.bb b/meta/recipes-support/apr/apr-util_1.5.2.bb
index ea0f7fb..d6ae394 100644
--- a/meta/recipes-support/apr/apr-util_1.5.2.bb
+++ b/meta/recipes-support/apr/apr-util_1.5.2.bb
@@ -34,6 +34,11 @@  do_configure_append() {
 	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
 		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
 	fi
+
+	# When ccache is enabled, libtool needs --tag=CC to choose correct handle methods.
+	if [ -f ${S}/build/rules.mk ]; then
+		sed -i "s,^LTFLAGS,LTFLAGS      = --silent --tag=CC\n#LTFLAGS,g" ${S}/build/rules.mk
+	fi
 }
 do_configure_prepend_class-native() {
 	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk