Its kind of amazing how complicated something like DESTDIR support can be. This sounds like a workable solution, Makefile.buildlayout is a bit whack anyway. I am find with you working directly in the SVN as long as you stick with it until it works. That's the reason for the nightly builds, to test active development. :)
.hc
On Aug 25, 2009, at 10:56 AM, dmotd wrote:
hcs,
this mail is covering the breakage that i described previously with the new externals makefile template (ext13).
okay, so without going as far as tinkering with the various makefiles, i think i understand what is going wrong with the buildsys and the broken install destination (DESTDIR+objectsdir).
it's a pretty simple case of using $DESTDIR outside of its natural habitat - the main culprit starting at 'packages/Makefile.buildlayout', and then a widespread misuse that is inflicted throughout the buidsystem.
IOhannes' arguments for the template used with ext13 are probably well founded and the template itself uses the correct inplementation of the $DESTDIR variable - which is to prepend it to the actual install or uninstall directive with any addition directory prefixes added via other variables - $(objectsdir) in this scenario.
i guess you've been concatenating the $DESTDIR as some form of shorthand into the $objectsdir var (and other assorted variables), which has worked up until now because the build system is pretty well self contained.
now that IOhannes has introduced scope for using the buildsys makefile template for localized building it has open up a new range of problmes associated with $DESTDIR misuse in the first place.
so, the solution is fairly simple but a bit messy: make all the destination variables described in Makefile.buildlayout conform to a format without the $DESTDIR prefix, and then find/replace all uses of these destination variables to conform to $(DESTDIR)$(buildsysdestvar) standard, (which by rule should only be used directly in an 'install' or 'uninstall' context.
i guess you can tell me if i'm way off target here, but i'll try shifting around these vars locally and attempt a build before i commit anything to svn. i've run a successful(ly broken) build in the last 24hours, so i should have a decent test subject to work with. once checked in i guess its up to the autobuild server to shed some light on the various OS - i'm (un)fortunately contained to linux for the most part.
hope this covers it and i'm not just being verbose without reason!
cheers,
dmotd
----------------------------------------------------------------------------
I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." --Bjarne Stroustrup