[PD-dev] build system + template (ext13) = broken - fix?
dmotd at gmx.net
Tue Aug 25 16:56:08 CEST 2009
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
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
More information about the Pd-dev