#===============================================================================
#
# DAL Framework Libs
#
# GENERAL DESCRIPTION
#    build script
#
# Copyright (c) 2009 - 2016 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#-------------------------------------------------------------------------------
#
#  $Header: //components/rel/core.slpi/1.0/dal/framework/build/SConscript#2 $
#  $DateTime: 2016/04/08 16:24:45 $
#  $Author: pwbldsvc $
#  $Change: 10233287 $
#                      EDIT HISTORY FOR FILE
#                      
#  This section contains comments describing changes made to the module.
#  Notice that changes are listed in reverse chronological order.
#  
# when       who     what, where, why
# --------   ---     ---------------------------------------------------------
#
#===============================================================================
Import('env')
env = env.Clone()

#-------------------------------------------------------------------------------
# Source PATH
#-------------------------------------------------------------------------------
SRCPATH = "${DAL_ROOT}/framework/src"
env.VariantDir('${BUILDPATH}', SRCPATH, duplicate=0) 

#-------------------------------------------------------------------------------
# Internal depends within CoreBSP
#-------------------------------------------------------------------------------
CBSP_API = [
   'DAL',
   'MPROC',
   'SERVICES',
   'SYSTEMDRIVERS',
   # needs to be last also contains wrong comdef.h      
   'KERNEL',
]

env.RequirePublicApi(CBSP_API)
env.RequireRestrictedApi(CBSP_API)

#-------------------------------------------------------------------------------
# Guest OS Source Code
#-------------------------------------------------------------------------------

DALFW_GUESTOS_SOURCES =  [
   '${BUILDPATH}/common/dalfwkbase.c',
   '${BUILDPATH}/common/DALQueue.c',
   '${BUILDPATH}/common/DALDevice.c',
   '${BUILDPATH}/qdi/DALQdiQurtOS.c',
   '${BUILDPATH}/qdi/DALQdiRcvr.S',
   ]

env.Append(CPPDEFINES = ["FEATURE_DAL_REMOTE"])

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

DALFW_USER_SOURCES =  [
   '${BUILDPATH}/common/dalfwkbase.c',
   '${BUILDPATH}/common/DALQueue.c',
   '${BUILDPATH}/common/DALDevice.c',
   '${BUILDPATH}/qdi/DALQdiFwdr.S',
   '${BUILDPATH}/qdi/DALQdiUser.c',
   ]

#-------------------------------------------------------------------------------
# Add Guest OS Libraries to image
#-------------------------------------------------------------------------------
env.AddBinaryLibrary(
   ['SINGLE_IMAGE', 'CBSP_SINGLE_IMAGE', 'MODEM_IMAGE', 'CBSP_MODEM_IMAGE',
    'APPS_IMAGE', 'CBSP_APPS_IMAGE', 'QDSP6_SW_IMAGE', 'CBSP_QDSP6_SW_IMAGE'],
    '${BUILDPATH}/DALFwk_guestos', DALFW_GUESTOS_SOURCES)

#-------------------------------------------------------------------------------
# Add User Libraries to image
#-------------------------------------------------------------------------------
if env.GetUsesFlag('USES_SENSOR_IMG') is True:
   env.Append(CPPDEFINES = ["FEATURE_DAL_REMOTE_CLIENT"])
   env.AddBinaryLibrary(['CORE_QDSP6_SENSOR_SW'], '${BUILDPATH}/DALFwk_user', DALFW_USER_SOURCES)

if env.GetUsesFlag('USES_AUDIO_IMG') is True:
   env.Append(CPPDEFINES = ["FEATURE_DAL_REMOTE_CLIENT"])
   env.AddBinaryLibrary(['CORE_QDSP6_AUDIO_SW'], '${BUILDPATH}/DALFwk_user', DALFW_USER_SOURCES)
