Merge changes I6e2dcaef,Ie653d82b,I3d8e80b6 into main

* changes:
  Allow crates with multiple target kinds.
  Allow externs without a hash.
  Ignore more rustc arguments.