Changes in Bug 218378 and Bug 217696 have lessened the reliance on VPATH to find files. This means that more places need to be explicit about the locations of their files. This change updates preprocess-idls.pl to include full- and partial-paths when generating dependency information.
This change addresses an issue where Document.idl would alway get rebuilt because a file it depended on couldn't be found because it's path was not specified in SupplementalDependencies.dep.
Created attachment 413011 [details] Patch
<rdar://problem/70984504>
You will need to run run-bindings-tests --reset-results to fix the bindings tests/bot.
Though, it looks like the tests are actually failing due to issues in the code: Use of uninitialized value $srcroot in regexp compilation at WebCore/bindings/scripts/preprocess-idls.pl line 308. Use of uninitialized value $sdkroot in regexp compilation at WebCore/bindings/scripts/preprocess-idls.pl line 309. Use of uninitialized value $built_products_dir in regexp compilation at WebCore/bindings/scripts/preprocess-idls.pl line 310.
I didn't see those errors/warning locally. And how can those variables be considered uninitialized? Aren't I initializing all of them just a few lines up? My Perl-fu is weak, but I didn't know it was *that* weak.
Ah. I guess it's because the $ENV accesses produce 'undefined' results, due to run-bindings-tests not running in the context of Xcode.
Created attachment 413073 [details] Patch
run-bindings-tests says that it compares the results it generates against reference files. So it seems to me that preserving the previous preprocess-idls.pl behavior when running run-bindings-tests is the best way to pass these tests. So, if things like SRCROOT aren't around, I fall back to calling `basename`, as before. Technically, that causes the tests to pass. I'm not sure if it's in the spirit of run-bindings-tests, though. I think it should be OK since the point is to test the generation of the binding code, and perhaps the dependency relationship between the IDL files, and not the actual expression of those IDL files (that is, it probably doesn't matter to run-bindings-tests if the files are expressed as bare names or partial or full paths).
Comment on attachment 413073 [details] Patch The bots now seem happy. r=me
Committed r269347: <https://trac.webkit.org/changeset/269347> All reviewed patches have been landed. Closing bug and clearing flags on attachment 413073 [details].