Re: Changing .idl still causes excessive .{hpp,hdl} touching

2012-09-11 Thread Michael Stahl
On 07/09/12 11:42, Stephan Bergmann wrote:
 Even after 
 http://cgit.freedesktop.org/libreoffice/core/commit/?id=39c3a4d6644ae78783aa8877557e4c021cba7973
  
 idlc: clear include file set in Idlc::reset(): the problem described 
 at the start of the below #libreoffice IRC transcript still remains. 

can't reproduce the problem here, works just fine: all headers that
depend on the touched IDL file are touched.

 (Which is only logical, as merely touching an .idl causes cppumaker to 
 not actually write fresh target .{hpp,hdl} files as they remain 
 unchanged, so bogus excess dependencies among .idl files cannot explain 
 the phenomenon anyway.  It is still so that commenting out the touch 
 $@ recipe would solve the observed problem, but with side-effects 
 unclear to me.)

bogus excess dependencies explain the original problem very well as the
rule that does the touch of the header depends on the .urd which is the
thing that has the excess dependencies.

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: Changing .idl still causes excessive .{hpp,hdl} touching

2012-09-11 Thread Stephan Bergmann

On 09/11/2012 02:04 PM, Michael Stahl wrote:

On 07/09/12 11:42, Stephan Bergmann wrote:

Even after
http://cgit.freedesktop.org/libreoffice/core/commit/?id=39c3a4d6644ae78783aa8877557e4c021cba7973
idlc: clear include file set in Idlc::reset(): the problem described
at the start of the below #libreoffice IRC transcript still remains.


can't reproduce the problem here, works just fine: all headers that
depend on the touched IDL file are touched.


Indeed, rechecking now gives good results.  Whatever was my problem on 
Friday...


Sorry for the noise,
Stephan

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Changing .idl still causes excessive .{hpp,hdl} touching

2012-09-07 Thread Stephan Bergmann
Even after 
http://cgit.freedesktop.org/libreoffice/core/commit/?id=39c3a4d6644ae78783aa8877557e4c021cba7973 
idlc: clear include file set in Idlc::reset(): the problem described 
at the start of the below #libreoffice IRC transcript still remains. 
(Which is only logical, as merely touching an .idl causes cppumaker to 
not actually write fresh target .{hpp,hdl} files as they remain 
unchanged, so bogus excess dependencies among .idl files cannot explain 
the phenomenon anyway.  It is still so that commenting out the touch 
$@ recipe would solve the observed problem, but with side-effects 
unclear to me.)



Sep 05 13:26:22 sberg mst__, dtardon, I'm still troubled why touching one 
offapi/com/sun/star/X/Y.idl causes many 
workdir/*/UnoApiHeadersTarget/offapi/normal/com/sun/star/X/*.{hdl,hpp} to be generated with fresh 
timestamps; it is apparently not a problem of cppumaker not detecting that the contents of the 
generated .{hdl,hpp} did not change (in which case cppumaker does not touch the targets); rather, 
commenting out the touch $@ recipe for the $(call gb_U
Sep 05 13:26:22 sberg nOApiPartTarget_get_target,%.urd) rule near the top of 
solenv/gbuil/UnoApiTarget.mk would make that phenomenon go away -- but what that purpose 
that serves exactly is beyond my gbuild skills
Sep 05 13:27:14 sberg to witness: touch offapi/com/sun/star/mail/MailServiceType.idl  
make offapi  ls -lt workdir/*/UnoApiHeadersTarget/offapi/normal/com/sun/star/mail
Sep 05 13:30:22 mst__ sberg, iirc the problem is that the rule with the 
touch in it cannot tell whether the file has been modified by cppumaker or not
Sep 05 13:32:11 mst__ sberg, if you remove the recipe there then make will not 
propagate the out-of-date-ness across this target so that e.g. the hdl/hpp file is 
not delivered and cxx files that include it are not rebuilt (that will happen on the _next_ 
make invocation only when make actually checks the timestamp of the generated .hdl/.hpp files)
Sep 05 13:32:49 mst__ sberg, right now it's not optimal but i'd rely on 
ccache for this case :)
Sep 05 13:34:45 sberg mst__, but the question is what exactly causes the 
collateral touches for other unrelated offapi/com/sun/star/X/Z.idl, and whether 
something could be done about that  --and there's no ccache on Windows :(
Sep 05 14:35:39 mst__ sberg, i forgot that there is another wrinkle to it: 
only the headers from IDL files that include the file that you change will be 
touched: grep -l -r MailServiceType 
workdir/*/Dep/UnoApiPartTarget/offapi/com/sun/star/mail/
Sep 05 14:43:59 sberg mst__, ah; but which in turn begs the question why e.g. 
workdir/*/Dep/UnoApiPartTarget/offapi/com/sun/star/mail/SendMailMessageFailedException.d
 mentions MailServiceType when the .idl does not (neither directly nor indirectly)
Sep 05 14:45:15 mst__ sberg, that .d file is generated by idlc from the files 
that the preprocessor sees - it wouldn't surprise me if there's a bug in there that 
stuff is missing, but it shouldn't make up dependencies that aren't there?
Sep 05 14:45:48 sberg mst__, I guess that's somehow due to idlc being called 
to process types en-block?
Sep 05 14:47:11 mst__ sberg, oh wait... that is odd... the size of the .d 
files increases monotonically with the modify date... possibly something isn't 
cleared between files?
Sep 05 14:53:15 mst__ sberg, it seems Idlc implements the dreaded singleton 
anti-pattern, i didn't expect that :-/
Sep 05 14:53:40 sberg mst__, how come you didn't ;)
Sep 05 14:59:52 mst__ sberg, aha... clearing the includes in reset() takes 
the offapi.d from 41M to 4.5M ... why didn't you notice this earlier :)
Sep 05 15:00:56 sberg mst__, :)

[enter 39c3a4d6644ae78783aa8877557e4c021cba7973]

Sep 07 10:12:33 sberg noelg, do you also experience that when you change a single 
offapi .idl file, a following toplevel make recompiles almost everything?  looks 
like __mst's recent idlc fix is not yet enough
Sep 07 10:15:21 noelg sberg, indeed that is the case, I thought it was just 
because a lot of files were dependent on the IDL stuff
Sep 07 10:16:14 sberg noelg, no, looks like a bug; will look into it/poke 
__mst again
Sep 07 10:16:58 noelg sberg, that would be nice, even with my 6-core box, all 
that building takes a while :-)
Sep 07 10:17:57 sberg noelg, yep, same here


Stephan
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice