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

2017-11-04 Thread Jeffrey Walton
On Sat, Nov 4, 2017 at 5:00 PM, Nick Bowler  wrote:
> On 11/4/17, Jeffrey Walton  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.

I'm pretty sure the folks who jump up and down asking for Autotools
don't know that much about it. I've reached out to the folks who were
pressuring us for it but they have not responded or surfaced with
suggestions or patches. I call them fan boi's :)

Jeff



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

2017-11-04 Thread Nick Bowler
On 11/4/17, Jeffrey Walton  wrote:
> On Sat, Nov 4, 2017 at 3:56 PM, Nick Bowler  wrote:
>>> EXTRA_libcryptopp_la_DEPENDENCIES listing the objects worked for Linux
>>> and OS X, but not Solaris. For Solaris I needed to drop the leading
>>> `EXTRA`, and use just `libcryptopp_la_DEPENDENCIES`.
>>
>> Is that just because you happen to be running an antique version of
>> Automake on the Solaris machine?
>
> Well, I'm not sure. Is this considered old:
>
> $ automake --version
> automake (GNU automake) 1.11.2

Well, it's coming up on its 6th birthday :)

> 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.

Cheers,
  Nick



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

2017-11-04 Thread Jeffrey Walton
On Sat, Nov 4, 2017 at 3:56 PM, Nick Bowler  wrote:
> Hello,
>
>> EXTRA_libcryptopp_la_DEPENDENCIES listing the objects worked for Linux
>> and OS X, but not Solaris. For Solaris I needed to drop the leading
>> `EXTRA`, and use just `libcryptopp_la_DEPENDENCIES`.
>
> Is that just because you happen to be running an antique version of
> Automake on the Solaris machine?

Well, I'm not sure. Is this considered old:

$ automake --version
automake (GNU automake) 1.11.2

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.

Jeff



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

2017-11-04 Thread Nick Bowler
Hello,

> EXTRA_libcryptopp_la_DEPENDENCIES listing the objects worked for Linux
> and OS X, but not Solaris. For Solaris I needed to drop the leading
> `EXTRA`, and use just `libcryptopp_la_DEPENDENCIES`.

Is that just because you happen to be running an antique version of
Automake on the Solaris machine?

Cheers,
  Nick



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

2017-11-04 Thread Jeffrey Walton
On Fri, Nov 3, 2017 at 3:07 PM, Jeffrey Walton  wrote:
> On Fri, Nov 3, 2017 at 1:51 PM, Nick Bowler  wrote:
>> On 11/3/17, Jeffrey Walton  wrote:
>>> On Thu, Nov 2, 2017 at 6:04 PM, Jeffrey Walton  wrote:
 ...
>>> The new issue is, the compile stops after about 4 files are compiled.
>>> Here's the pastebin of `make V=1`: https://pastebin.com/nCYN2RHh. The
>>> error is also shown below.
>>> ...
>>
>> For whatever reason it appears that the generated makefile has missing
>> prerequisites for libcryptopp.la.  I would expect everything listed in
>> LIBADD to end up as a prerequisite of the library.  This might require
>> some investigation to find out why that apparently did not happen in
>> your case.
>>
>> Adding everything to EXTRA_libcryptopp_la_DEPENDENCIES might help as
>> a workaround, e.g.,
>
> Perfect, thanks. That was it.

A quick follow up...

EXTRA_libcryptopp_la_DEPENDENCIES listing the objects worked for Linux
and OS X, but not Solaris. For Solaris I needed to drop the leading
`EXTRA`, and use just `libcryptopp_la_DEPENDENCIES`.

Jeff