Merge "Make libkeystore_aidl shared and export to PDK."
diff --git a/keystore-engine/Android.mk b/keystore-engine/Android.mk
index 8988857..c995dfc 100644
--- a/keystore-engine/Android.mk
+++ b/keystore-engine/Android.mk
@@ -30,6 +30,7 @@
 	libcrypto \
 	libcutils \
 	libhidlbase \
+	libkeystore_aidl \
 	libkeystore_binder \
 	liblog \
 	libutils
diff --git a/keystore/Android.bp b/keystore/Android.bp
index 68a81e6..42fcf8e 100644
--- a/keystore/Android.bp
+++ b/keystore/Android.bp
@@ -50,7 +50,9 @@
         "libkeymaster_messages",
         "libkeymaster_portable",
         "libkeymaster_staging",
+        "libkeystore_aidl",
         "libkeystore_binder",
+        "libkeystore_parcelables",
         "liblog",
         "libselinux",
         "libsoftkeymasterdevice",
@@ -82,7 +84,9 @@
         "libcutils",
         "libhidlbase",
         "libhwbinder",
+        "libkeystore_aidl", // for IKeyStoreService.asInterface()
         "libkeystore_binder",
+        "libkeystore_parcelables",
         "liblog",
         "libutils",
     ],
@@ -109,12 +113,23 @@
     local_include_dirs: ["include"],
 }
 
-cc_library_headers {
-    name: "libkeystore_headers",
+cc_library_shared {
+    name: "libkeystore_parcelables",
+    defaults: ["keystore_defaults"],
     export_include_dirs: ["include"],
+    srcs: [
+        "KeyAttestationApplicationId.cpp",
+        "KeyAttestationPackageInfo.cpp",
+        "KeymasterArguments.cpp",
+        "KeystoreArguments.cpp",
+        "OperationResult.cpp",
+        "Signature.cpp",
+        "keystore_aidl_hidl_marshalling_utils.cpp",
+    ],
     shared_libs: [
         "android.hardware.keymaster@3.0",
         "libbinder",
+        "libhardware",
         "libhidlbase",
         "libhwbinder",
         "liblog",
@@ -134,27 +149,21 @@
     defaults: ["keystore_defaults"],
 
     srcs: [
-        "KeyAttestationApplicationId.cpp",
-        "KeyAttestationPackageInfo.cpp",
-        "KeymasterArguments.cpp",
-        "KeystoreArguments.cpp",
-        "OperationResult.cpp",
-        "Signature.cpp",
         "authorization_set.cpp",
         "keyblob_utils.cpp",
-        "keystore_aidl_hidl_marshalling_utils.cpp",
         "keystore_client.proto",
         "keystore_client_impl.cpp",
         "keystore_get.cpp",
         "keystore_tags_utils.cpp",
     ],
-    static_libs: ["libkeystore_aidl",],
     shared_libs: [
         "android.hardware.keymaster@3.0",
         "libbinder",
         "libhidlbase",
         "libhwbinder",
         "liblog",
+        "libkeystore_aidl",
+        "libkeystore_parcelables",
         "libprotobuf-cpp-lite",
         "libutils",
     ],
@@ -168,14 +177,13 @@
         include_dirs: ["frameworks/base/core/java/"],
     },
     export_include_dirs: ["include"],
-    export_static_lib_headers: [
-        "libkeystore_aidl",
-    ],
     export_shared_lib_headers: [
         "android.hardware.keymaster@3.0",
         "libbinder",
         "libhidlbase",
         "libhwbinder",
+        "libkeystore_aidl",
+        "libkeystore_parcelables",
     ],
 }
 
diff --git a/keystore/include/keystore/KeymasterArguments.h b/keystore/include/keystore/KeymasterArguments.h
index d14e270..0e7e64d 100644
--- a/keystore/include/keystore/KeymasterArguments.h
+++ b/keystore/include/keystore/KeymasterArguments.h
@@ -17,7 +17,6 @@
 
 #include "authorization_set.h"
 #include <binder/Parcelable.h>
-#include <hardware/keymaster_defs.h>
 
 namespace android {
 namespace security {
diff --git a/keystore/include/keystore/KeystoreArguments.h b/keystore/include/keystore/KeystoreArguments.h
index 44e1436..a54a6d2 100644
--- a/keystore/include/keystore/KeystoreArguments.h
+++ b/keystore/include/keystore/KeystoreArguments.h
@@ -17,7 +17,6 @@
 
 #include "KeystoreArg.h"
 #include <binder/Parcelable.h>
-#include <hardware/keymaster_defs.h>
 #include <utils/RefBase.h>
 
 namespace android {
diff --git a/keystore/include/keystore/OperationResult.h b/keystore/include/keystore/OperationResult.h
index e84d1e9..ada88fe 100644
--- a/keystore/include/keystore/OperationResult.h
+++ b/keystore/include/keystore/OperationResult.h
@@ -19,7 +19,6 @@
 #include "keystore_return_types.h"
 #include <binder/Parcelable.h>
 #include <binder/Parcel.h>
-#include <hardware/keymaster_defs.h>
 
 namespace android {
 namespace security {