User: Password:
|
|
Subscribe / Log in / New account

KS2011: Afternoon topics

KS2011: Afternoon topics

Posted Oct 27, 2011 20:11 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: KS2011: Afternoon topics by pbonzini
Parent article: KS2011: Afternoon topics

Yes, you can configure out-of-tree, but you can't autoreconf -i -f out-of-tree. I want *zero* files in the source tree that are not meant to be committed. So yes, autotools does support out-of-tree builds, but it still leaves a dirty source tree behind.

Out-of-source *build* is probably bad wording. More precisely, .gitignore should be empty and git status (and the equivalent in the other VCS's) should also be empty starting with no generated files.


(Log in to post comments)

KS2011: Afternoon topics

Posted Oct 29, 2011 19:05 UTC (Sat) by fuhchee (guest, #40059) [Link]

"I want *zero* files in the source tree that are not meant to be committed."

The cure to that is to mean to commit autoconf/automake-generated files.

KS2011: Afternoon topics

Posted Oct 31, 2011 20:46 UTC (Mon) by mathstuf (subscriber, #69389) [Link]

> The cure to that is to mean to commit autoconf/automake-generated files.

Which, IMO, is worse than having them in the source tree after their generation. The autoconf/automake *generated* files belong in the build directory.

KS2011: Afternoon topics

Posted Oct 31, 2011 20:55 UTC (Mon) by fuhchee (guest, #40059) [Link]

"The autoconf/automake *generated* files belong in the build directory."

If you say so. :-)

KS2011: Afternoon topics

Posted Nov 1, 2011 14:30 UTC (Tue) by nix (subscriber, #2304) [Link]

Well, that's true if your source directory is a version-control checkout, because anything else is a recipe for conflict hell as different developers use slightly different versions of the generating tools (producing slightly different output).

It's certainly not true if your source directory is a release tarball (or other release medium). Autoconf et al should have been run for you by that point, and the result tested. That way end users don't need anything but a shell and ordinary build tools to run the build. (This is one area where cmake falls down: all the builders need a copy of it.)

KS2011: Afternoon topics

Posted Nov 1, 2011 14:41 UTC (Tue) by fuhchee (guest, #40059) [Link]

"anything else is a recipe for conflict hell"

In practice, if people are pragmatic, it's fine.
Developers can regenerate the files at will with any version that works.
In the case of version control branch merge problems, regenerate them again.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds