#===============================================================================
#
#
# GENERAL DESCRIPTION
#    build script
#
# Copyright (c) 2009-2009,2019-2020 by QUALCOMM, Incorporated.
# All Rights Reserved.
# QUALCOMM Proprietary/GTDR
#
#-------------------------------------------------------------------------------
#
#  $Header: //components/rel/core.qdsp6/5.1/debugtrace/build/SConscript#2 $
#                      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 os
Import('env')
import qdss

env = env.Clone()

#-------------------------------------------------------------------------------
# Convert warnings to errors
#-------------------------------------------------------------------------------
env.Append(CCFLAGS = '-Werror')

config='sm8250'        #default config
if env['CHIPSET'] in ['sm8250','sdm855','sdm1000','saipan','lahaina','rennell','bitra']:
   config=env['CHIPSET']
env['QDSS_MSM_CONFIG']=config

#-------------------------------------------------------------------------------
# Publish Protected APIs
# these are accesible within QDSS
#-------------------------------------------------------------------------------

CORE_SETTINGS_CONFIG = env['CHIPSET']
IMAGE = env['IMAGE']

env.PublishProtectedApi('DEBUGTRACE',[
   "${DEBUGTRACE_INC_ROOT}/core/debugtrace/common/hal/inc",
   "${DEBUGTRACE_INC_ROOT}/core/debugtrace/csr/hal/inc",
   "${DEBUGTRACE_INC_ROOT}/core/debugtrace/common/src",
   "${DEBUGTRACE_INC_ROOT}/core/debugtrace/tlmm/hal/inc",
   "${DEBUGTRACE_INC_ROOT}/core/debugtrace/tracer/src",
   "${DEBUGTRACE_INC_ROOT}/core/settings/debugtrace/lpi_bridges/config/" + IMAGE + '/' + CORE_SETTINGS_CONFIG, 
])

if env.IsTargetEnable(qdss.BuildTags(['venus'])):
   env.PublishPrivateApi('DEBUGTRACE',[
      "${DEBUGTRACE_INC_ROOT}/core/debugtrace/common/hal/inc",
      "${DEBUGTRACE_INC_ROOT}/core/debugtrace/common/inc",
   ])

#-------------------------------------------------------------------------------
#Define QDSS features here
#----------------------------------
### Place qdss_init in standalone mode ###
#env.Replace(USES_QDSS_STANDALONE=True)

if 'USES_QDSS_STANDALONE' in env:
   if ((not env.IsTargetEnable(qdss.BuildTags(['sensor2']))) and
       (not env.IsTargetEnable(qdss.BuildTags(['audio']))) and
       (not env.IsTargetEnable(qdss.BuildTags(['cdsp_avs'])))):
      env.Append(CCFLAGS = " -DQDSS_STANDALONE_MODE=1")

      
if env.IsTargetEnable(qdss.BuildTags(['npu'])):
   env.Append(CCFLAGS = " -DQDSS_NO_NPA")
     

if env.IsTargetEnable(qdss.BuildTags(['venus'])):
   env.Append(CCFLAGS = " -DTRACER_VENUS_BUILD")

#-------------------------------------------------------------------------------
# Require Public API within core
#-------------------------------------------------------------------------------
env.RequirePublicApi(['KERNEL'])
   
#-------------------------------------------------------------------------------
# Load sub scripts
#-------------------------------------------------------------------------------
env.LoadSoftwareUnits()
