Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
Maintained by go/gitwatcher - Please do not modify manually [ID: 530458]
Maintained by go/gitwatcher - Please do not modify manually [ID: 530406]
View issue level access limits(Press Alt + Right arrow for more information)
Request for new functionality
View staffing
Description
Presently, we've authored a large BUILD.gn file (third_party/llvm-10/BUILD.gn) that manually brings in a (somewhat) minimal set of source files to build for SwiftShader. This has been difficult to author correctly as there are so many GN builds for many targest and configurations. Furthermore, when upgrading LLVM to a newer version, we sometimes need to update this list to include new files, or remove/rename files.
LLVM now offers unofficial support for GN builds. See this:https://github.com/llvm/llvm-project/tree/master/llvm/utils/gn
What we can do is keep our root BUILD.gn file, but have it add dependencies on only the required libs out of
utils/gn/secondary/llvm/lib/
. To make this work, we'll need to modify ourthird_party/update-llvm-10.sh
to have it add/llvm/utils/gn
to the sparse-checkout of llvm so that it gets copied to ourthird_party/llvm-10/llvm
.