# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

shared_library("libmtkcam_hwnode") {
  import("//camera/hal/mediatek/common-config.gni")
  sources = [
    "BaseNode.cpp",
    "JpegNode.cpp",
    "fd/FDNodeImp.cpp",
    "p1/P1ConnectLMV.cpp",
    "p1/P1DeliverMgr.cpp",
    "p1/P1NodeImp.cpp",
    "p1/P1RegisterNotify.cpp",
    "p1/P1TaskCtrl.cpp",
    "p1/P1Utility.cpp",
    "p2/P2_BasicProcessor.cpp",
    "p2/P2_CaptureNode.cpp",
    "p2/P2_CaptureProcessor.cpp",
    "p2/P2_Cropper.cpp",
    "p2/P2_DispatchProcessor.cpp",
    "p2/P2_DrawIDPlugin.cpp",
    "p2/P2_DumpPlugin.cpp",
    "p2/P2_Info.cpp",
    "p2/P2_LMVInfo.cpp",
    "p2/P2_Logger.cpp",
    "p2/P2_MWData.cpp",
    "p2/P2_MWFrame.cpp",
    "p2/P2_MWFrameRequest.cpp",
    "p2/P2_Param.cpp",
    "p2/P2_Request.cpp",
    "p2/P2_ScanlinePlugin.cpp",
    "p2/P2_StreamingNode.cpp",
    "p2/P2_StreamingProcessor.cpp",
    "p2/P2_Streaming_3DNR.cpp",
    "p2/P2_Util.cpp",
  ]
  defines += [
    "MTKCAM_HW_NODE_LOG_LEVEL_DEFAULT=3",
    "MTKCAM_HW_NODE_USING_3A_LIST=0",
    "MTKCAM_HW_NODE_USING_TUNING_UTILS=1",
    "MTKCAM_HW_NODE_WITH_LEGACY_SUPPORT=0",
  ]
  include_dirs += [
    ".",
    "${mtk_root_path}/libcamera_feature",
    "${mtk_root_path}/libcamera_feature/libfdft_lib/include/",
    "${mtk_root_path}/mtkcam/custom",
    "${mtk_root_path}/mtkcam/custom/common/hal/inc",
    "${mtk_root_path}/mtkcam/custom/mt8183",
    "${mtk_root_path}/mtkcam/custom/mt8183/hal/imgsensor_src",
    "${mtk_root_path}/mtkcam/custom/mt8183/hal/inc",
    "${mtk_root_path}/mtkcam/custom/mt8183/kernel/imgsensor",
    "${mtk_root_path}/mtkcam/include",
    "${mtk_root_path}/mtkcam/include/mtkcam/def",
    "${mtk_root_path}/mtkcam/include/mtkcam/drv/def",
    "${mtk_root_path}/mtkcam/include/mtkcam/drv/iopipe",
    "${mtk_root_path}/mtkcam/include/mtkcam/utils/std",
    "${mtk_root_path}/mtkcam/utils",
    "${mtk_root_path}/mtklibv4l2",
    "${mtk_root_path}/mtkcam/drv/iopipe",
    "${mtk_root_path}/mtkcam/drv/iopipe/include",
    "${mtk_root_path}/mtkcam/drv/iopipe/src/common",
    "${mtk_root_path}/mtkcam/drv/iopipe/src/utils",
  ]
  libs += [ "pthread" ]
  deps += [
    "//camera/hal/mediatek/mtkcam/custom:libcameracustom",
    "//camera/hal/mediatek/mtkcam/drv/iopipe/src/pass2:libcam_normalstream",
    "//camera/hal/mediatek/mtkcam/drv/sensor:libmtk_halsensor",
    "//camera/hal/mediatek/mtkcam/feature/common/3dnr:libfeature_3dnr",
    "//camera/hal/mediatek/mtkcam/feature/common/faceeffect:libfeature.face",
    "//camera/hal/mediatek/mtkcam/feature/common/lmv:libfeature_lmv",
    "//camera/hal/mediatek/mtkcam/feature/common/utils:libcam.feature_utils",
    "//camera/hal/mediatek/mtkcam/feature/common/utils:libcam.feature_utils",
    "//camera/hal/mediatek/mtkcam/feature/featureCore/featurePipe/capture:libmtkcam.featurepipe.capture",
    "//camera/hal/mediatek/mtkcam/feature/featureCore/featurePipe/capture:libmtkcam.featurepipe.capture",
    "//camera/hal/mediatek/mtkcam/feature/featureCore/featurePipe/streaming:libmtkcam.featurepipe.streaming",
    "//camera/hal/mediatek/mtkcam/feature/featureCore/featurePipe/streaming:libmtkcam.featurepipe.streaming",
    "//camera/hal/mediatek/mtkcam/pipeline/utils:libmtkcam_streamutils",
    "//camera/hal/mediatek/mtkcam/utils/TuningUtils:libmtkcam_tuning_utils",
    "//camera/hal/mediatek/mtkcam/utils/exif:libmtkcam_exif",
    "//camera/hal/mediatek/mtkcam/utils/hw:libmtkcam_hwutils",
    "//camera/hal/mediatek/mtkcam/utils/imgbuf:libmtkcam_imgbuf",
    "//camera/hal/mediatek/mtkcam/utils/metadata:libmtkcam_metadata",
    "//camera/hal/mediatek/mtkcam/utils/metastore:libmtkcam_metastore",
    "//camera/hal/mediatek/mtkcam/utils/module:libmtkcam_modulehelper",
    "//camera/hal/mediatek/mtkcam/utils/property_service:libmtk_property",
    "//camera/hal/mediatek/mtkcam/utils/std:libmtkcam_stdutils",
    "//camera/hal/mediatek/mtkcam/v4l2:libmtkcam_v4l2drvmgr",
  ]
}
