[RFC][PATCH] libdrm: Convert to Android.mk to Android.bp
John Stultz
john.stultz at linaro.org
Tue Sep 17 19:15:36 UTC 2019
This patch removes the deprecated Android.mk files and replaces
them with Android.bp files.
This is needed in order to build libdrm/master against recent
Android releases and AOSP/master, as some of the Treble build
options required since Android O cannot be expressed in
Andorid.mk files.
Patch originally by Dan Willemsen with fixes folded in by:
Jerry Zhang, Eliott Hughes and myself.
With this change, the only patches carried by Android for libdrm
would be the gerrit OWNERS meta-data file.
Cc: Mauro Rossi <issor.oruam at gmail.com>
Cc: Chih-Wei Huang <cwhuang at android-x86.org>
Cc: Robert Foss <robert.foss at collabora.com>
Cc: Tapani Pälli <tapani.palli at intel.com>
Cc: Chih-Wei Huang <cwhuang at android-x86.org>
Cc: Emil Velikov <emil.velikov at collabora.com>
Cc: Sean Paul <seanpaul at chromium.org>
Cc: Rob Clark <robdclark at chromium.org>
Cc: Eric Anholt <anholt at google.com>
Cc: Jiyong Park <jiyong at google.com>
Cc: Alistair Strachan <astrachan at google.com>
Cc: Dan Willemsen <dwillemsen at google.com>
Cc: Sumit Semwal <sumit.semwal at linaro.org>
Cc: Vishal Bhoj <vishal.bhoj at linaro.org>
Signed-off-by: John Stultz <john.stultz at linaro.org>
---
I know last time this was proposed, there was some concern about
maintaining support for old AOSP releases - and while we could
still support both with Android.mk that was a fair concern.
However, now that it is a requirement for newer releases, I'd
contend that being able to build/test libdrm/master against
AOSP/master and recent releases is more valuable then soley
maintaining support for old and unsupported Android releases.
So I wanted to submit this again for discussion.
thanks
-john
---
Android.bp | 66 +++++++++++++++++++++++++++
Android.common.mk | 19 --------
Android.mk | 74 -------------------------------
Android.sources.bp | 12 +++++
Android.sources.bp.mk | 25 +++++++++++
amdgpu/Android.bp | 16 +++++++
amdgpu/Android.mk | 19 --------
amdgpu/Android.sources.bp | 15 +++++++
data/Android.bp | 6 +++
data/Android.mk | 10 -----
etnaviv/Android.bp | 11 +++++
etnaviv/Android.mk | 14 ------
etnaviv/Android.sources.bp | 13 ++++++
freedreno/Android.bp | 11 +++++
freedreno/Android.mk | 14 ------
freedreno/Android.sources.bp | 16 +++++++
intel/Android.bp | 36 +++++++++++++++
intel/Android.mk | 38 ----------------
intel/Android.sources.bp | 13 ++++++
libkms/Android.bp | 15 +++++++
libkms/Android.mk | 51 ---------------------
libkms/Android.sources.bp | 38 ++++++++++++++++
nouveau/Android.bp | 11 +++++
nouveau/Android.mk | 14 ------
nouveau/Android.sources.bp | 11 +++++
omap/Android.bp | 12 +++++
omap/Android.mk | 13 ------
omap/Android.sources.bp | 8 ++++
radeon/Android.bp | 11 +++++
radeon/Android.mk | 14 ------
radeon/Android.sources.bp | 13 ++++++
tegra/Android.bp | 14 ++++++
tests/Android.bp | 6 +++
tests/Android.mk | 1 -
tests/modetest/Android.bp | 12 +++++
tests/modetest/Android.mk | 14 ------
tests/modetest/Android.sources.bp | 10 +++++
tests/proptest/Android.bp | 8 ++++
tests/proptest/Android.mk | 14 ------
tests/util/Android.bp | 35 +++++++++++++++
tests/util/Android.mk | 38 ----------------
tests/util/Android.sources.bp | 10 +++++
42 files changed, 454 insertions(+), 347 deletions(-)
create mode 100644 Android.bp
delete mode 100644 Android.common.mk
delete mode 100644 Android.mk
create mode 100644 Android.sources.bp
create mode 100644 Android.sources.bp.mk
create mode 100644 amdgpu/Android.bp
delete mode 100644 amdgpu/Android.mk
create mode 100644 amdgpu/Android.sources.bp
create mode 100644 data/Android.bp
delete mode 100644 data/Android.mk
create mode 100644 etnaviv/Android.bp
delete mode 100644 etnaviv/Android.mk
create mode 100644 etnaviv/Android.sources.bp
create mode 100644 freedreno/Android.bp
delete mode 100644 freedreno/Android.mk
create mode 100644 freedreno/Android.sources.bp
create mode 100644 intel/Android.bp
delete mode 100644 intel/Android.mk
create mode 100644 intel/Android.sources.bp
create mode 100644 libkms/Android.bp
delete mode 100644 libkms/Android.mk
create mode 100644 libkms/Android.sources.bp
create mode 100644 nouveau/Android.bp
delete mode 100644 nouveau/Android.mk
create mode 100644 nouveau/Android.sources.bp
create mode 100644 omap/Android.bp
delete mode 100644 omap/Android.mk
create mode 100644 omap/Android.sources.bp
create mode 100644 radeon/Android.bp
delete mode 100644 radeon/Android.mk
create mode 100644 radeon/Android.sources.bp
create mode 100644 tegra/Android.bp
create mode 100644 tests/Android.bp
delete mode 100644 tests/Android.mk
create mode 100644 tests/modetest/Android.bp
delete mode 100644 tests/modetest/Android.mk
create mode 100644 tests/modetest/Android.sources.bp
create mode 100644 tests/proptest/Android.bp
delete mode 100644 tests/proptest/Android.mk
create mode 100644 tests/util/Android.bp
delete mode 100644 tests/util/Android.mk
create mode 100644 tests/util/Android.sources.bp
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 00000000..6fe434c6
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,66 @@
+//
+// Copyright © 2011-2012 Intel Corporation
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice (including the next
+// paragraph) shall be included in all copies or substantial portions of the
+// Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//
+
+subdirs = ["*"]
+build = ["Android.sources.bp"]
+
+cc_defaults {
+ name: "libdrm_defaults",
+ cflags: [
+ // XXX: Consider moving these to config.h analogous to autoconf.
+ "-DMAJOR_IN_SYSMACROS=1",
+ "-DHAVE_VISIBILITY=1",
+ "-DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1",
+
+ "-Wall",
+ "-Werror",
+ "-Wno-deprecated-declarations",
+ "-Wno-format",
+ "-Wno-gnu-variable-sized-type-not-at-end",
+ "-Wno-pointer-arith",
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ "-Wno-missing-field-initializers",
+ ],
+ export_include_dirs: ["."],
+}
+
+// Library for the device
+cc_library {
+ name: "libdrm",
+ recovery_available: true,
+ vendor_available: true,
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_sources",
+ ],
+
+ export_include_dirs: ["include/drm", "android"],
+
+ cflags: [
+ "-Wno-enum-conversion",
+ "-Wno-pointer-arith",
+ "-Wno-sign-compare",
+ "-Wno-tautological-compare",
+ ],
+}
diff --git a/Android.common.mk b/Android.common.mk
deleted file mode 100644
index d0e5d559..00000000
--- a/Android.common.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# XXX: Consider moving these to config.h analogous to autoconf.
-LOCAL_CFLAGS += \
- -DMAJOR_IN_SYSMACROS=1 \
- -DHAVE_VISIBILITY=1 \
- -fvisibility=hidden \
- -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-
-LOCAL_CFLAGS += \
- -Wno-error \
- -Wno-unused-parameter \
- -Wno-missing-field-initializers \
- -Wno-pointer-arith \
- -Wno-enum-conversion
-
-# Quiet down the build system and remove any .h files from the sources
-LOCAL_SRC_FILES := $(patsubst %.h, , $(LOCAL_SRC_FILES))
-LOCAL_EXPORT_C_INCLUDE_DIRS += $(LOCAL_PATH)
-
-LOCAL_PROPRIETARY_MODULE := true
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 0ab6f0f9..00000000
--- a/Android.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#
-# Copyright © 2011-2012 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-LIBDRM_ANDROID_MAJOR_VERSION := $(word 1, $(subst ., , $(PLATFORM_VERSION)))
-ifneq ($(filter 2 4, $(LIBDRM_ANDROID_MAJOR_VERSION)),)
-$(error "Android 4.4 and earlier not supported")
-endif
-
-LIBDRM_COMMON_MK := $(call my-dir)/Android.common.mk
-
-LOCAL_PATH := $(call my-dir)
-LIBDRM_TOP := $(LOCAL_PATH)
-
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_{,H,INCLUDE_H,INCLUDE_ANDROID_H,INCLUDE_VMWGFX_H}_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-#static library for the device (recovery)
-include $(CLEAR_VARS)
-LOCAL_MODULE := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_FILES)
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
- $(LOCAL_PATH) \
- $(LOCAL_PATH)/include/drm \
- $(LOCAL_PATH)/android
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/include/drm
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-# Shared library for the device
-include $(CLEAR_VARS)
-LOCAL_MODULE := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_FILES)
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
- $(LOCAL_PATH) \
- $(LOCAL_PATH)/include/drm \
- $(LOCAL_PATH)/android
-
-LOCAL_SHARED_LIBRARIES := \
- libcutils
-
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/include/drm
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/Android.sources.bp b/Android.sources.bp
new file mode 100644
index 00000000..73356dd8
--- /dev/null
+++ b/Android.sources.bp
@@ -0,0 +1,12 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_sources",
+ srcs: [
+ "xf86drm.c",
+ "xf86drmHash.c",
+ "xf86drmRandom.c",
+ "xf86drmSL.c",
+ "xf86drmMode.c",
+ ],
+}
diff --git a/Android.sources.bp.mk b/Android.sources.bp.mk
new file mode 100644
index 00000000..26b61c1e
--- /dev/null
+++ b/Android.sources.bp.mk
@@ -0,0 +1,25 @@
+# Usage: make -f path/to/Android.sources.bp.mk NAMES=<> >Android.sources.bp
+#
+# It will read the Makefile.sources in the current directory, and
+# write <NAME>_FILES to stdout as an Android.bp cc_defaults module.
+
+.PHONY: all
+all:
+ @# Do nothing
+
+include Makefile.sources
+
+empty :=
+indent := $(empty) $(empty)
+
+$(info // Autogenerated with Android.sources.bp.mk)
+$(foreach NAME,$(NAMES), \
+ $(eval lower_name := $(shell echo $(PREFIX)$(NAME) | tr 'A-Z' 'a-z')) \
+ $(info ) \
+ $(info cc_defaults {) \
+ $(info $(indent)name: "$(lower_name)_sources",) \
+ $(info $(indent)srcs: [) \
+ $(foreach f,$(filter %.c,$($(NAME)_FILES)), \
+ $(info $(indent)$(indent)"$(f)",)) \
+ $(info $(indent)],) \
+ $(info }))
diff --git a/amdgpu/Android.bp b/amdgpu/Android.bp
new file mode 100644
index 00000000..976f03e9
--- /dev/null
+++ b/amdgpu/Android.bp
@@ -0,0 +1,16 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_amdgpu",
+
+ cflags: [
+ "-DAMDGPU_ASIC_ID_TABLE=\"/vendor/etc/hwdata/amdgpu.ids\""
+ ],
+
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_amdgpu_sources",
+ ],
+ vendor: true,
+ shared_libs: ["libdrm"],
+}
diff --git a/amdgpu/Android.mk b/amdgpu/Android.mk
deleted file mode 100644
index 1f028d0b..00000000
--- a/amdgpu/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_AMDGPU_FILES, LIBDRM_AMDGPU_H_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_amdgpu
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_AMDGPU_FILES)
-
-LOCAL_CFLAGS := \
- -DAMDGPU_ASIC_ID_TABLE=\"/vendor/etc/hwdata/amdgpu.ids\"
-
-LOCAL_REQUIRED_MODULES := amdgpu.ids
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/amdgpu/Android.sources.bp b/amdgpu/Android.sources.bp
new file mode 100644
index 00000000..be85283d
--- /dev/null
+++ b/amdgpu/Android.sources.bp
@@ -0,0 +1,15 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_amdgpu_sources",
+ srcs: [
+ "amdgpu_asic_id.c",
+ "amdgpu_bo.c",
+ "amdgpu_cs.c",
+ "amdgpu_device.c",
+ "amdgpu_gpu_info.c",
+ "amdgpu_vamgr.c",
+ "amdgpu_vm.c",
+ "handle_table.c",
+ ],
+}
diff --git a/data/Android.bp b/data/Android.bp
new file mode 100644
index 00000000..47f64371
--- /dev/null
+++ b/data/Android.bp
@@ -0,0 +1,6 @@
+prebuilt_etc {
+ name: "amdgpu.ids",
+ proprietary: true,
+ sub_dir: "hwdata",
+ src: "amdgpu.ids",
+}
diff --git a/data/Android.mk b/data/Android.mk
deleted file mode 100644
index 62013f0c..00000000
--- a/data/Android.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := amdgpu.ids
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_CLASS := ETC
-LOCAL_PROPRIETARY_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := hwdata
-LOCAL_SRC_FILES := $(LOCAL_MODULE)
-include $(BUILD_PREBUILT)
diff --git a/etnaviv/Android.bp b/etnaviv/Android.bp
new file mode 100644
index 00000000..21deda99
--- /dev/null
+++ b/etnaviv/Android.bp
@@ -0,0 +1,11 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_etnaviv",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_etnaviv_sources",
+ ],
+ vendor: true,
+ shared_libs: ["libdrm"],
+}
diff --git a/etnaviv/Android.mk b/etnaviv/Android.mk
deleted file mode 100644
index 390f9a98..00000000
--- a/etnaviv/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_ETNAVIV_FILES, LIBDRM_ETNAVIV_H_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_etnaviv
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_ETNAVIV_FILES)
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/etnaviv/Android.sources.bp b/etnaviv/Android.sources.bp
new file mode 100644
index 00000000..aa828900
--- /dev/null
+++ b/etnaviv/Android.sources.bp
@@ -0,0 +1,13 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_etnaviv_sources",
+ srcs: [
+ "etnaviv_device.c",
+ "etnaviv_gpu.c",
+ "etnaviv_bo.c",
+ "etnaviv_bo_cache.c",
+ "etnaviv_pipe.c",
+ "etnaviv_cmd_stream.c",
+ ],
+}
diff --git a/freedreno/Android.bp b/freedreno/Android.bp
new file mode 100644
index 00000000..9fca9b12
--- /dev/null
+++ b/freedreno/Android.bp
@@ -0,0 +1,11 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_freedreno",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_freedreno_sources",
+ ],
+ vendor: true,
+ shared_libs: ["libdrm"],
+}
diff --git a/freedreno/Android.mk b/freedreno/Android.mk
deleted file mode 100644
index 2b582aed..00000000
--- a/freedreno/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_FREEDRENO_FILES, LIBDRM_FREEDRENO_H_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_freedreno
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_FREEDRENO_FILES)
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/freedreno/Android.sources.bp b/freedreno/Android.sources.bp
new file mode 100644
index 00000000..3c1ca316
--- /dev/null
+++ b/freedreno/Android.sources.bp
@@ -0,0 +1,16 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_freedreno_sources",
+ srcs: [
+ "freedreno_device.c",
+ "freedreno_pipe.c",
+ "freedreno_ringbuffer.c",
+ "freedreno_bo.c",
+ "freedreno_bo_cache.c",
+ "msm/msm_bo.c",
+ "msm/msm_device.c",
+ "msm/msm_pipe.c",
+ "msm/msm_ringbuffer.c",
+ ],
+}
diff --git a/intel/Android.bp b/intel/Android.bp
new file mode 100644
index 00000000..22713acc
--- /dev/null
+++ b/intel/Android.bp
@@ -0,0 +1,36 @@
+//
+// Copyright © 2011 Intel Corporation
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice (including the next
+// paragraph) shall be included in all copies or substantial portions of the
+// Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//
+
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_intel",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_intel_sources",
+ ],
+ vendor: true,
+
+ // Removed dependency to libpciaccess: not used on Android
+ shared_libs: ["libdrm"],
+}
diff --git a/intel/Android.mk b/intel/Android.mk
deleted file mode 100644
index f45312dd..00000000
--- a/intel/Android.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright © 2011 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_INTEL_FILES, LIBDRM_INTEL_H_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_intel
-
-LOCAL_SRC_FILES := $(LIBDRM_INTEL_FILES)
-
-LOCAL_SHARED_LIBRARIES := \
- libdrm
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/intel/Android.sources.bp b/intel/Android.sources.bp
new file mode 100644
index 00000000..46e0328f
--- /dev/null
+++ b/intel/Android.sources.bp
@@ -0,0 +1,13 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_intel_sources",
+ srcs: [
+ "intel_bufmgr.c",
+ "intel_bufmgr_fake.c",
+ "intel_bufmgr_gem.c",
+ "intel_decode.c",
+ "intel_chipset.c",
+ "mm.c",
+ ],
+}
diff --git a/libkms/Android.bp b/libkms/Android.bp
new file mode 100644
index 00000000..b09dbf42
--- /dev/null
+++ b/libkms/Android.bp
@@ -0,0 +1,15 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libkms",
+ defaults: [
+ "libdrm_defaults",
+ "libkms_sources",
+ "libkms_vmwgfx_sources",
+ "libkms_intel_sources",
+ "libkms_nouveau_sources",
+ "libkms_radeon_sources",
+ ],
+ vendor: true,
+ shared_libs: ["libdrm"],
+}
diff --git a/libkms/Android.mk b/libkms/Android.mk
deleted file mode 100644
index a8b9489f..00000000
--- a/libkms/Android.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-DRM_GPU_DRIVERS := $(strip $(filter-out swrast, $(BOARD_GPU_DRIVERS)))
-
-intel_drivers := i915 i965 i915g iris
-radeon_drivers := r300g r600g radeonsi
-nouveau_drivers := nouveau
-virgl_drivers := virgl
-vmwgfx_drivers := vmwgfx
-
-valid_drivers := \
- $(intel_drivers) \
- $(radeon_drivers) \
- $(nouveau_drivers) \
- $(virgl_drivers) \
- $(vmwgfx_drivers)
-
-# warn about invalid drivers
-invalid_drivers := $(filter-out $(valid_drivers), $(DRM_GPU_DRIVERS))
-ifneq ($(invalid_drivers),)
-$(warning invalid GPU drivers: $(invalid_drivers))
-# tidy up
-DRM_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(DRM_GPU_DRIVERS))
-endif
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_SRC_FILES := $(LIBKMS_FILES)
-
-ifneq ($(filter $(vmwgfx_drivers), $(DRM_GPU_DRIVERS)),)
-LOCAL_SRC_FILES += $(LIBKMS_VMWGFX_FILES)
-endif
-
-ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),)
-LOCAL_SRC_FILES += $(LIBKMS_INTEL_FILES)
-endif
-
-ifneq ($(filter $(nouveau_drivers), $(DRM_GPU_DRIVERS)),)
-LOCAL_SRC_FILES += $(LIBKMS_NOUVEAU_FILES)
-endif
-
-ifneq ($(filter $(radeon_drivers), $(DRM_GPU_DRIVERS)),)
-LOCAL_SRC_FILES += $(LIBKMS_RADEON_FILES)
-endif
-
-LOCAL_MODULE := libkms
-LOCAL_SHARED_LIBRARIES := libdrm
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/libkms/Android.sources.bp b/libkms/Android.sources.bp
new file mode 100644
index 00000000..5582f235
--- /dev/null
+++ b/libkms/Android.sources.bp
@@ -0,0 +1,38 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libkms_sources",
+ srcs: [
+ "linux.c",
+ "dumb.c",
+ "api.c",
+ ],
+}
+
+cc_defaults {
+ name: "libkms_vmwgfx_sources",
+ srcs: [
+ "vmwgfx.c",
+ ],
+}
+
+cc_defaults {
+ name: "libkms_intel_sources",
+ srcs: [
+ "intel.c",
+ ],
+}
+
+cc_defaults {
+ name: "libkms_nouveau_sources",
+ srcs: [
+ "nouveau.c",
+ ],
+}
+
+cc_defaults {
+ name: "libkms_radeon_sources",
+ srcs: [
+ "radeon.c",
+ ],
+}
diff --git a/nouveau/Android.bp b/nouveau/Android.bp
new file mode 100644
index 00000000..12c37e3d
--- /dev/null
+++ b/nouveau/Android.bp
@@ -0,0 +1,11 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_nouveau",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_nouveau_sources",
+ ],
+ vendor: true,
+ shared_libs: ["libdrm"],
+}
diff --git a/nouveau/Android.mk b/nouveau/Android.mk
deleted file mode 100644
index b430af4f..00000000
--- a/nouveau/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_NOUVEAU_FILES, LIBDRM_NOUVEAU_H_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_nouveau
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_NOUVEAU_FILES)
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/nouveau/Android.sources.bp b/nouveau/Android.sources.bp
new file mode 100644
index 00000000..5ecdb53c
--- /dev/null
+++ b/nouveau/Android.sources.bp
@@ -0,0 +1,11 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_nouveau_sources",
+ srcs: [
+ "nouveau.c",
+ "pushbuf.c",
+ "bufctx.c",
+ "abi16.c",
+ ],
+}
diff --git a/omap/Android.bp b/omap/Android.bp
new file mode 100644
index 00000000..05ca7d2d
--- /dev/null
+++ b/omap/Android.bp
@@ -0,0 +1,12 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_omap",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_omap_sources",
+ ],
+ vendor: true,
+
+ shared_libs: ["libdrm"],
+}
diff --git a/omap/Android.mk b/omap/Android.mk
deleted file mode 100644
index b25cca13..00000000
--- a/omap/Android.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libdrm_omap
-LOCAL_VENDOR_MODULE := true
-
-LOCAL_SRC_FILES := omap_drm.c
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-include $(LIBDRM_COMMON_MK)
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/omap/Android.sources.bp b/omap/Android.sources.bp
new file mode 100644
index 00000000..3c7da94a
--- /dev/null
+++ b/omap/Android.sources.bp
@@ -0,0 +1,8 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_omap_sources",
+ srcs: [
+ "omap_drm.c",
+ ],
+}
diff --git a/radeon/Android.bp b/radeon/Android.bp
new file mode 100644
index 00000000..9d0a09ec
--- /dev/null
+++ b/radeon/Android.bp
@@ -0,0 +1,11 @@
+build = ["Android.sources.bp"]
+
+cc_library_shared {
+ name: "libdrm_radeon",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_radeon_sources",
+ ],
+ vendor: true,
+ shared_libs: ["libdrm"],
+}
diff --git a/radeon/Android.mk b/radeon/Android.mk
deleted file mode 100644
index 71040dab..00000000
--- a/radeon/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Import variables LIBDRM_RADEON_FILES, LIBDRM_RADEON_H_FILES
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_radeon
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-LOCAL_SRC_FILES := $(LIBDRM_RADEON_FILES)
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
diff --git a/radeon/Android.sources.bp b/radeon/Android.sources.bp
new file mode 100644
index 00000000..820ac4d6
--- /dev/null
+++ b/radeon/Android.sources.bp
@@ -0,0 +1,13 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_radeon_sources",
+ srcs: [
+ "radeon_bo_gem.c",
+ "radeon_cs_gem.c",
+ "radeon_cs_space.c",
+ "radeon_bo.c",
+ "radeon_cs.c",
+ "radeon_surface.c",
+ ],
+}
diff --git a/tegra/Android.bp b/tegra/Android.bp
new file mode 100644
index 00000000..33eaf6c5
--- /dev/null
+++ b/tegra/Android.bp
@@ -0,0 +1,14 @@
+cc_library_shared {
+ name: "libdrm_tegra",
+ vendor: true,
+ shared_libs: ["libdrm"],
+
+ srcs: ["tegra.c"],
+
+ cflags: [
+ "-DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1",
+ "-Wall",
+ "-Werror",
+ "-Wno-unused-variable",
+ ],
+}
diff --git a/tests/Android.bp b/tests/Android.bp
new file mode 100644
index 00000000..cdc6c2cf
--- /dev/null
+++ b/tests/Android.bp
@@ -0,0 +1,6 @@
+subdirs = ["*"]
+
+cc_library_headers {
+ name: "libdrm_test_headers",
+ export_include_dirs: ["."],
+}
diff --git a/tests/Android.mk b/tests/Android.mk
deleted file mode 100644
index 5053e7d6..00000000
--- a/tests/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(call all-subdir-makefiles)
diff --git a/tests/modetest/Android.bp b/tests/modetest/Android.bp
new file mode 100644
index 00000000..ca811fee
--- /dev/null
+++ b/tests/modetest/Android.bp
@@ -0,0 +1,12 @@
+build = ["Android.sources.bp"]
+
+cc_test {
+ name: "modetest",
+ defaults: [
+ "libdrm_defaults",
+ "modetest_sources",
+ ],
+
+ shared_libs: ["libdrm"],
+ static_libs: ["libdrm_util"],
+}
diff --git a/tests/modetest/Android.mk b/tests/modetest/Android.mk
deleted file mode 100644
index c1a71fd9..00000000
--- a/tests/modetest/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_SRC_FILES := $(MODETEST_FILES)
-
-LOCAL_MODULE := modetest
-
-LOCAL_SHARED_LIBRARIES := libdrm
-LOCAL_STATIC_LIBRARIES := libdrm_util
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_EXECUTABLE)
diff --git a/tests/modetest/Android.sources.bp b/tests/modetest/Android.sources.bp
new file mode 100644
index 00000000..c6aca2ef
--- /dev/null
+++ b/tests/modetest/Android.sources.bp
@@ -0,0 +1,10 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "modetest_sources",
+ srcs: [
+ "buffers.c",
+ "cursor.c",
+ "modetest.c",
+ ],
+}
diff --git a/tests/proptest/Android.bp b/tests/proptest/Android.bp
new file mode 100644
index 00000000..28c87e91
--- /dev/null
+++ b/tests/proptest/Android.bp
@@ -0,0 +1,8 @@
+cc_test {
+ name: "proptest",
+ defaults: ["libdrm_defaults"],
+ srcs: ["proptest.c"],
+
+ shared_libs: ["libdrm"],
+ static_libs: ["libdrm_util"],
+}
diff --git a/tests/proptest/Android.mk b/tests/proptest/Android.mk
deleted file mode 100644
index 91a590fc..00000000
--- a/tests/proptest/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_SRC_FILES := $(PROPTEST_FILES)
-
-LOCAL_MODULE := proptest
-
-LOCAL_SHARED_LIBRARIES := libdrm
-LOCAL_STATIC_LIBRARIES := libdrm_util
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_EXECUTABLE)
diff --git a/tests/util/Android.bp b/tests/util/Android.bp
new file mode 100644
index 00000000..36d18206
--- /dev/null
+++ b/tests/util/Android.bp
@@ -0,0 +1,35 @@
+//
+// Copyright © 2015 NVIDIA Corporation
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice (including the next
+// paragraph) shall be included in all copies or substantial portions of the
+// Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//
+
+build = ["Android.sources.bp"]
+
+cc_library_static {
+ name: "libdrm_util",
+ defaults: [
+ "libdrm_defaults",
+ "libdrm_util_sources",
+ ],
+ shared_libs: ["libdrm"],
+ header_libs: ["libdrm_test_headers"],
+ export_header_lib_headers: ["libdrm_test_headers"],
+}
diff --git a/tests/util/Android.mk b/tests/util/Android.mk
deleted file mode 100644
index 12eccb42..00000000
--- a/tests/util/Android.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright © 2015 NVIDIA Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/Makefile.sources
-
-LOCAL_MODULE := libdrm_util
-
-LOCAL_SHARED_LIBRARIES := libdrm
-
-LOCAL_SRC_FILES := $(UTIL_FILES)
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LIBDRM_TOP)/tests
-
-include $(LIBDRM_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/tests/util/Android.sources.bp b/tests/util/Android.sources.bp
new file mode 100644
index 00000000..529e1124
--- /dev/null
+++ b/tests/util/Android.sources.bp
@@ -0,0 +1,10 @@
+// Autogenerated with Android.sources.bp.mk
+
+cc_defaults {
+ name: "libdrm_util_sources",
+ srcs: [
+ "format.c",
+ "kms.c",
+ "pattern.c",
+ ],
+}
--
2.17.1
More information about the dri-devel
mailing list