diff mbox

[v2] tags: honor COMPILED_SOURCE with apart output directory

Message ID CAK7LNAQJ-vcsok7cWgLyKGiTxPoQkr0mNbf3t4d24jj6cPCw6w@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Masahiro Yamada May 6, 2017, 3:57 p.m. UTC
Hi Robert,

2017-05-04 15:29 GMT+09:00 Robert Jarzmik <robert.jarzmik@free.fr>:
> Masahiro Yamada <yamada.masahiro@socionext.com> writes:
>
>> Hi Robert,
>>
>> 2017-04-26 5:07 GMT+09:00 Robert Jarzmik <robert.jarzmik@free.fr>:
>>> Masahiro Yamada <yamada.masahiro@socionext.com> writes:
>>>
>>>> Hi Robert,
>>>>> diff --git a/scripts/tags.sh b/scripts/tags.sh
>>>>> index a2ff3388e5ea..35cb64d5211c 100755
>>>>> --- a/scripts/tags.sh
>>>>> +++ b/scripts/tags.sh
>>>>> @@ -106,7 +106,8 @@ all_compiled_sources()
>>>>>                 case "$i" in
>>>>>                         *.[cS])
>>>>>                                 j=${i/\.[cS]/\.o}
>>>>> -                               if [ -e $j ]; then
>>>>> +                               k="${j#$tree}"
>>>>> +                               if [ -e $j -o -e "$k" ]; then
>>>>
>>>>
>>>> Do we need to check both srctree and objtree?
>>>> I think checking objtree (after $tree is ripped off) is enough.
>>>
>>> If I remember correctly, as this goes back a couple of monthes when I made the
>>> tests of this patch, the srctree is checked for the case when the kernel is
>>> compiled without O=, and objtree for the case with O=.
>>
>>
>> I thought of this too, but if O= is given, objects in srctree
>> should not be checked.
>>
>> For example, the kernel may be compiled for ARCH=arm with O= first,
>> then for ARCH=x86 without O= second.
>>
>> If we include objects from both trees, the generated tag file
>> will be a mixture of arm and x86.
> That's true, but is this case worth an additional test for this case, ie. is it
> a case anybody uses ? Given that that this tags generation never worked for out
> of tree builds, I was thinking it wasn't worth a :
>    [[ (-z $O -a -e $j) || (-n $O -a -e $k) ]];


I am not saying we should do like that.


My suggestion is even simpler.

Can we do like this?

Comments

Masahiro Yamada June 5, 2017, 6:05 a.m. UTC | #1
Hi Robert,


2017-05-07 0:57 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Hi Robert,
>
> 2017-05-04 15:29 GMT+09:00 Robert Jarzmik <robert.jarzmik@free.fr>:
>> Masahiro Yamada <yamada.masahiro@socionext.com> writes:
>>
>>> Hi Robert,
>>>
>>> 2017-04-26 5:07 GMT+09:00 Robert Jarzmik <robert.jarzmik@free.fr>:
>>>> Masahiro Yamada <yamada.masahiro@socionext.com> writes:
>>>>
>>>>> Hi Robert,
>>>>>> diff --git a/scripts/tags.sh b/scripts/tags.sh
>>>>>> index a2ff3388e5ea..35cb64d5211c 100755
>>>>>> --- a/scripts/tags.sh
>>>>>> +++ b/scripts/tags.sh
>>>>>> @@ -106,7 +106,8 @@ all_compiled_sources()
>>>>>>                 case "$i" in
>>>>>>                         *.[cS])
>>>>>>                                 j=${i/\.[cS]/\.o}
>>>>>> -                               if [ -e $j ]; then
>>>>>> +                               k="${j#$tree}"
>>>>>> +                               if [ -e $j -o -e "$k" ]; then
>>>>>
>>>>>
>>>>> Do we need to check both srctree and objtree?
>>>>> I think checking objtree (after $tree is ripped off) is enough.
>>>>
>>>> If I remember correctly, as this goes back a couple of monthes when I made the
>>>> tests of this patch, the srctree is checked for the case when the kernel is
>>>> compiled without O=, and objtree for the case with O=.
>>>
>>>
>>> I thought of this too, but if O= is given, objects in srctree
>>> should not be checked.
>>>
>>> For example, the kernel may be compiled for ARCH=arm with O= first,
>>> then for ARCH=x86 without O= second.
>>>
>>> If we include objects from both trees, the generated tag file
>>> will be a mixture of arm and x86.
>> That's true, but is this case worth an additional test for this case, ie. is it
>> a case anybody uses ? Given that that this tags generation never worked for out
>> of tree builds, I was thinking it wasn't worth a :
>>    [[ (-z $O -a -e $j) || (-n $O -a -e $k) ]];
>
>
> I am not saying we should do like that.
>
>
> My suggestion is even simpler.
>
> Can we do like this?
>
>
> diff --git a/scripts/tags.sh b/scripts/tags.sh
> index d661f2f..d23dcbf 100755
> --- a/scripts/tags.sh
> +++ b/scripts/tags.sh
> @@ -106,6 +106,7 @@ all_compiled_sources()
>                 case "$i" in
>                         *.[cS])
>                                 j=${i/\.[cS]/\.o}
> +                               j="${j#$tree}"
>                                 if [ -e $j ]; then
>                                         echo $i
>                                 fi
>
>


I tested the code above, and it worked fine.

Could you send v3?  Then, I will apply it soon.

Or, if you are not reluctant to do so,
may I modify your patch like above?
Masahiro Yamada June 5, 2017, 6:16 a.m. UTC | #2
2017-06-05 15:05 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:

> I tested the code above, and it worked fine.
>
> Could you send v3?  Then, I will apply it soon.
>
> Or, if you are not reluctant to do so,
> may I modify your patch like above?

I meant "if you are reluctant to do so..."
Robert Jarzmik June 5, 2017, noon UTC | #3
Masahiro Yamada <yamada.masahiro@socionext.com> writes:

> Hi Robert,
Hi Masahiro,

Sorry, I was out lately.
I sent a v3, thanks for keeping up pushing for this one.

Cheers.

--
Robert
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/tags.sh b/scripts/tags.sh
index d661f2f..d23dcbf 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -106,6 +106,7 @@  all_compiled_sources()
                case "$i" in
                        *.[cS])
                                j=${i/\.[cS]/\.o}
+                               j="${j#$tree}"
                                if [ -e $j ]; then
                                        echo $i
                                fi