Snap for 7550930 from 80db734614f4593cd5cada5158c31cad5cfb5c43 to mainline-resolv-release

Change-Id: Ibea1eec4f91f4e92303a29484f7059edbe990ca7
diff --git a/Android.bp b/Android.bp
index d7717e4..23c3280 100644
--- a/Android.bp
+++ b/Android.bp
@@ -12,6 +12,58 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    default_applicable_licenses: ["external_eigen_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+//
+// large-scale-change included anything that looked like it might be a license
+// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
+//
+// Please consider removing redundant or irrelevant files from 'license_text:'.
+// See: http://go/android-license-faq
+license {
+    name: "external_eigen_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "SPDX-license-identifier-BSD",
+        "SPDX-license-identifier-BSL-1.0",
+        "SPDX-license-identifier-GPL",
+        "SPDX-license-identifier-GPL-2.0",
+        "SPDX-license-identifier-GPL-3.0",
+        "SPDX-license-identifier-LGPL",
+        "SPDX-license-identifier-LGPL-2.1",
+        "SPDX-license-identifier-LGPL-3.0",
+        "SPDX-license-identifier-MIT",
+        "SPDX-license-identifier-MPL",
+        "SPDX-license-identifier-MPL-2.0",
+        "legacy_unencumbered",
+    ],
+    license_text: [
+        "COPYING.BSD",
+        "COPYING.GPL",
+        "COPYING.LGPL",
+        "COPYING.MINPACK",
+        "COPYING.MPL2",
+        "COPYING.README",
+        "NOTICE",
+    ],
+}
+
 cc_library_headers {
     name: "libeigen",
 
diff --git a/Eigen/Core b/Eigen/Core
index 0f7fa63..ac7e394 100644
--- a/Eigen/Core
+++ b/Eigen/Core
@@ -260,6 +260,7 @@
 #include <cmath>
 #include <cassert>
 #include <functional>
+#include <sstream>
 #include <iosfwd>
 #include <cstring>
 #include <string>
diff --git a/Eigen/src/Core/arch/CUDA/Half.h b/Eigen/src/Core/arch/CUDA/Half.h
index 294c517..88dd385 100644
--- a/Eigen/src/Core/arch/CUDA/Half.h
+++ b/Eigen/src/Core/arch/CUDA/Half.h
@@ -42,6 +42,7 @@
 #define EIGEN_EXPLICIT_CAST(tgt_type) operator tgt_type()
 #endif
 
+#include <sstream>
 
 namespace Eigen {
 
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..6d8601b
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+  license_type: RESTRICTED
+}
diff --git a/blas/Android.bp b/blas/Android.bp
index 4d72be2..b8a3bf4 100644
--- a/blas/Android.bp
+++ b/blas/Android.bp
@@ -12,6 +12,15 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "external_eigen_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-MPL-2.0
+    default_applicable_licenses: ["external_eigen_license"],
+}
+
 cc_defaults {
     name: "eigen-defaults",
     srcs: [