automation: Problem with builddir != srcdir requirement
Hello, I am building a generic installation program for GNU coding standards-compliant packages. http://www.gnu.org/software/sourceinstall/ I am also helping all GNU projects with a non-compliant build system make the move to the GNU coding standards, with patches and support. I have a problem with current builddir != srcdir requirement in glibc and recent versions of gcc. Maybe you can give me an advice, or tweak your build system around this problem. This program is general enough to build most parts of a GNU/Linux system automatically from source without any overhead, or manual tweak. The problem is that, while an user can read a message like: configure: error: you must configure in a separate build directory A program does not expect this. The trivial solution, to modify the program to build all packages from a separate directory, breaks many other packages, which rely on srcdir == builddir . There is no mention in the GNU coding standards about such a requirement. The result is that many packages break if not built with srcdir == builddir. If it is really not possible to build in the source directory, could you detect this and automatically create a directory "build"? There could also be a configure option to specify an alternative directory name, if name clashes are possible. Thank you, CLaudio ___ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it
Re: automation: Problem with builddir != srcdir requirement
Hello Andrew, thanks for your answer. --- Andrew Pinski <[EMAIL PROTECTED]> ha scritto: > > On Mar 2, 2006, at 7:23 PM, Claudio Fontana wrote: > > The problem is that, while an user can read a > message > > like: > > > > configure: error: you must configure in a separate > > build directory > > This is a bug only in the 4.0.x series of GCC and > nowhere else. I'm happy to hear that. I've tried 4.1 and it works like a charm. I hope that the same happens with glibc. > -- Pinski Thanks, CLaudio ___ Yahoo! Messenger with Voice: chiama da PC a telefono a tariffe esclusive http://it.messenger.yahoo.com
Re: automation: Problem with builddir != srcdir requirement
Ciao Paolo, --- Paolo Bonzini <[EMAIL PROTECTED]> ha scritto: > > I'm happy to hear that. I've tried 4.1 and it > works > > like a charm. I hope that the same happens with > glibc. > > I doubt that. And glibc is much harder to set up > and is usually built > only by "people that know what they're doing"; which > means you have a ~0 > chance of getting the maintainers to do the change. That's sad news. Maybe they would would consider a well-written patch; I have to try. > (Note that GCC 4.1.x is just building with builddir > != srcdir under your feet). That's perfectly good for me. > Paolo Thanks, CLaudio ___ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it
Re: automation: Problem with builddir != srcdir requirement
Hello, --- Paolo Bonzini <[EMAIL PROTECTED]> wrote: > > That's sad news. Maybe they would would consider a > > well-written patch; I have to try. > If you want to remain sane, don't look at their > makefiles. :-) > >> (Note that GCC 4.1.x is just building with > builddir > >> != srcdir under your feet). > >> > > That's perfectly good for me. > > > That was to mean, that there are good reasons, when > the build system > becomes complex, to support only builddir != srcdir. Yes, I agree. There are also good reasons not to fail noisily in this case, and satisfy the requirement automatically as it's the case with gcc-4.1.x . > Programs that do > not support it are buggy and should be reported to > the author. This might be good in theory, but in practice it's not that simple. I am screening _all_ GNU projects, and I'm testing, contacting the maintainers, advicing, writing many, many patches and whole new build systems just to have all GNU projects support the existence of a working configure script, or a Makefile with the common targets. Maybe when all GNU projects are mostly ok with the GNU coding standards, then we can be picky and start to fix projects with builddir == srcdir assumption. Now it's not a realistic goal. > Paolo Thanks, CLaudio ___ Yahoo! Messenger with Voice: chiama da PC a telefono a tariffe esclusive http://it.messenger.yahoo.com
RE: automation: Problem with builddir != srcdir requirement
--- Dave Korn <[EMAIL PROTECTED]> wrote: > On 03 March 2006 11:38, Claudio Fontana wrote: > > > >> Programs that do > >> not support it are buggy and should be reported > to > >> the author. > > > > This might be good in theory, but in practice it's > not > > that simple. I am screening _all_ GNU projects, > and > > I'm testing, contacting the maintainers, advicing, > > writing many, many patches and whole new build > systems > > just to have all GNU projects support the > existence of > > a working configure script, or a Makefile with the > > common targets. > > > > Maybe when all GNU projects are mostly ok with the > GNU > > coding standards, then we can be picky and start > to > > fix projects with builddir == srcdir assumption. > > Now it's not a realistic goal. > > Surely, now, when you're going over the build > systems of all these projects > and tidying them up to standard, rather than later, > in an entire subsequent > second pass over all the same ground again, is > /exactly/ the right time to do > it. Yes, when I have the chance to provide a completely new build system, I try to offer a complete and good one. > Supporting builddir!=srcdir is only a tiny > amount extra on top of what > you're already doing, probably mostly handled simply > by modifying your > standard templates for configure scripts. Doing it > in a second pass would > require a /vast/ amount of redundant effort. Sometimes the maintainers are not too happy to have their build systems changed, so it happens that I have to keep changes to a minimum in order to get anything at all. > _Please_ think very seriously about doing it now, > as you go along. > When I can, I do it. In practice I'll need more than one pass, and even more than two (test the release when it comes out, point out remaining problems, or bugs that crept in for example in the dist: rule,..) > cheers, > DaveK > -- > Can't think of a witty .sigline today Bye, CLaudio ___ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it