#===============================================================================
# Copyright (c) 2018 Qualcomm Incorporated.
# All Rights Reserved.
# Qualcomm Confidential and Proprietary
#
#  $Header: //components/rel/core.qdsp6/5.1/products/template/MyQdiDriver/build/SConscript#1 $
#  $DateTime: 2019/11/13 11:21:35 $
#  $Author: pwbldsvc $
#  $Change: 21373441 $
#===============================================================================
# DAL MyDriver Lib
#-------------------------------------------------------------------------------
Import('env')
env = env.Clone()
if 'USES_CORE_USER_PKG1' not in env:
   Return()
#--------------------
# Enable or Disable MyDriver here
#----------------------
#-------------------------------------------------------------------------------
# Source PATH
#-------------------------------------------------------------------------------
SRCPATH = "${INC_ROOT}/core/products/template/MyQdiDriver/src"

env.VariantDir('${BUILDPATH}', SRCPATH, duplicate=0)

#-------------------------------------------------------------------------------
# Source Code
#-------------------------------------------------------------------------------
#env.Replace(SRC_DIR='${PLAT}')
#-------------------------------------------------------------------------------
# External depends within CoreBSP
#-------------------------------------------------------------------------------
CBSP_API = [
   'DAL',
   'HAL',
   'POWER',
   'SERVICES',
   'SYSTEMDRIVERS',
   # needs to be last also contains wrong comdef.h
   'KERNEL',
]

env.RequirePublicApi(CBSP_API)
env.RequireRestrictedApi(CBSP_API)
#-------------------------------------------------------------------------------
# Internal depends within CoreBSP
#-------------------------------------------------------------------------------
env.UsesInc([
   "${DAL_API}",
   "${DEBUGTOOLS_API}",
   "${HWENGINES_API}",
   "${MPROC_API}",
   "${SERVICES_API}",
   "${SYSTEMDRIVERS_API}",
   "${KERNEL_API}",
])

env.UsesInc([
   "${DAL_LEGACY}",
   "${DEBUGTOOLS_LEGACY}",
   "${HWENGINES_LEGACY}",
   "${MPROC_LEGACY}",
   "${SERVICES_LEGACY}",
   "${SYSTEMDRIVERS_LEGACY}",

   # needs to be last also contains wrong comdef.h
   "${KERNEL_LEGACY}",
])

#-------------------------------------------------------------------------------
# Source Code
#-------------------------------------------------------------------------------

DAL_MyQdi_SOURCES =  [
   '${BUILDPATH}/MyDrv_Qdi.c',
]
DAL_MyQdi_USER_SOURCES =  [
   '${BUILDPATH}/my_qdi_caller.c',
   '${BUILDPATH}/MyDrv_test.c',
]

DAL_MyQdi_ISLAND_SOURCES =  [
#   '${BUILDPATH}/MyDrv_Qdi.c',
]
#-------------------------------------------------------------------------------
# Add Libraries to image
#-------------------------------------------------------------------------------
env.AddLibrary([ 'CORE_Q6_ROOT','CORE_QDSP6_SW'],
   '${BUILDPATH}/MyQdiDriver', DAL_MyQdi_SOURCES)
myqdi_island=env.AddLibrary(['CORE_Q6_ROOT'], '${BUILDPATH}/MyQdiDriverIsland', DAL_MyQdi_ISLAND_SOURCES)
env.AddLibrary(['CORE_USER_PKG1'],  '${BUILDPATH}/MyQdiDriver', DAL_MyQdi_USER_SOURCES)
env.AddRCInitFunc(      
  'CORE_QDSP6_SW',        
     {
    'sequence_group'             : 'RCINIT_GROUP_0',       # required
    'init_name'                  : 'MyDrv',           # required
    'init_function'              : 'MyDrv_qdi_init',    # required
     })
env.AddRCInitFunc(      
  'CORE_USER_PKG1',        
     {
    'sequence_group'             : 'RCINIT_GROUP_7',       # required
    'init_name'                  : 'MyDrv_test',           # required
    'init_function'              : 'MyDrv_test_init',    # required
     })
#-------------------------------------------------------------------------------
# Pack out files 
#-------------------------------------------------------------------------------
CLEAN_SOURCES = env.FindFiles('*', '${BUILD_ROOT}/core/products/template/MyQdiDriver/src')
env.CleanPack(['CORE_QDSP6_SW','CORE_USER_PKG1'], CLEAN_SOURCES)
