[PATCH] libdrm: Convert to Android.mk to Android.bp

Robert Foss robert.foss at collabora.com
Tue Sep 24 21:51:20 UTC 2019


Thanks for submitting this.

Acked-by: Robert Foss <robert.foss at collabora.com>

On 24.09.19 23:29, John Stultz wrote:
> This patch removes the deprecated Android.mk files and replaces
> them with Android.bp files, used in Android N and newer
> releases.
> 
> 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.
> 
> While this does cost comptability with older pre Android N
> 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.
> 
> 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>
> Acked-by: Eric Anholt <eric at anholt.net>
> Acked-by: Eric Engestrom <eric at engestrom.ch>
> Signed-off-by: John Stultz <john.stultz at linaro.org>
> ---
>   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",
> +    ],
> +}
> 


More information about the dri-devel mailing list