precompiled_basctl is always rebuilt on Windows, even when no edits were made

Kaganski Mike mikekaganski at hotmail.com
Fri Nov 24 11:40:31 UTC 2017


Hi!

Since last few weeks, I see that precompiled_basctl started to get 
rebuilt every time I do an incremental build on my Win10+VS2015+cygwin64 
development box (and, naturally, the dependent module as well). This 
happens whenever I do make build-nocheck, even when there were no edits 
to anything in the tree. The net result is slower builds.

The problem persists after make clean; make.

Debugging with make --debug=b shows this:

[...skip...]
                    File 'baside.sdi' does not exist.
                   Must remake target 'baside.sdi'.
                   Successfully remade target file 'baside.sdi'.
                    File 'basslots.hrc' does not exist.
                   Must remake target 'basslots.hrc'.
                   Successfully remade target file 'basslots.hrc'.
                  Prerequisite 'baside.sdi' of target 
'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots' does not exist.
                  Prerequisite 'basslots.hrc' of target 
'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots' does not exist.
                 Must remake target 
'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots'.
[...skip...]
                  Prerequisite 
'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots' is newer 
than target 'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots.hxx'.
                 Must remake target 
'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots.hxx'.
[...skip...]
                Prerequisite 
'D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots' is newer 
than target 'D:/sources/lo-core1/workdir/Headers/Library/basctllo.dll'.
               Must remake target 
'D:/sources/lo-core1/workdir/Headers/Library/basctllo.dll'.
[...skip...]
                    Prerequisite 
'D:/sources/lo-core1/workdir/Headers/Library/basctllo.dll' is newer than 
target 
'D:/sources/lo-core1/workdir/PrecompiledHeader/debug/precompiled_basctl.hxx.gch'.
                   Must remake target 
'D:/sources/lo-core1/workdir/PrecompiledHeader/debug/precompiled_basctl.hxx.gch'.
[...skip to EOF]

The two files (baside.sdi and basslots.hrc) naturally exist in basctl/sdi.

Looking at workdir/Dep/SdiTarget/basctl/sdi/basslots.d, there are the 
two files that are listed without paths, unlike the rest:

D:/sources/lo-core1/workdir/SdiTarget/basctl/sdi/basslots : \
  D:/sources/lo-core1/basctl/sdi/basslots.sdi \
  D:\sources\lo-core1\include\editeng\editids.hrc \
  D:\sources\lo-core1\include\editeng\memberids.h \
  D:\sources\lo-core1\include\sfx2\sfxsids.hrc \
  D:\sources\lo-core1\include\svl\memberid.h \
  D:\sources\lo-core1\include\svl\solar.hrc \
  D:\sources\lo-core1\include\svx\svxids.hrc \
  D:\sources\lo-core1\include\svx\unomid.hxx \
  D:\sources\lo-core1\sfx2\sdi\sfx.sdi \
  D:\sources\lo-core1\sfx2\sdi\sfxitems.sdi \
  D:\sources\lo-core1\svx\sdi\svx.sdi \
  D:\sources\lo-core1\svx\sdi\svxitems.sdi \
  D:\sources\lo-core1\svx\sdi\xoitems.sdi \
  baside.sdi \
  basslots.hrc

D:/sources/lo-core1/basctl/sdi/basslots.sdi :

D:\sources\lo-core1\include\editeng\editids.hrc :

D:\sources\lo-core1\include\editeng\memberids.h :

D:\sources\lo-core1\include\sfx2\sfxsids.hrc :

D:\sources\lo-core1\include\svl\memberid.h :

D:\sources\lo-core1\include\svl\solar.hrc :

D:\sources\lo-core1\include\svx\svxids.hrc :

D:\sources\lo-core1\include\svx\unomid.hxx :

D:\sources\lo-core1\sfx2\sdi\sfx.sdi :

D:\sources\lo-core1\sfx2\sdi\sfxitems.sdi :

D:\sources\lo-core1\svx\sdi\svx.sdi :

D:\sources\lo-core1\svx\sdi\svxitems.sdi :

D:\sources\lo-core1\svx\sdi\xoitems.sdi :

baside.sdi :

basslots.hrc :

[EOF]

I couldn't find the reason for this file being generated like that. The 
workaround that works for me now is to edit the 
workdir/Dep/SdiTarget/basctl/sdi/basslots.d to include the paths for the 
files.

-- 
Best regards,
Mike Kaganski


More information about the LibreOffice mailing list