Nice-to-have fix for autogen.sh
Pete Batard
pete at akeo.ie
Wed Feb 1 11:10:38 EST 2012
On 2012.02.01 15:45, Segher Boessenkool wrote:
>>>> o autogen.sh is only used by maintainers - official distributions
>>>> would have a configure (and Makefile) ready to use, so no need for
>>>> autogen.
>>>
>>> That is not an argument for either way.
>>
>> Well, I think it quite restricts the scope of the people who are
>> expected to find that having an autogen that runs configure is an
>> annoyance.
>
> And exactly analogously for people who find _not_ running it an
> annoyance!
Again, it's not a matter of annoyances. It's a matter of logic and
trying to provide the libusbx option that will benefit the more people
the most.
If someone builds an hospital in front of your house, it may block the
sun and you may be annoyed by it, but the overall benefits are expected
to massively outweigh your inconvenience.
Therefore, let me reframe the logical reasons I see for keeping out
autogen as it is, in terms of what will benefit our users most.
Once we start having regular releases, people picking up the source from
git will want the latest bells and whistle, and will have at least some
expectations that things may not be as stable with libusbx/git as they
would be with libusbx/release.
Thus, because their probability of running into a pure libusbx issue is
much higher than with a release, I see it as logical to want logging on
by default there.
This is even more true as if logging is off, you don't even get minimal
error messages from libusbx, just error codes, and at least some users
don't seem to find them too descriptive. Not having logging would place
an unnecessary hurdle on people who might be getting started with
libusbx and would otherwise get some hints as to why their libusbx based
app may not work as they expect. The easier we make it to get started
with libusbx and figure out how to use it, the better.
Thus, having logging on by default for git users is IMO a logical must
have, and the only possibility we have to do that is through autogen.
Else we have to rely on users who are not familiar with our configure
options to run configure --help, figure out what we use, and enable it
themselves. If our goal is to help git users of libusbx, I don't think
that flies.
In the same vein, having samples built by default is probably also a
must have for anybody getting started with a new project, as they might
then be able to play with it immediately. On the other hand, this could
(and probably should) be turned on by default in configure.ac, as it
doesn't really impact release users, especially as we have very few
samples to build.
>> I strongly believe that the default for any developers who wants to
>> contribute to libusbx should be to have logging.
>
> Why only for developers though?
>
> Run-time configurable logging sure would help :-)
Not sure I understand your point there, since I went the extra mile to
provide just that for all the people who use either my binaries or code
from my branch, and as I stated, once we have the feature in in
official, the importance of having logging on by default in autogen is
greatly reduced.
>>> If you're building a lot, you probably should run some ./build
>>> anyway ;-)
>>
>> Why should I, when the default autogen.sh is just fine?
>
> Most people at least want a --prefix if they build a lot (since
> they typically have many versions installed).
Which they can provide to autogen.sh. This is not even a option they
need to check from configure --help (unlike logging) as it's expected to
be the same everywhere.
>>> Let's go with the principle of least surprise, so do what most
>>> projects do (or the most authoritative ones).
>>
>> Let's go with the principle of what will be most helpful for our users.
>
> That is the same thing, in general.
Well, considering that there are quite a few projects that seem to run
configure from autogen, I'm not sure we can assert that the expectation
is not to have it there, or that it will surprise users if it is. Plus,
I think it's better do what we logically think will benefit the most
people, than what will least surprise them.
This being said, if we can't come up with an option that everybody is
happy with with regards to autogen, we might as well include 2 scripts
and move on. It isn't exactly something that pertains to releases in the
first place...
Regards,
/Pete
More information about the libusbx
mailing list