[Libreoffice-bugs] [Bug 40099] New: [EasyHack] make depclean for gbuild

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Aug 15 03:11:25 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=40099

           Summary: [EasyHack] make depclean for gbuild
           Product: LibreOffice
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Libreoffice
        AssignedTo: libreoffice-bugs at lists.freedesktop.org
        ReportedBy: bjoern.michaelsen at canonical.com


Incremental builds might break on removed header files as for example:
make[1]: *** No rule to make target 
`/home/cono/src/git/libo_core/oox/inc/oox/drawingml/diagram/diagramlayoutatoms.hxx',
needed by 
`/home/cono/src/git/libo_core/workdir/unxlngi6.pro/CxxObject/oox/source/drawingml/chart/chartdrawingfragment.o'.
 Stop.

The problem is that:
 1) a object was compiled
 2) a dependency file for the object was created naming the used headers
 c) the used header gets removed by an "git pull"
 d) the file should get recompiled, but this breaks make because it depends on
an nonexisting file

This EasyHack is about creating a "make depclean" goal, which would in the
simplest case delete all dependency files that are older then the cxx-file of
the object they where created for. This would work for all direct includes as
the cxx-file would need to be changed if it includes the file directly.

However, that would still fail for indirect includes (a header included via
another header). To fix that reliably, the "make depclean" target has to check
each file in the depfile to be existing and remove any dependency file (and the
corresponding object file) naming a nonexisting file.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Libreoffice-bugs mailing list