Convert camera.v4l2, and camera.v4l2_test to soong

Bug: 349300092
Test: lunch aosp_cheetah-trunk_staging-userdebug; \
      USE_CAMERA_V4L2_HAL=true m camera.v4l2 camera.v4l2_test

Change-Id: I446c005dffc6b65d3239d21bf74c2dceb0977001
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,
+    }),
+}