pr-util: insert appropriate parameter to adapt libtool

Submitted by yanjun.zhu on Nov. 18, 2013, 10:31 a.m.

Details

Message ID 1384770701-30455-1-git-send-email-yanjun.zhu@windriver.com
State New
Headers show

Commit Message

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(-)

Patch hide | download patch | download mbox

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

Comments

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
>