Bug 163882 - WriteFileIfChanged of preprocess-idls.pl causes infinite preprocessing
Summary: WriteFileIfChanged of preprocess-idls.pl causes infinite preprocessing
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-24 02:18 PDT by Fujii Hironori
Modified: 2016-10-27 21:22 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2016-10-24 02:18:51 PDT
Updating supplemental_dependency.tmp triggers regenerating all binding.
To solve this problem, WriteFileIfChanged of preprocess-idls.pl was introduced in Bug 117708.
But, this approach causes infinite preprocessing.

CMake build uses generate-bindings-all.pl which has solved the problem.
WriteFileIfChanged is useless for CMake build anymore, but causes unnecessary preprocessing.
Comment 1 Fujii Hironori 2016-10-27 21:22:19 PDT
Just stopping using WriteFileIfChanged of preprocess-idls.pl
causes another problem.  Modifying any IDL will trigger
recompiling DOMWindow.idl, DedicatedWorkerGlobalScope.idl and
WorkerGlobalScope.idl.  Because preprocess-idls.pl generates
DOMWindowConstructors.idl, WorkerGlobalScopeConstructors.idl and
DedicatedWorkerGlobalScopeConstructors.idl.  I think this is
better than the infinite preprocessing.

There is a solution to solve both problems.  Remember time-stamps
of all IDL in a text file. If the time-stamp is changed, invoke
preprocess-idls.pl.