Please, please fix the subdir-objects out-of-tree bug

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Please, please fix the subdir-objects out-of-tree bug

R. Diez
Hi Automake devs:

I need to build some files outside of the build repository, and I cannot
use option 'subdir-objects' because of an Automake bug, so I constantly
get many warnings like this with newer Automake versions:

   warning: source file '$(BLAH_BLAH_DIR)/src/blah_blah.cpp' is in a
subdirectory,

The (apparent) problem with 'subdir-objects' is that ./configure creates
a directory literally named $(whater_variable_you_used), instead of
substituting the variable with its value.

None of the work-arounds is satisfactory. For instance, I am developing,
so I cannot disable dependency tracking.

Here is an example project of mine with this problem:

   https://github.com/rdiez/JtagDue

I am compiling vendor-specific external sources like ARM's CMSIS and
Atmel Software Framework into an .a library and then linking it to many
projects, and I have different sandboxes that build out-of-tree with
different configurations. Other work-arounds like copying the sources to
each project's directory tree would drastically slow down compilation times.

This Automake issue has been known for years. Could someone please,
please fix this bug?

It annoys me everday. The Internet is full of the warning message above.
I wonder how many people have wasted time on this. I wish I had the
necessary shell/Automake/M4 skills to do that myself.

You will find detailed information on this problem if you follow the
links here:

   "Autotools build fails due to subdir-objects option in AM_INIT_AUTOMAKE"
 
http://stackoverflow.com/questions/21609580/autotools-build-fails-due-to-subdir-objects-option-in-am-init-automake

If fixing it is not feasible, could you disable that warning? Or at
least provide a flag to disable that one warning? Or is there such a
flag already? I couldn't find a way to disable just one warning, and I
do not want to disable all warnings.

Regards,
   rdiez


Reply | Threaded
Open this post in threaded view
|

Re: Please, please fix the subdir-objects out-of-tree bug

Thomas Martitz-2
Am 01.12.2015 um 13:44 schrieb R. Diez:

> Hi Automake devs:
>
> I need to build some files outside of the build repository, and I
> cannot use option 'subdir-objects' because of an Automake bug, so I
> constantly get many warnings like this with newer Automake versions:
>
>   warning: source file '$(BLAH_BLAH_DIR)/src/blah_blah.cpp' is in a
> subdirectory,
>
> The (apparent) problem with 'subdir-objects' is that ./configure
> creates a directory literally named $(whater_variable_you_used),
> instead of substituting the variable with its value.
>
> None of the work-arounds is satisfactory. For instance, I am
> developing, so I cannot disable dependency tracking.
>
> Here is an example project of mine with this problem:
>
>   https://github.com/rdiez/JtagDue
>
> I am compiling vendor-specific external sources like ARM's CMSIS and
> Atmel Software Framework into an .a library and then linking it to
> many projects, and I have different sandboxes that build out-of-tree
> with different configurations. Other work-arounds like copying the
> sources to each project's directory tree would drastically slow down
> compilation times.
>
> This Automake issue has been known for years. Could someone please,
> please fix this bug?


IIRC the bug is fixed, but there has not been a new release since then.
And developer resources are so scarce that nobody is up to making a release.

Best regards

Reply | Threaded
Open this post in threaded view
|

Re: Please, please fix the subdir-objects out-of-tree bug

Alex Vong
On 01/12/2015, Thomas Martitz <[hidden email]> wrote:

> Am 01.12.2015 um 13:44 schrieb R. Diez:
>> Hi Automake devs:
>>
>> I need to build some files outside of the build repository, and I
>> cannot use option 'subdir-objects' because of an Automake bug, so I
>> constantly get many warnings like this with newer Automake versions:
>>
>>   warning: source file '$(BLAH_BLAH_DIR)/src/blah_blah.cpp' is in a
>> subdirectory,
>>
>> The (apparent) problem with 'subdir-objects' is that ./configure
>> creates a directory literally named $(whater_variable_you_used),
>> instead of substituting the variable with its value.
>>
>> None of the work-arounds is satisfactory. For instance, I am
>> developing, so I cannot disable dependency tracking.
>>
>> Here is an example project of mine with this problem:
>>
>>   https://github.com/rdiez/JtagDue
>>
>> I am compiling vendor-specific external sources like ARM's CMSIS and
>> Atmel Software Framework into an .a library and then linking it to
>> many projects, and I have different sandboxes that build out-of-tree
>> with different configurations. Other work-arounds like copying the
>> sources to each project's directory tree would drastically slow down
>> compilation times.
>>
>> This Automake issue has been known for years. Could someone please,
>> please fix this bug?
>
>
> IIRC the bug is fixed, but there has not been a new release since then.
> And developer resources are so scarce that nobody is up to making a
> release.
>
I think your memory is correct. The bug report is in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928> and the patch
series is in <https://lists.gnu.org/archive/html/automake-patches/2015-01/msg00006.html>.
Hope this can help the OP.

> Best regards
>
>

Cheers,
Alex