Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upBuild system doesn't correctly rebuild submodules that depend on other submodules #210
Comments
|
If someone provides a list of what these dependencies should be, I can fix this. |
|
I think these are all correct express in For example, rust-azure depends on skia (as in, the rust-azure target depends on the skia target). This doesn't work in the following case:
Step 4 will not rebuild rust-azure because the Skia target is up to date. The correct solution is that the target should not depend on a target, but on the actual output product it needs. We haven't fixed this yet because the Makefiles are ostensibly Servo independent and this would hardcode the directory structure we use into the build files. I'm hoping we can clean this up with CMake by addressing the problem in a way that doesn't hardcode our own structure into the build. |
|
Okay, so this is like #472 which I already fixed. The real issue here is that the project uses handwritten Makefiles instead of something more robust, which means that the rules have to be written correctly in all cases to avoid issues like this. Switching to CMake is one option, but I'll gladly leave that task for someone else. In the meanwhile, I'm operating on the assumption that since all these build-related tasks were opened a long time ago, they should probably be fixed using the current build system rather than waiting for a new one. I'll look at the deps listed in the file you mentioned. |
shadow-dom: Fixed indent style and performance improvement
|
Fixed by Cargo. |
In some scenarios, submodules that depend on other submodules will not necessarily rebuild when their dependencies are rebuilt. This is necessary if their API changes at all.
Sometimes this manifests as an ICE when compiling servo top-level modules, and other times it's a runtime dyld error.