From 288acbf2686091dcc84ae2ff3d5ce8f36ca10bce Mon Sep 17 00:00:00 2001 From: zhangyichix Date: Fri, 19 Apr 2024 17:03:51 +0800 Subject: [PATCH 1/2] Add Android.bp to replace mk files * Add Android.bp to replace mk files * Add va_version.h for external reference Tracked-On: OAM-117146 Signed-off-by: zhangyichix --- Android.bp | 122 ++++++++++++++++++++++++++++++++++++++++++++++++ Android.mk | 4 -- va/Android.mk | 102 ---------------------------------------- va/va_version.h | 88 ++++++++++++++++++++++++++++++++++ 4 files changed, 210 insertions(+), 106 deletions(-) create mode 100644 Android.bp delete mode 100644 Android.mk delete mode 100644 va/Android.mk create mode 100644 va/va_version.h diff --git a/Android.bp b/Android.bp new file mode 100644 index 000000000..7dc8f10c1 --- /dev/null +++ b/Android.bp @@ -0,0 +1,122 @@ +// Copyright (c) 2017-2023 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 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. + +cc_library_headers { + name: "libva_headers", + + export_include_dirs: [ + ".", + "va", + "va/drm" + ], + + vendor: true, +} + +cc_library_shared { + name: "libva", + + shared_libs: [ + "libdl", + "libdrm", + "libcutils", + "liblog", + ], + + local_include_dirs: [ + ".", + "va" + ], + + header_libs: [ + "libutils_headers", + ], + + export_include_dirs: [ + ".", + ], + + srcs: [ + "va/va.c", + "va/va_trace.c", + "va/va_str.c", + "va/drm/va_drm.c", + "va/drm/va_drm_auth.c", + "va/drm/va_drm_utils.c", + ], + + cflags: [ + "-Werror", + "-Wno-error", + "-DSYSCONFDIR=\"/vendor/etc\"", + "-DLOG_TAG=\"libva\"", + ], + + arch: { + x86: { + cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib\""], + }, + x86_64: { + cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib64\""], + }, + }, + + vendor: true, +} + +cc_library_shared { + name: "libva-android", + + static_libs: [ + "libarect", + ], + + shared_libs: [ + "libva", + "libdrm", + "liblog", + ], + + local_include_dirs: [ + "va", + "va/drm", + ], + + header_libs: [ + "libnativebase_headers", + "libutils_headers", + ], + + include_dirs: [ + ], + + srcs: [ + "va/android/va_android.cpp", + "va/drm/va_drm_utils.c", + ], + + cflags: [ + "-Wall", + "-Werror", + "-Wno-error", + ], + + vendor: true, +} diff --git a/Android.mk b/Android.mk deleted file mode 100644 index 5cbb9d8cc..000000000 --- a/Android.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Recursive call sub-folder Android.mk -# - - include $(call all-subdir-makefiles) diff --git a/va/Android.mk b/va/Android.mk deleted file mode 100644 index a8f05f149..000000000 --- a/va/Android.mk +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2007 Intel Corporation. All Rights Reserved. -# -# 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, sub license, 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 NON-INFRINGEMENT. -# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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. - -# For libva -# ===================================================== - -LOCAL_PATH:= $(call my-dir) - -LIBVA_DRIVERS_PATH_32 := /vendor/lib/dri -LIBVA_DRIVERS_PATH_64 := /vendor/lib64/dri - -include $(CLEAR_VARS) - -#LIBVA_MINOR_VERSION := 31 -#LIBVA_MAJOR_VERSION := 0 - -IGNORED_WARNNING = \ - -Wno-sign-compare \ - -Wno-missing-field-initializers \ - -Wno-unused-parameter \ - -LOCAL_SRC_FILES := \ - va.c \ - va_trace.c \ - va_str.c - -LOCAL_CFLAGS_32 += \ - -DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH_32)\"" \ - -LOCAL_CFLAGS_64 += \ - -DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH_64)\"" \ - -LOCAL_CFLAGS := \ - $(IGNORED_WARNNING) \ - -DLOG_TAG=\"libva\" - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. - -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE := libva -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_PROPRIETARY_MODULE := true - -LOCAL_SHARED_LIBRARIES := libdl libdrm libcutils liblog - -intermediates := $(call local-generated-sources-dir) - -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(intermediates) \ - $(LOCAL_C_INCLUDES) - -GEN := $(intermediates)/va/va_version.h -$(GEN): SCRIPT := $(LOCAL_PATH)/../build/gen_version.sh -$(GEN): PRIVATE_CUSTOM_TOOL = sh $(SCRIPT) $( $@ -$(GEN): $(intermediates)/va/%.h : $(LOCAL_PATH)/%.h.in $(LOCAL_PATH)/../configure.ac - $(transform-generated-source) -LOCAL_GENERATED_SOURCES += $(GEN) - -include $(BUILD_SHARED_LIBRARY) - -# For libva-android -# ===================================================== - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - android/va_android.cpp \ - drm/va_drm_utils.c - -LOCAL_CFLAGS += \ - -DLOG_TAG=\"libva-android\" \ - $(IGNORED_WARNNING) - -LOCAL_C_INCLUDES += \ - $(LOCAL_PATH)/drm - -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE := libva-android -LOCAL_PROPRIETARY_MODULE := true - -LOCAL_SHARED_LIBRARIES := libva libdrm liblog - -include $(BUILD_SHARED_LIBRARY) diff --git a/va/va_version.h b/va/va_version.h new file mode 100644 index 000000000..47983dae9 --- /dev/null +++ b/va/va_version.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved. + * + * 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, sub license, 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 NON-INFRINGEMENT. + * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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. + */ + +#ifndef VA_VERSION_H +#define VA_VERSION_H + +/** + * VA_MAJOR_VERSION: + * + * The major version of VA-API (1, if %VA_VERSION is 1.2.3) + */ +#define VA_MAJOR_VERSION 2 + +/** + * VA_MINOR_VERSION: + * + * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) + */ +#define VA_MINOR_VERSION 21 + +/** + * VA_MICRO_VERSION: + * + * The micro version of VA-API (3, if %VA_VERSION is 1.2.3) + */ +#define VA_MICRO_VERSION 0 + +/** + * VA_VERSION: + * + * The full version of VA-API, like 1.2.3 + */ +#define VA_VERSION 2.21.0 + +/** + * VA_VERSION_S: + * + * The full version of VA-API, in string form (suited for string + * concatenation) + */ +#define VA_VERSION_S "2.21.0" + +/** + * VA_VERSION_HEX: + * + * Numerically encoded version of VA-API, like 0x010203 + */ +#define VA_VERSION_HEX ((VA_MAJOR_VERSION << 24) | \ + (VA_MINOR_VERSION << 16) | \ + (VA_MICRO_VERSION << 8)) + +/** + * VA_CHECK_VERSION: + * @major: major version, like 1 in 1.2.3 + * @minor: minor version, like 2 in 1.2.3 + * @micro: micro version, like 3 in 1.2.3 + * + * Evaluates to %TRUE if the version of VA-API is greater than + * @major, @minor and @micro + */ +#define VA_CHECK_VERSION(major,minor,micro) \ + (VA_MAJOR_VERSION > (major) || \ + (VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION > (minor)) || \ + (VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION == (minor) && VA_MICRO_VERSION >= (micro))) + +#endif /* VA_VERSION_H */ + From fce7b82e17ccd9d084ed56ae287b14639e629368 Mon Sep 17 00:00:00 2001 From: Jeevaka Prabu Badrappan Date: Wed, 25 Sep 2024 08:25:55 +0000 Subject: [PATCH 2/2] Update Android.bp to generate va_version.h and build only for x86_64 Changes include: - Updated Android.bp to add license package and enable it only for x86_64 - Added genrule to generate the va_version.h. - Removed va_version.h Signed-off-by: JeevakaPrabu Signed-off-by: Andreas Huber --- Android.bp | 86 ++++++++++++++++++++++++++++++++++------------- va/va_version.h | 88 ------------------------------------------------- 2 files changed, 63 insertions(+), 111 deletions(-) delete mode 100644 va/va_version.h diff --git a/Android.bp b/Android.bp index 7dc8f10c1..68d43dc0c 100644 --- a/Android.bp +++ b/Android.bp @@ -18,6 +18,38 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +package { + default_applicable_licenses: ["external_intel_libva_license"], +} + +license { + name: "external_intel_libva_license", + visibility: [":__subpackages__"], + license_text: [ + "COPYING", + ], +} + +sh_binary_host { + name: "libva_gen_version_script", + src: "build/gen_version.sh", +} + +genrule { + name: "libva_gen_version", + srcs: [ + "configure.ac", + "va/va_version.h.in", + ], + tools: [ + "libva_gen_version_script", + ], + out: ["va/va_version.h"], + cmd: "$(location libva_gen_version_script) " + + "$$(dirname $(location configure.ac)) " + + "$(location va/va_version.h.in) > $(out)", +} + cc_library_headers { name: "libva_headers", @@ -27,7 +59,20 @@ cc_library_headers { "va/drm" ], + generated_headers: [ + "libva_gen_version", + ], + export_generated_headers: [ + "libva_gen_version", + ], + vendor: true, + enabled: false, + arch: { + x86_64: { + enabled: true, + }, + }, } cc_library_shared { @@ -41,16 +86,18 @@ cc_library_shared { ], local_include_dirs: [ - ".", "va" ], - header_libs: [ - "libutils_headers", + generated_headers: [ + "libva_gen_version", + ], + export_generated_headers: [ + "libva_gen_version", ], - export_include_dirs: [ - ".", + header_libs: [ + "liblog_headers", ], srcs: [ @@ -64,30 +111,25 @@ cc_library_shared { cflags: [ "-Werror", - "-Wno-error", + "-Winvalid-pch", "-DSYSCONFDIR=\"/vendor/etc\"", "-DLOG_TAG=\"libva\"", ], arch: { - x86: { - cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib\""], - }, x86_64: { cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib64\""], + enabled: true, }, }, vendor: true, + enabled: false, } cc_library_shared { name: "libva-android", - static_libs: [ - "libarect", - ], - shared_libs: [ "libva", "libdrm", @@ -99,24 +141,22 @@ cc_library_shared { "va/drm", ], - header_libs: [ - "libnativebase_headers", - "libutils_headers", - ], - - include_dirs: [ - ], - srcs: [ "va/android/va_android.cpp", "va/drm/va_drm_utils.c", ], cflags: [ - "-Wall", "-Werror", - "-Wno-error", + "-Winvalid-pch", + "-DLOG_TAG=\"libva-android\"", ], vendor: true, + enabled: false, + arch: { + x86_64: { + enabled: true, + }, + }, } diff --git a/va/va_version.h b/va/va_version.h deleted file mode 100644 index 47983dae9..000000000 --- a/va/va_version.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved. - * - * 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, sub license, 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 NON-INFRINGEMENT. - * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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. - */ - -#ifndef VA_VERSION_H -#define VA_VERSION_H - -/** - * VA_MAJOR_VERSION: - * - * The major version of VA-API (1, if %VA_VERSION is 1.2.3) - */ -#define VA_MAJOR_VERSION 2 - -/** - * VA_MINOR_VERSION: - * - * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) - */ -#define VA_MINOR_VERSION 21 - -/** - * VA_MICRO_VERSION: - * - * The micro version of VA-API (3, if %VA_VERSION is 1.2.3) - */ -#define VA_MICRO_VERSION 0 - -/** - * VA_VERSION: - * - * The full version of VA-API, like 1.2.3 - */ -#define VA_VERSION 2.21.0 - -/** - * VA_VERSION_S: - * - * The full version of VA-API, in string form (suited for string - * concatenation) - */ -#define VA_VERSION_S "2.21.0" - -/** - * VA_VERSION_HEX: - * - * Numerically encoded version of VA-API, like 0x010203 - */ -#define VA_VERSION_HEX ((VA_MAJOR_VERSION << 24) | \ - (VA_MINOR_VERSION << 16) | \ - (VA_MICRO_VERSION << 8)) - -/** - * VA_CHECK_VERSION: - * @major: major version, like 1 in 1.2.3 - * @minor: minor version, like 2 in 1.2.3 - * @micro: micro version, like 3 in 1.2.3 - * - * Evaluates to %TRUE if the version of VA-API is greater than - * @major, @minor and @micro - */ -#define VA_CHECK_VERSION(major,minor,micro) \ - (VA_MAJOR_VERSION > (major) || \ - (VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION > (minor)) || \ - (VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION == (minor) && VA_MICRO_VERSION >= (micro))) - -#endif /* VA_VERSION_H */ -