On Sat, Jan 2, 2021 at 5:33 PM Jeff Law <law@redhat.com> wrote:


On 12/30/20 3:48 PM, Ian McInerney wrote:
>
>
> On Wed, Dec 30, 2020 at 7:54 PM Ben Cotton <bcotton@redhat.com
> <mailto:bcotton@redhat.com>> wrote:
>
>     https://fedoraproject.org/wiki/Changes/LTOBuildImprovements
>     <https://fedoraproject.org/wiki/Changes/LTOBuildImprovements>
>
>
>     == Summary ==
>     Currently all packages that are not opted out of LTO include
>     -ffat-lto-objects in their build flags.  This proposal would remove
>     -ffat-lto-objects from the default LTO flags and only use it for
>     packages that actually need it.
>
>     == Owner ==
>     * Name: [[User:law | Jeff Law]]
>     * Email: law@redhat.com <mailto:law@redhat.com>
>
>
>     == Detailed Description ==
>     -ffat-lto-objects was added to the default LTO flags to ensure that
>     any installed .o/.a files included actual compiled code rather than
>     just LTO bytecodes (which are stripped after the install phase).
>     However, that is wasteful from a compile-time standpoint as few
>     packages actually install any .o/.a files.
>
>     This proposal would remove -ffat-lto-objects from the default LTO
>     flags and packages that actually need the option would have to opt-in
>     via an RPM macro in their .spec file.  This should significantly
>     improve build times for most packages in Fedora.
>
>
> Does this mean that packages that are explicitly shipping a static
> library to the end user need to enable this macro to allow the
> installed static library to be usable by an end-user's compiler? If
> this is the case, then the packaging guidelines should be updated to
> reflect this.
Yes and the change request reflects that an update to the packaging
guidelines is necessary.


The proposal only says the macro will be documented, but doesn't go into any more detail. I think it would be beneficial if the proposal mentioned the macro would become required for static library packages and that policy needs to be added - since that is adding a new MUST section to the packaging guidelines.

-Ian