automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Per-Object Flags for Autotool C++ library?


From: Mathieu Lirzin
Subject: Re: Per-Object Flags for Autotool C++ library?
Date: Sun, 05 Nov 2017 23:32:43 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Hello Jeffrey,

Jeffrey Walton <address@hidden> writes:

> On Sat, Nov 4, 2017 at 5:00 PM, Nick Bowler <address@hidden> wrote:
>> On 11/4/17, Jeffrey Walton <address@hidden> wrote:
>>> ...
>>> One of our driving principles is "things just work". We don't want
>>> library users inconvenienced or installing extra software. They should
>>> be able to sit down at their computer, run configure, and everything
>>> should work as expected.
>>>
>>> If something does not work as expected then it becomes our problem.
>>> We are expected to find workarounds so library users are not
>>> inconvenienced.
>>
>> Library users shouldn't be running Automake at all, because when you
>> distribute a package all of the generated files are included (and do
>> not depend on Automake).
>>
>> e.g., if you create your package with the latest versions then it
>> should "just work" on Solaris.
>
> Thanks. If you come across the docs on how to do it, then please pass it on :)
>
> Here's the closest I have found:
> https://www.gnu.org/software/automake/manual/html_node/Basics-of-Distribution.html.
> But it lacks a list of actionable items, so I only have part of the
> picture. I don't have the experience to make the leap to what actually
> needs to be done. No one with the project has the experience, either.

This is the correct pointer.

The idea behind the Autotools is to not add extra dependency to the
build system for users building from source.  As a consequence
maintainers when doing a release generates a tarball with "make dist"
that already contains the configure, Makefile.in which are generated by
Autoconf and Automake.

What needs to be done is to check that everything that is needed by
the build system is included in the tarball generated by 'make dist'.
This can be done manually by trying to build from that tarball or
alternatively 'make distcheck' verifies that automatically among other
important things (out of tree builds, uninstall, ...).

The first actionable item it to check that the build from the tarball
works fine, and if not add the missing files to the EXTRA_DIST variable
(or alternatives) in the Makefile.am.

'make distcheck' error message can sometime be tricky to interpret, so
feel free to ask for help.

HTH.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37



reply via email to

[Prev in Thread] Current Thread [Next in Thread]