
#
# ULOG Libs
#
# GENERAL DESCRIPTION
#    build script
#
# Copyright (c) 2009-2015 Qualcomm Technologies, Inc.
#         All Rights Reserved.
# Qualcomm Technologies, Inc. Confidential and Proprietary.
#
#-------------------------------------------------------------------------------
#
#  $Header: //source/qcom/qct/core/power/ulog/rel/2012/build/SConscript#10 $
#                      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
# --------   ---     ---------------------------------------------------------
# 12/20/13   c_skikug Adding the CMM script to the T32 menu
# 07/16/12   jdp     Modified to support the new Badger directory structure.
# 11/29/10   ss      Build changes for 8960 RIVA target.
# 04/20/10   bjs     Add diag and processor name handling.
# 08/13/09   taw     Initial version.
#
#===============================================================================
Import('env')
env = env.Clone()
import os


#-------------------------------------------------------------------------------
# SRC PATH
#-------------------------------------------------------------------------------
SRCPATH = "${BUILD_ROOT}/core/power/ulog"
env.VariantDir('${BUILDPATH}', SRCPATH, duplicate=0)

#-------------------------------------------------------------------------------
# Determine target information
#-------------------------------------------------------------------------------
env['LOCAL_TARG_CHIP'] = env['MSM_ID']
env['LOCAL_TARG_PROC'] = env.DetermineProcessorName()

#-------------------------------------------------------------------------------
# Local build searchpath for target customization
#-------------------------------------------------------------------------------

env.PublishProtectedApi('LOCAL_INCLUDE_PATH', [
   SRCPATH + "/src",
   SRCPATH + "/config",
])
env.RequireProtectedApi(['LOCAL_INCLUDE_PATH'])

#-------------------------------------------------------------------------------
# External depends outside CoreBSP
#-------------------------------------------------------------------------------
env.RequireExternalApi([
   'CS',
])

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

env.RequirePublicApi(CBSP_API)
env.RequireRestrictedApi(CBSP_API)
env.RequireProtectedApi(['POWER_UTILS'])
#-------------------------------------------------------------------------------
# Sources, libraries
#-------------------------------------------------------------------------------

# ULog Library
#
ULOG_LIB_SOURCES = [
   '${BUILDPATH}/src/ULogCore.c',
   '${BUILDPATH}/src/ULogFront.c',
   '${BUILDPATH}/src/ULogParsers.c',
   '${BUILDPATH}/src/ULogRead.c',
   '${BUILDPATH}/src/ULogDiag.c',
]

#-------------------------------------------------------------------------------
# Compile and create library
#-------------------------------------------------------------------------------

env.AddBinaryLibrary(['SINGLE_IMAGE', 'CBSP_SINGLE_IMAGE',
                'MODEM_IMAGE', 'CBSP_MODEM_IMAGE',
                'APPS_IMAGE', 'CBSP_APPS_IMAGE',
                'QDSP6_SW_IMAGE', 'CBSP_QDSP6_SW_IMAGE',
                'WCN_IMAGE', 'CBSP_WCN_IMAGE', 'CORE_WCN',
                'RPM_IMAGE',
                'CORE_SPS',
                'SBL3_BOOT_IMAGE',
                'CORE_GSS',
                'CORE_QDSP6_SENSOR_SW',
                'CORE_USER_PD', 'CORE_ROOT_PD', 'CORE_QDSP6_SW'],
               '${BUILDPATH}/ulog', ULOG_LIB_SOURCES)

if 'USES_RCINIT' in env:
  RCINIT_IMG = ['WCN_IMAGE', 'CORE_MODEM', 'CORE_QDSP6_SW', 'APPS_IMAGE', 'CBSP_APPS_IMAGE']
  env.AddRCInitFunc(           # Code Fragment in TMC: NO
   RCINIT_IMG,                 #
   {
    'sequence_group'             : 'RCINIT_GROUP_2',            # required
    'init_name'                  : 'ulog_backend',              # required
    'init_function'              : 'ULogBackend_Init',          # required
    'dependencies'               : ['dalsys',]
   })

#-------------------------------------------------------------------------------
# Add CMM Scripts to T32 Menu
#-------------------------------------------------------------------------------
SRCPATHSCRIPTS = env['BUILD_ROOT'] + '/core/power/ulog/scripts'

try:
  env.AddCMMScripts ('MPSS', [SRCPATHSCRIPTS], { 'ULogDump.cmm' : 'ULog Dump'}, 'Power')
except:
  pass
