Merge "Convert camera.v4l2, and camera.v4l2_test to soong" into main
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index d764008..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-# Copyright 2006 The Android Open Source Project
-
-include $(call all-named-subdir-makefiles,modules)
diff --git a/modules/Android.mk b/modules/Android.mk
deleted file mode 100644
index 58e5ebe..0000000
--- a/modules/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-hardware_modules := \
-    camera \
-    sensors
-include $(call all-named-subdir-makefiles,$(hardware_modules))
diff --git a/modules/camera/3_4/Android.bp b/modules/camera/3_4/Android.bp
new file mode 100644
index 0000000..3e3ba0a
--- /dev/null
+++ b/modules/camera/3_4/Android.bp
@@ -0,0 +1,132 @@
+//
+// Copyright 2016 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: [
+        "hardware_libhardware_license",
+    ],
+    default_team: "trendy_team_camera_framework",
+}
+
+v4l2_shared_libs = [
+    "libbase",
+    "libchrome",
+    "libcamera_client",
+    "libcamera_metadata",
+    "libcutils",
+    "libexif",
+    "libhardware",
+    "liblog",
+    "libsync",
+    "libutils",
+]
+
+v4l2_static_libs = [
+    "libyuv_static",
+    "libjpeg_static_ndk",
+]
+
+v4l2_cflags = [
+    "-fno-short-enums",
+    "-Wall",
+    "-Wextra",
+    "-Werror",
+    "-fvisibility=hidden",
+    "-DHAVE_JPEG",
+]
+
+v4l2_c_includes = [
+    "system/media/camera/include",
+]
+
+v4l2_src_files = [
+    "arc/cached_frame.cpp",
+    "arc/exif_utils.cpp",
+    "arc/frame_buffer.cpp",
+    "arc/image_processor.cpp",
+    "arc/jpeg_compressor.cpp",
+    "camera.cpp",
+    "capture_request.cpp",
+    "format_metadata_factory.cpp",
+    "metadata/boottime_state_delegate.cpp",
+    "metadata/enum_converter.cpp",
+    "metadata/metadata.cpp",
+    "metadata/metadata_reader.cpp",
+    "request_tracker.cpp",
+    "static_properties.cpp",
+    "stream_format.cpp",
+    "v4l2_camera.cpp",
+    "v4l2_camera_hal.cpp",
+    "v4l2_metadata_factory.cpp",
+    "v4l2_wrapper.cpp",
+]
+
+v4l2_test_files = [
+    "format_metadata_factory_test.cpp",
+    "metadata/control_test.cpp",
+    "metadata/default_option_delegate_test.cpp",
+    "metadata/enum_converter_test.cpp",
+    "metadata/ignored_control_delegate_test.cpp",
+    "metadata/map_converter_test.cpp",
+    "metadata/menu_control_options_test.cpp",
+    "metadata/metadata_reader_test.cpp",
+    "metadata/metadata_test.cpp",
+    "metadata/no_effect_control_delegate_test.cpp",
+    "metadata/partial_metadata_factory_test.cpp",
+    "metadata/property_test.cpp",
+    "metadata/ranged_converter_test.cpp",
+    "metadata/slider_control_options_test.cpp",
+    "metadata/state_test.cpp",
+    "metadata/tagged_control_delegate_test.cpp",
+    "metadata/tagged_control_options_test.cpp",
+    "metadata/v4l2_control_delegate_test.cpp",
+    "request_tracker_test.cpp",
+    "static_properties_test.cpp",
+]
+
+// V4L2 Camera HAL.
+// ==============================================================================
+cc_library_shared {
+    name: "camera.v4l2",
+    relative_install_path: "hw",
+    cflags: v4l2_cflags,
+    shared_libs: v4l2_shared_libs,
+    header_libs: ["libgtest_prod_headers"],
+    static_libs: v4l2_static_libs,
+
+    include_dirs: v4l2_c_includes,
+    srcs: v4l2_src_files,
+    enabled: select(soong_config_variable("camera", "use_camera_v4l2_hal"), {
+        true: true,
+        default: false,
+    }),
+}
+
+// Unit tests for V4L2 Camera HAL.
+// ==============================================================================
+cc_test {
+    name: "camera.v4l2_test",
+    cflags: v4l2_cflags,
+    shared_libs: v4l2_shared_libs,
+    static_libs: ["libgmock"] + v4l2_static_libs,
+
+    include_dirs: v4l2_c_includes,
+    srcs: v4l2_src_files + v4l2_test_files,
+    enabled: select(soong_config_variable("camera", "use_camera_v4l2_hal"), {
+        true: true,
+        default: false,
+    }),
+}
diff --git a/modules/camera/3_4/Android.mk b/modules/camera/3_4/Android.mk
deleted file mode 100644
index aa23097..0000000
--- a/modules/camera/3_4/Android.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-#
-# Copyright 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-# Prevent the HAL from building on devices not specifically
-# requesting to use it.
-ifeq ($(USE_CAMERA_V4L2_HAL), true)
-
-v4l2_shared_libs := \
-  libbase \
-  libchrome \
-  libcamera_client \
-  libcamera_metadata \
-  libcutils \
-  libexif \
-  libhardware \
-  liblog \
-  libsync \
-  libutils \
-
-v4l2_static_libs := \
-  libyuv_static \
-  libjpeg_static_ndk \
-
-v4l2_cflags := -fno-short-enums -Wall -Wextra -Werror -fvisibility=hidden -DHAVE_JPEG
-
-v4l2_c_includes := $(call include-path-for, camera) \
-  external/libyuv/files/include \
-
-v4l2_src_files := \
-  arc/cached_frame.cpp \
-  arc/exif_utils.cpp \
-  arc/frame_buffer.cpp \
-  arc/image_processor.cpp \
-  arc/jpeg_compressor.cpp \
-  camera.cpp \
-  capture_request.cpp \
-  format_metadata_factory.cpp \
-  metadata/boottime_state_delegate.cpp \
-  metadata/enum_converter.cpp \
-  metadata/metadata.cpp \
-  metadata/metadata_reader.cpp \
-  request_tracker.cpp \
-  static_properties.cpp \
-  stream_format.cpp \
-  v4l2_camera.cpp \
-  v4l2_camera_hal.cpp \
-  v4l2_metadata_factory.cpp \
-  v4l2_wrapper.cpp \
-
-v4l2_test_files := \
-  format_metadata_factory_test.cpp \
-  metadata/control_test.cpp \
-  metadata/default_option_delegate_test.cpp \
-  metadata/enum_converter_test.cpp \
-  metadata/ignored_control_delegate_test.cpp \
-  metadata/map_converter_test.cpp \
-  metadata/menu_control_options_test.cpp \
-  metadata/metadata_reader_test.cpp \
-  metadata/metadata_test.cpp \
-  metadata/no_effect_control_delegate_test.cpp \
-  metadata/partial_metadata_factory_test.cpp \
-  metadata/property_test.cpp \
-  metadata/ranged_converter_test.cpp \
-  metadata/slider_control_options_test.cpp \
-  metadata/state_test.cpp \
-  metadata/tagged_control_delegate_test.cpp \
-  metadata/tagged_control_options_test.cpp \
-  metadata/v4l2_control_delegate_test.cpp \
-  request_tracker_test.cpp \
-  static_properties_test.cpp \
-
-# V4L2 Camera HAL.
-# ==============================================================================
-include $(CLEAR_VARS)
-LOCAL_MODULE := camera.v4l2
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_CFLAGS += $(v4l2_cflags)
-LOCAL_SHARED_LIBRARIES := $(v4l2_shared_libs)
-LOCAL_HEADER_LIBRARIES := libgtest_prod_headers
-LOCAL_STATIC_LIBRARIES := $(v4l2_static_libs)
-
-LOCAL_C_INCLUDES += $(v4l2_c_includes)
-LOCAL_SRC_FILES := $(v4l2_src_files)
-include $(BUILD_SHARED_LIBRARY)
-
-# Unit tests for V4L2 Camera HAL.
-# ==============================================================================
-include $(CLEAR_VARS)
-LOCAL_MODULE := camera.v4l2_test
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
-LOCAL_CFLAGS += $(v4l2_cflags)
-LOCAL_SHARED_LIBRARIES := $(v4l2_shared_libs)
-LOCAL_STATIC_LIBRARIES := \
-  libgmock \
-  $(v4l2_static_libs) \
-
-LOCAL_C_INCLUDES += $(v4l2_c_includes)
-LOCAL_SRC_FILES := \
-  $(v4l2_src_files) \
-  $(v4l2_test_files) \
-
-include $(BUILD_NATIVE_TEST)
-
-endif # USE_CAMERA_V4L2_HAL
diff --git a/modules/camera/Android.mk b/modules/camera/Android.mk
deleted file mode 100644
index 71388aa..0000000
--- a/modules/camera/Android.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-include $(call all-subdir-makefiles)
diff --git a/modules/sensors/Android.mk b/modules/sensors/Android.mk
deleted file mode 100644
index 69889de..0000000
--- a/modules/sensors/Android.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# Copyright (C) 2013 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-ifeq ($(USE_SENSOR_MULTI_HAL),true)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := sensors.$(TARGET_DEVICE)
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE
-
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_PROPRIETARY_MODULE := true
-
-LOCAL_CFLAGS := -Wall -Werror -DLOG_TAG=\"MultiHal\"
-
-LOCAL_SRC_FILES := \
-    multihal.cpp \
-    SensorEventQueue.cpp \
-
-LOCAL_HEADER_LIBRARIES := \
-    libhardware_headers \
-
-LOCAL_SHARED_LIBRARIES := \
-    libcutils \
-    libdl \
-    liblog \
-    libutils \
-
-include $(BUILD_SHARED_LIBRARY)
-
-endif # USE_SENSOR_MULTI_HAL