diff mbox

[libdrm] android: make libdrm*.so available to the vendor partition

Message ID 20170726100820.191886-1-jiyong@google.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jiyong Park July 26, 2017, 10:08 a.m. UTC
libdrm_<vendor>.so are moved to the vendor partition (/vendor/lib or
/system/vendor/lib if there is no dedicated vendor partition), since
they are vendor-specific extension that must not be in the system
partition which should be generic.

libdrm.so (which is generic) is built/installed twice: once to
/vendor/lib to satisfy the dependency for the libdrm_<vendor>.so libs
and once to /system/lib for platform clients such as the recovery
executable.

The platform variant of libdrm is named as libdrm_platform.so since
in Android.mk we can't have two different shared libs having
same soname. In the near future, this will be fixed by converting these
Android.mk files to Android.bp and mark the module libdrm as
'vendor_available: true'. (See
https://android-review.googlesource.com/c/368372/ for further detail on
the property)

Signed-off-by: Jiyong Park <jiyong@google.com>
---
 Android.mk                | 39 +++++++++++++++++++++++++++++++++++++++
 amdgpu/Android.mk         |  2 +-
 etnaviv/Android.mk        |  1 +
 freedreno/Android.mk      |  2 +-
 intel/Android.mk          |  1 +
 libkms/Android.mk         |  1 +
 nouveau/Android.mk        |  1 +
 radeon/Android.mk         |  1 +
 tests/modetest/Android.mk |  2 +-
 tests/proptest/Android.mk |  2 +-
 tests/util/Android.mk     |  2 +-
 11 files changed, 49 insertions(+), 5 deletions(-)

Comments

Chih-Wei Huang Dec. 11, 2017, 3:51 a.m. UTC | #1
It seems the patch is necessary in Android 8.1,
otherwise we got the errors:

bootable/recovery/minui/Android.mk: error: libminui (STATIC_LIBRARIES
android-x86_64) missing libdrm_platform (STATIC_LIBRARIES
android-x86_64)
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if
this is intentional, but that may defer real problems until later in
the build.
bootable/recovery/minui/Android.mk: error: libminui (STATIC_LIBRARIES
android-x86) missing libdrm_platform (STATIC_LIBRARIES android-x86)
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if
this is intentional, but that may defer real problems until later in
the build.
build/core/main.mk:728: error: exiting from previous errors.

Please rebase to the latest master and re-submit the patch.
In particular, please consider the master already has
a Rob Herring's patch which moved libdrm* to /vendor.



2017-07-26 18:08 GMT+08:00 Jiyong Park <jiyong@google.com>:
> libdrm_<vendor>.so are moved to the vendor partition (/vendor/lib or
> /system/vendor/lib if there is no dedicated vendor partition), since
> they are vendor-specific extension that must not be in the system
> partition which should be generic.
>
> libdrm.so (which is generic) is built/installed twice: once to
> /vendor/lib to satisfy the dependency for the libdrm_<vendor>.so libs
> and once to /system/lib for platform clients such as the recovery
> executable.
>
> The platform variant of libdrm is named as libdrm_platform.so since
> in Android.mk we can't have two different shared libs having
> same soname. In the near future, this will be fixed by converting these
> Android.mk files to Android.bp and mark the module libdrm as
> 'vendor_available: true'. (See
> https://android-review.googlesource.com/c/368372/ for further detail on
> the property)
>
> Signed-off-by: Jiyong Park <jiyong@google.com>
> ---
>  Android.mk                | 39 +++++++++++++++++++++++++++++++++++++++
>  amdgpu/Android.mk         |  2 +-
>  etnaviv/Android.mk        |  1 +
>  freedreno/Android.mk      |  2 +-
>  intel/Android.mk          |  1 +
>  libkms/Android.mk         |  1 +
>  nouveau/Android.mk        |  1 +
>  radeon/Android.mk         |  1 +
>  tests/modetest/Android.mk |  2 +-
>  tests/proptest/Android.mk |  2 +-
>  tests/util/Android.mk     |  2 +-
>  11 files changed, 49 insertions(+), 5 deletions(-)
>
> diff --git a/Android.mk b/Android.mk
> index 292be236..a5986b4e 100644
> --- a/Android.mk
> +++ b/Android.mk
> @@ -21,6 +21,10 @@
>  # IN THE SOFTWARE.
>  #
>
> +# Two identical libs are defined here.
> +# libdrm: for vendors. installed to /vendor/lib. libdrm_<vendor> uses this.
> +# libdrm_platform: for platform modules (such as libminui). installed to /system/lib
> +
>  LIBDRM_COMMON_MK := $(call my-dir)/Android.common.mk
>
>  LOCAL_PATH := $(call my-dir)
> @@ -33,7 +37,41 @@ include $(LOCAL_PATH)/Makefile.sources
>
>  #static library for the device (recovery)
>  include $(CLEAR_VARS)
> +
> +LOCAL_MODULE := libdrm_platform
> +
> +LOCAL_SRC_FILES := $(LIBDRM_FILES)
> +LOCAL_EXPORT_C_INCLUDE_DIRS := \
> +       $(LOCAL_PATH) \
> +       $(LOCAL_PATH)/include/drm
> +
> +LOCAL_C_INCLUDES := \
> +       $(LOCAL_PATH)/include/drm
> +
> +include $(LIBDRM_COMMON_MK)
> +include $(BUILD_STATIC_LIBRARY)
> +
> +# Dynamic library for the device
> +include $(CLEAR_VARS)
> +
> +LOCAL_MODULE := libdrm_platform
> +
> +LOCAL_SRC_FILES := $(LIBDRM_FILES)
> +LOCAL_EXPORT_C_INCLUDE_DIRS := \
> +       $(LOCAL_PATH) \
> +       $(LOCAL_PATH)/include/drm
> +
> +LOCAL_C_INCLUDES := \
> +       $(LOCAL_PATH)/include/drm
> +
> +include $(LIBDRM_COMMON_MK)
> +include $(BUILD_SHARED_LIBRARY)
> +
> +# Static library for the device (recovery)
> +include $(CLEAR_VARS)
> +
>  LOCAL_MODULE := libdrm
> +LOCAL_VENDOR_MODULE := true
>
>  LOCAL_SRC_FILES := $(LIBDRM_FILES)
>  LOCAL_EXPORT_C_INCLUDE_DIRS := \
> @@ -49,6 +87,7 @@ include $(BUILD_STATIC_LIBRARY)
>  # Shared library for the device
>  include $(CLEAR_VARS)
>  LOCAL_MODULE := libdrm
> +LOCAL_VENDOR_MODULE := true
>
>  LOCAL_SRC_FILES := $(LIBDRM_FILES)
>  LOCAL_EXPORT_C_INCLUDE_DIRS := \
> diff --git a/amdgpu/Android.mk b/amdgpu/Android.mk
> index bf0611ba..1df84b3e 100644
> --- a/amdgpu/Android.mk
> +++ b/amdgpu/Android.mk
> @@ -5,7 +5,7 @@ include $(CLEAR_VARS)
>  include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_amdgpu
> -
> +LOCAL_VENDOR_MODULE := true
>  LOCAL_SHARED_LIBRARIES := libdrm
>
>  LOCAL_SRC_FILES := $(LIBDRM_AMDGPU_FILES)
> diff --git a/etnaviv/Android.mk b/etnaviv/Android.mk
> index 390f9a98..1143eac5 100644
> --- a/etnaviv/Android.mk
> +++ b/etnaviv/Android.mk
> @@ -5,6 +5,7 @@ include $(CLEAR_VARS)
>  include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_etnaviv
> +LOCAL_VENDOR_MODULE := true
>
>  LOCAL_SHARED_LIBRARIES := libdrm
>
> diff --git a/freedreno/Android.mk b/freedreno/Android.mk
> index 2b582aed..c1289145 100644
> --- a/freedreno/Android.mk
> +++ b/freedreno/Android.mk
> @@ -5,7 +5,7 @@ include $(CLEAR_VARS)
>  include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_freedreno
> -
> +LOCAL_VENDOR_MODULE := true
>  LOCAL_SHARED_LIBRARIES := libdrm
>
>  LOCAL_SRC_FILES := $(LIBDRM_FREEDRENO_FILES)
> diff --git a/intel/Android.mk b/intel/Android.mk
> index 5407ff3e..902b8633 100644
> --- a/intel/Android.mk
> +++ b/intel/Android.mk
> @@ -28,6 +28,7 @@ include $(CLEAR_VARS)
>  include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_intel
> +LOCAL_VENDOR_MODULE := true
>
>  LOCAL_SRC_FILES := $(LIBDRM_INTEL_FILES)
>
> diff --git a/libkms/Android.mk b/libkms/Android.mk
> index 0be72054..d0a16149 100644
> --- a/libkms/Android.mk
> +++ b/libkms/Android.mk
> @@ -45,6 +45,7 @@ LOCAL_SRC_FILES += $(LIBKMS_RADEON_FILES)
>  endif
>
>  LOCAL_MODULE := libkms
> +LOCAL_VENDOR_MODULE := true
>  LOCAL_SHARED_LIBRARIES := libdrm
>
>  include $(LIBDRM_COMMON_MK)
> diff --git a/nouveau/Android.mk b/nouveau/Android.mk
> index b430af4f..27433d87 100644
> --- a/nouveau/Android.mk
> +++ b/nouveau/Android.mk
> @@ -5,6 +5,7 @@ include $(CLEAR_VARS)
>  include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_nouveau
> +LOCAL_VENDOR_MODULE := true
>
>  LOCAL_SHARED_LIBRARIES := libdrm
>
> diff --git a/radeon/Android.mk b/radeon/Android.mk
> index 71040dab..7bc9cee9 100644
> --- a/radeon/Android.mk
> +++ b/radeon/Android.mk
> @@ -5,6 +5,7 @@ include $(CLEAR_VARS)
>  include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_radeon
> +LOCAL_VENDOR_MODULE := true
>
>  LOCAL_SHARED_LIBRARIES := libdrm
>
> diff --git a/tests/modetest/Android.mk b/tests/modetest/Android.mk
> index c1a71fd9..a2a52dfe 100644
> --- a/tests/modetest/Android.mk
> +++ b/tests/modetest/Android.mk
> @@ -7,7 +7,7 @@ LOCAL_SRC_FILES := $(MODETEST_FILES)
>
>  LOCAL_MODULE := modetest
>
> -LOCAL_SHARED_LIBRARIES := libdrm
> +LOCAL_SHARED_LIBRARIES := libdrm_platform
>  LOCAL_STATIC_LIBRARIES := libdrm_util
>
>  include $(LIBDRM_COMMON_MK)
> diff --git a/tests/proptest/Android.mk b/tests/proptest/Android.mk
> index 91a590fc..26aea514 100644
> --- a/tests/proptest/Android.mk
> +++ b/tests/proptest/Android.mk
> @@ -7,7 +7,7 @@ LOCAL_SRC_FILES := $(PROPTEST_FILES)
>
>  LOCAL_MODULE := proptest
>
> -LOCAL_SHARED_LIBRARIES := libdrm
> +LOCAL_SHARED_LIBRARIES := libdrm_platform
>  LOCAL_STATIC_LIBRARIES := libdrm_util
>
>  include $(LIBDRM_COMMON_MK)
> diff --git a/tests/util/Android.mk b/tests/util/Android.mk
> index 12eccb42..6c5c924d 100644
> --- a/tests/util/Android.mk
> +++ b/tests/util/Android.mk
> @@ -28,7 +28,7 @@ include $(LOCAL_PATH)/Makefile.sources
>
>  LOCAL_MODULE := libdrm_util
>
> -LOCAL_SHARED_LIBRARIES := libdrm
> +LOCAL_SHARED_LIBRARIES := libdrm_platform
>
>  LOCAL_SRC_FILES := $(UTIL_FILES)
>
> --
> 2.14.0.rc0.284.gd933b75aa4-goog
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Emil Velikov Dec. 11, 2017, 7:28 p.m. UTC | #2
On 11 December 2017 at 03:51, Chih-Wei Huang <cwhuang@android-x86.org> wrote:

