Don't get me wrong - I have nothing against your approach. And the automake maintainers are certainly not purposely trying to make things more difficult for you. I merely suggest that you may run into more issues down the road simply because supporting your setup is not a current goal of the tool.
Indeed, I've found these guys to be quite amenable to adding new build paradigms to automake's repertoire. I'm glad you found a solution that works. On Sep 1, 2013 3:36 PM, "Sergey 'Jin' Bostandzhyan" <j...@mediatomb.cc> wrote: > John, > > On Sun, Sep 01, 2013 at 03:11:11PM -0600, John Calcote wrote: > > I'm curious as to why it's important to you that build products not land > in the > > source tree, especially in light of the fact that you're clearly aware of > > automake's support for out-of-tree builds. Out-of-tree builds exist to > solve > > the very problem you're trying so hard to fix. > > well, consider the following: your project has several source > subdirectories, > some of them with two levels. Even with out of tree builts you end up > having the produced libraries and executables in each of those > subdirectories > respectively, or in other words: all over the place. Sure, you can do a > make install to get all things together, but that's not always practical > during development. > > My setup dumps all the compiled stuff into one directoriy, which makes it > really easy to find, it's just more convenient. > > Honestly, if you have a choice, do you really prefer having the binaries > all > in different places in your tree? > > Also, I don't have to go out of the project dir when I want to "make" > which I would have to do if I configured out of tree. > > What's wrong with that approach? People who use my setup seem to like it, > as I said, it's convenience, no matter if used with in or out of tree > builds. > > > Be aware that you're kicking against the pricks (as the old saying goes). > > Sooner or later you'll run into other issues with new versions of > automake that > > may not have such simple resolutions. > > I wonder why the authors of automake would try to restrict different and > actually valid usage scenarios? I've been using this setup for over 5 years > in different projects, I'd be really disappointed if I had to switch to a > setup that is much more inconvenient for me. > > Please don't become another Gnome 3 by enforcing weird restrictions upon > your > users ;) Or is there really a hard technical limitation that would make > setups as above impossible? I can't believe that... so I hope I will have > the freedom of choice, also with newer versions of automake. > > Kind regards, > Jin > > > > On Sep 1, 2013 11:53 AM, "Sergey Jin' Bostandzhyan" <j...@mediatomb.cc> > wrote: > > > > Hi, > > > > OK, never mind, problem solved. It seems that $(top_srcdir) simply > did not > > expand anymore in _SOURCES. Keeping my structure with the > build/Makefile.am > > but replacing $(top_srcdir) with '..' did the trick, it works > > like a charm now, including in and out of tree builds. > > > > No more warnings, no more not found .Po files, and I get my binaries > and > > libraries nicely in the build directory without polluting the source > tree. > > > > Kind regards, > > Jin > > > > On Sun, Sep 01, 2013 at 06:45:32PM +0200, Sergey 'Jin' Bostandzhyan > wrote: > > > Hi, > > > > > > thanks for your reply, some more questions though: > > > > > > On Sun, Sep 01, 2013 at 03:08:37PM +0100, Diego Elio Petten wrote: > > > > Is it possible to keep the logic with the in-tree build > directory > > with > > > > automake 1.14? I did try to move all the logic from build/ > > Makefile.am into > > > > the top level Makefile.am and removing build/Makefile.am > > completely, but > > > > it does not help - .Plo files are not found. > > > > > > > > > > > > I'd say it's a very bad idea to use that build/Makefile.am. > > > > > > Could you please elaborate? I'd be interested in the technical > details on > > why > > > it is a bad idea? > > > > > > > Move the includes on the top-level Makefile.am, and get rid of $ > > (top_srcdir) on > > > > all the _SOURCES declaration and it should work fine. > > > > > > It does compile now, and it does dump all the .o and .lo and what > not > > > in the same directory as the sources - very ugly. This is exactly > what I > > was > > > avoiding with the separate build directory and it worked just > perfectly > > > until automake 1.14 came along. > > > > > > Is there any way to tell 1.14 to place the object files into some > > dedicated > > > directory without doing an actual "out of tree" build, or in other > words, > > > can I achieve the same setup that I had on 1.14 somehow? > > > > > > Kind regards, > > > Jin > > > > > > > >