Hello,

I thank the community for their feedback regarding my submission of
$(trimpath ...) and $(relpath ...).  Many other benefits to the submission
have been identified which would improve GNU Make if incorporated.  However,
I see two outstanding issues which remain:

1) The submission needs to be refactored to incorporate the coding style and
macros of 3.82 (it is currently based on 3.81).  I will proceed with this
effort as soon as I hear word that the submission is approved.

2) Handling of symbolic links.  The current implementation only analyzes the
string representation of the path, and does not touch the file system.  This
has the advantage of performance, and the fact that expanding and resolving
symbolic links can lead to longer resultant paths, when the purpose of the
symbolic link was to skip over numerous long directory names.  I would
recommend the submission remain in its current form, and if symbolic link
expansion is needed, it be added to another new function, such as
$(resolve-symlinks...), as was previously suggested.  In this way, the
expansion of symbolic links can be controlled by the user, when the user
desires that functionality.

I appreciate the community's feedback, and I look forward to hearing
approval for submission if appropriate.

Thank you,

Ben Robinson



On Tue, May 31, 2011 at 9:37 AM, Howard Chu <h...@highlandsun.com> wrote:

> Edward Welbourne wrote:
>
>> Pretty weak. If a few more include paths were added to the project it
>>> would
>>> still break, regardless of your patch.
>>>
>>
>> When you have thousands of object files, shortening the name of each
>> by several bytes when invoking ar can make room for really quite a lot
>> more files before you run up against the command-line length limit.
>>
>> Never understimate the value of a modest shortening of file names -
>> when our ar command-line got to about 230 kibibytes, we had to re-work
>> the way we invoked ar !
>>
>
> Whatever you're doing, you're doing it wrong. ;)
>
> If you're tossing a bunch of object files into an ar library simply for
> grouping purposes, and all of the object files will eventually be used in
> the final executable, it's faster to use ld -r and combine groups of them
> all into a single object file. If you profiled your build I'm sure you would
> find that a large percentage of time is being wasted in ar itself.
>
> And if you're really running a build with thousands of object files, on a
> frequent basis, you're foolish not to profile it and figure out what else
> you're doing wrong. Giant monolithic command lines also prevent you from
> leveraging parallel make, so that's another reason not to do things that
> way...
>
>
> --
>  -- Howard Chu
>  CTO, Symas Corp.           http://www.symas.com
>  Director, Highland Sun     http://highlandsun.com/hyc/
>  Chief Architect, OpenLDAP  http://www.openldap.org/project/
>
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to