> Please rebase to the latest master and re-submit the patch.
> In particular, please consider the master already has
> a Rob Herring's patch which moved libdrm* to /vendor.
>
This please.

>
>
> 2017-07-26 18:08 GMT+08:00 Jiyong Park <jiyong@google.com>:
>> libdrm_<vendor>.so are moved to the vendor partition (/vendor/lib or
>> /system/vendor/lib if there is no dedicated vendor partition), since
>> they are vendor-specific extension that must not be in the system
>> partition which should be generic.
>>
>> libdrm.so (which is generic) is built/installed twice: once to
>> /vendor/lib to satisfy the dependency for the libdrm_<vendor>.so libs
>> and once to /system/lib for platform clients such as the recovery
>> executable.
>>
Strange I though we already have both issues addressed?
Admittedly the /vendor move was recent, although the static build of
libdrm (for recovery) has been around for ages.

Аre you saying that despite that it's around latest AOSP does not pick it up?
Can you share a bit more light on the topic?

Thanks
Emil
Jiyong Park Dec. 12, 2017, 9:12 a.m. UTC | #3
Hi all,

Sorry for the late reply. Yes, the old patch of mine is required in
libdrm/master if you are to build it with aosp/oreo-mr1-release as it now
expects libdrm_platform.so. I will rebase it and submit. (of course
considering Rob's patch)

> Strange I though we already have both issues addressed?
> Admittedly the /vendor move was recent, although the static build of
> libdrm (for recovery) has been around for ages.
>
> Аre you saying that despite that it's around latest AOSP does not pick it
up?
> Can you share a bit more light on the topic?

My patch was needed because in some of the products (aosp_arm64_ab,
aosp_walleye, aosp_taimen, etc.) in O-MR1 turned a build option called
'BOARD_VNDK_VERSION' on. When the option is on, the build system ensures
that any vendor module isn't using a system module and any system module
isn't using a vendor module. For example, after Rob's patch, libminui can't
use libdrm.so because libminui is not in the vendor partition, but
libdrm.so has moved to vendor partition. So, it is a system->vendor
violation. Before Rob's patch, libminui -> libdrm is okay, but
libdrm_<vendor>.so -> libdrm.so isn't okay as it is a vendor->system
violation. Of course, this does not trigger an error for the products which
don't set BOARD_VNDK_VERSION.

FYI. Starting from P, this will again be changed (in a good way).
[1]
https://android-review.googlesource.com/c/platform/external/libdrm/+/516796
[2]
https://android-review.googlesource.com/c/platform/bootable/recovery/+/516720

[1] is changing the build scripts to Android.bp and eliminates the need for
declaring two lib definitions for the same source code.

cc_library {
    name: "libdrm",
    vendor_availalbe: true,
    ...
}

The 'vendor_available: true' internally makes two variants of libdrm.so
(one in /system/lib and the other in /vendor/lib) and modules in system or
vendor are linked to the appropriate variant of libdrm.so depending on
their origin. As a result. the platform version of libdrm has been renamed
back to libdrm.so and that is reflected to [2].









On Tue, Dec 12, 2017 at 4:28 AM, Emil Velikov <emil.l.velikov@gmail.com>
wrote:

> On 11 December 2017 at 03:51, Chih-Wei Huang <cwhuang@android-x86.org>
> wrote:
>
> > Please rebase to the latest master and re-submit the patch.
> > In particular, please consider the master already has
> > a Rob Herring's patch which moved libdrm* to /vendor.
> >
> This please.
>
> >
> >
> > 2017-07-26 18:08 GMT+08:00 Jiyong Park <jiyong@google.com>:
> >> libdrm_<vendor>.so are moved to the vendor partition (/vendor/lib or
> >> /system/vendor/lib if there is no dedicated vendor partition), since
> >> they are vendor-specific extension that must not be in the system
> >> partition which should be generic.
> >>
> >> libdrm.so (which is generic) is built/installed twice: once to
> >> /vendor/lib to satisfy the dependency for the libdrm_<vendor>.so libs
> >> and once to /system/lib for platform clients such as the recovery
> >> executable.
> >>
> Strange I though we already have both issues addressed?
> Admittedly the /vendor move was recent, although the static build of
> libdrm (for recovery) has been around for ages.
>
> Аre you saying that despite that it's around latest AOSP does not pick it
> up?
> Can you share a bit more light on the topic?
>
> Thanks
> Emil
>
diff mbox

Patch

diff --git a/Android.mk b/Android.mk
index 292be236..a5986b4e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -21,6 +21,10 @@ 
 # IN THE SOFTWARE.
 #
 
+# Two identical libs are defined here.
+# libdrm: for vendors. installed to /vendor/lib. libdrm_<vendor> uses this.
+# libdrm_platform: for platform modules (such as libminui). installed to /system/lib
+
 LIBDRM_COMMON_MK := $(call my-dir)/Android.common.mk
 
 LOCAL_PATH := $(call my-dir)
@@ -33,7 +37,41 @@  include $(LOCAL_PATH)/Makefile.sources
 
 #static library for the device (recovery)
 include $(CLEAR_VARS)
+
+LOCAL_MODULE := libdrm_platform
+
+LOCAL_SRC_FILES := $(LIBDRM_FILES)
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+	$(LOCAL_PATH) \
+	$(LOCAL_PATH)/include/drm
+
+LOCAL_C_INCLUDES := \
+	$(LOCAL_PATH)/include/drm
+
+include $(LIBDRM_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+# Dynamic library for the device
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libdrm_platform
+
+LOCAL_SRC_FILES := $(LIBDRM_FILES)
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+	$(LOCAL_PATH) \
+	$(LOCAL_PATH)/include/drm
+
+LOCAL_C_INCLUDES := \
+	$(LOCAL_PATH)/include/drm
+
+include $(LIBDRM_COMMON_MK)
+include $(BUILD_SHARED_LIBRARY)
+
+# Static library for the device (recovery)
+include $(CLEAR_VARS)
+
 LOCAL_MODULE := libdrm
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SRC_FILES := $(LIBDRM_FILES)
 LOCAL_EXPORT_C_INCLUDE_DIRS := \
@@ -49,6 +87,7 @@  include $(BUILD_STATIC_LIBRARY)
 # Shared library for the device
 include $(CLEAR_VARS)
 LOCAL_MODULE := libdrm
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SRC_FILES := $(LIBDRM_FILES)
 LOCAL_EXPORT_C_INCLUDE_DIRS := \
diff --git a/amdgpu/Android.mk b/amdgpu/Android.mk
index bf0611ba..1df84b3e 100644
--- a/amdgpu/Android.mk
+++ b/amdgpu/Android.mk
@@ -5,7 +5,7 @@  include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_amdgpu
-
+LOCAL_VENDOR_MODULE := true
 LOCAL_SHARED_LIBRARIES := libdrm
 
 LOCAL_SRC_FILES := $(LIBDRM_AMDGPU_FILES)
diff --git a/etnaviv/Android.mk b/etnaviv/Android.mk
index 390f9a98..1143eac5 100644
--- a/etnaviv/Android.mk
+++ b/etnaviv/Android.mk
@@ -5,6 +5,7 @@  include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_etnaviv
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SHARED_LIBRARIES := libdrm
 
diff --git a/freedreno/Android.mk b/freedreno/Android.mk
index 2b582aed..c1289145 100644
--- a/freedreno/Android.mk
+++ b/freedreno/Android.mk
@@ -5,7 +5,7 @@  include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_freedreno
-
+LOCAL_VENDOR_MODULE := true
 LOCAL_SHARED_LIBRARIES := libdrm
 
 LOCAL_SRC_FILES := $(LIBDRM_FREEDRENO_FILES)
diff --git a/intel/Android.mk b/intel/Android.mk
index 5407ff3e..902b8633 100644
--- a/intel/Android.mk
+++ b/intel/Android.mk
@@ -28,6 +28,7 @@  include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_intel
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SRC_FILES := $(LIBDRM_INTEL_FILES)
 
diff --git a/libkms/Android.mk b/libkms/Android.mk
index 0be72054..d0a16149 100644
--- a/libkms/Android.mk
+++ b/libkms/Android.mk
@@ -45,6 +45,7 @@  LOCAL_SRC_FILES += $(LIBKMS_RADEON_FILES)
 endif
 
 LOCAL_MODULE := libkms
+LOCAL_VENDOR_MODULE := true
 LOCAL_SHARED_LIBRARIES := libdrm
 
 include $(LIBDRM_COMMON_MK)
diff --git a/nouveau/Android.mk b/nouveau/Android.mk
index b430af4f..27433d87 100644
--- a/nouveau/Android.mk
+++ b/nouveau/Android.mk
@@ -5,6 +5,7 @@  include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_nouveau
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SHARED_LIBRARIES := libdrm
 
diff --git a/radeon/Android.mk b/radeon/Android.mk
index 71040dab..7bc9cee9 100644
--- a/radeon/Android.mk
+++ b/radeon/Android.mk
@@ -5,6 +5,7 @@  include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_radeon
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SHARED_LIBRARIES := libdrm
 
diff --git a/tests/modetest/Android.mk b/tests/modetest/Android.mk
index c1a71fd9..a2a52dfe 100644
--- a/tests/modetest/Android.mk
+++ b/tests/modetest/Android.mk
@@ -7,7 +7,7 @@  LOCAL_SRC_FILES := $(MODETEST_FILES)
 
 LOCAL_MODULE := modetest
 
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_platform
 LOCAL_STATIC_LIBRARIES := libdrm_util
 
 include $(LIBDRM_COMMON_MK)
diff --git a/tests/proptest/Android.mk b/tests/proptest/Android.mk
index 91a590fc..26aea514 100644
--- a/tests/proptest/Android.mk
+++ b/tests/proptest/Android.mk
@@ -7,7 +7,7 @@  LOCAL_SRC_FILES := $(PROPTEST_FILES)
 
 LOCAL_MODULE := proptest
 
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_platform
 LOCAL_STATIC_LIBRARIES := libdrm_util
 
 include $(LIBDRM_COMMON_MK)
diff --git a/tests/util/Android.mk b/tests/util/Android.mk
index 12eccb42..6c5c924d 100644
--- a/tests/util/Android.mk
+++ b/tests/util/Android.mk
@@ -28,7 +28,7 @@  include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_util
 
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_platform
 
 LOCAL_SRC_FILES := $(UTIL_FILES)