#===============================================================================
#
# Secure DSP Demo App
#
# GENERAL DESCRIPTION
#    build script
#
# Copyright (c) 2018-2019 by QUALCOMM, Incorporated.
# All Rights Reserved.
# QUALCOMM Proprietary/GTDR
#
#-------------------------------------------------------------------------------
#
#  $Header: //components/rel/apps.tz/2.10.1/securemsm/trustzone/qsapps/secdspdemo/SConscript#1 $
#  $DateTime: 2020/01/05 22:06:18 $
#  $Author: pwbldsvc $
#  $Change: 22064727 $
#                      EDIT HISTORY FOR FILE
#
#  This section contains schedulerents describing changes made to the module.
#  Notice that changes are listed in reverse chronological order.
# when      who      what
#-------------------------------------------------------------------------------
#
##===============================================================================
import os
Import('env')
env = env.Clone()

env.Append(CCFLAGS = ' -Werror')
env.Append(CCFLAGS = ' -fno-vectorize-loops')

includes = [
    '${BUILD_ROOT}/ssg/securemsm/trustzone/qsapps/libs/ipprotectorlib',
    '${BUILD_ROOT}/ssg/securemsm/trustzone/qsapps/libs/secdsplib',
    '${BUILD_ROOT}/apps/securemsm/trustzone/qsapps/misc_headers',
    "$SDK_ROOT/inc/ipprotectorlib",
    "$SDK_ROOT/inc/secdsplib",
]

#----------------------------------------------------------------------------
# App core Objects
#----------------------------------------------------------------------------
sources = Glob('*.c')
sources_header = Glob('*.h')

#-------------------------------------------------------------------------------
# Add metadata to image
#-------------------------------------------------------------------------------
app_name = 'secdspdemo'

# TO-DO: These are warnings present in other modules that need to be fixed.
# This is done just so Werror is enabled for this app
env.Append(CCFLAGS = " -O3 -Wall -Werror")
md = {
  'appName': app_name,
  'privileges': ['default', 'IPProtector', 'DSPSharedChannel', 'DSPSharedChannel2', 'ComputeDSPSecureMemAccess', 'AccessControl', 'SecureCamera'],

  # Using default heap size of 0xE000
  # Using default stack size of 0x8000
}

#-------------------------------------------------------------------------------
# Add Libraries to image
#-------------------------------------------------------------------------------
if env.StandaloneSdk():
  ipplibs = ['$SDK_ROOT/libs/$APP_EXEC_MODE/ipprot_lib.lib', '$SDK_ROOT/libs/$APP_EXEC_MODE/elflib.lib']
  if env['PROC'] == 'scorpion':
    dsclib = '$SDK_ROOT/libs/$APP_EXEC_MODE/dsc_lib.lib'
  else:
    dsclib = '$SDK_ROOT/libs/$APP_EXEC_MODE/dsc_lib64.lib'
else:
  ipplibs = [env.SConscript('${BUILD_ROOT}/ssg/securemsm/trustzone/qsapps/libs/ipprotectorlib/SConscript', exports='env')]
  dsclib = [env.SConscript('${BUILD_ROOT}/ssg/securemsm/trustzone/qsapps/libs/secdsplib/SConscript', exports='env')]

libs = [dsclib, ipplibs]

app_units = env.SecureAppBuilder(
  sources = sources,
  includes = includes,
  user_libs = libs,
  metadata = md,
  image = app_name,
  deploy_sources = [sources, sources_header, 'SConscript'],
  deploy_variants = env.GetDefaultPublicVariants()
)

op = env.Alias(app_name, app_units)

Return('app_units')
