This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Patch 2 of 2 for ILP32 aarch64


On Mon, 12 Jun 2017, Zack Weinberg wrote:

> On Mon, Jun 12, 2017 at 12:44 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> > On Jun 12 2017, Steve Ellcey <sellcey@cavium.com> wrote:
> >
> >> (cd sysdeps/unix/sysv/linux/aarch64; autoconf -I../../../../..)
> >> (cd sysdeps/aarch64; autoconf -I../..)
> 
> Wouldn't it be nice if there were no generated files checked into
> version control?

That would mean you can't build from a read-only checkout.  (Which you 
can't now, because of .mo file generation in the source directory, but 
that's bug 14121, which would be good to fix.  Building from read-only 
sources would help make sure nothing writes into the source directory, 
even temporarily, during a build, so that building multiple configurations 
in parallel with the same source directory is safe.)

That would mean "make dist" can no longer use "git archive" and needs 
instead e.g. to construct a clean source directory and generate required 
files there.

That would mean building from a checkout requires a range of tools, in 
precise versions, that are not currently required.

That would make libm testing from a checkout very slow 
(auto-libm-test-out-cacos and auto-libm-test-out-cacosh take about 80 
minutes each to generate on my system; at present, you only care about 
that if you're changing tests for those functions), as well as requiring 
development headers and libraries for an unreleased version of MPC (for an 
mpc_atan bug fix affecting glibc tests).

Now, for particular cases of generated files, without strong version 
requirements or slow generation or needing to be generated to run 
configure, we might consider case by case "require gperf to build glibc" 
or "require bison to build glibc" or (for Unicode data) "require python3 
to build glibc" or (for C-translit.h) "require perl to build glibc", for 
example - if you require it for releases, not just checkouts, you can 
generate the file in the build directory and not affect use of "git 
archive", and in such cases I'd probably think not checking in the 
generated files is an improvement.  I'm more doubtful about it for 
configure scripts or libm tests (or anything else with tight version 
requirements, unusual tools or slow generation).

(In the Unicode data case I think it copies part of the original file and 
edits other parts.  Let's assume it would be changed to have a checked-in 
template file without the automatically generated parts, from which a full 
file gets generated in the build directory which is then installed in 
/usr/share/i18n and used in generating binary locales.)

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]