#===============================================================================
#
# cryptoLibs
#
# GENERAL DESCRIPTION
#    build script
#
# Copyright (c) 2009-2009 by QUALCOMM, Incorporated.
# All Rights Reserved.
# QUALCOMM Proprietary/GTDR
#
#-------------------------------------------------------------------------------
#
#  $Header:  $
#  $DateTime: $
#  $Author:  $
#  $Change:  $
#                      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
# --------   ---     ---------------------------------------------------------
# 02/23/11   jl	     Removed debug/nodebug from build path.
#
#===============================================================================
Import('env')
env = env.Clone()

Return()

#-------------------------------------------------------------------------------
# Source PATH
#-------------------------------------------------------------------------------
SRCPATH = "${BUILD_ROOT}/core/securemsm/unifiedcrypto/test"

if env.has_key('USES_NO_DEBUG'):
   env.Replace(DBUG_MODE = "NoDebug")
else:
   env.Replace(DBUG_MODE = "Debug")

if env.has_key('IMAGE_NAME'):
   SECUREMSMLIBPATH = '${IMAGE_NAME}/${PROC}/${ARMTOOLS}'
#   SECUREMSMLIBPATH = '${IMAGE_NAME}/${PROC}/${ARMTOOLS}/${DBUG_MODE}'
else:
   SECUREMSMLIBPATH = 'unknown/${PROC}/${ARMTOOLS}'
#   SECUREMSMLIBPATH = 'unknown/${PROC}/${ARMTOOLS}/${DBUG_MODE}'

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

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

#-------------------------------------------------------------------------------
# Internal depends within CoreBSP
#-------------------------------------------------------------------------------
CBSP_API = [
   'DAL',
   'DEBUGTOOLS',
   'HAL',
   'MPROC',
   'SECUREMSM',
   'SERVICES',
   'STORAGE',
   'SYSTEMDRIVERS',
   'WIREDCONNECTIVITY',
   'BOOT',
   'HWENGINES',
   'CECL',
   'POWER',

   # needs to be last also contains wrong comdef.h
   'KERNEL',
]

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

#-------------------------------------------------------------------------------
# Compiler, object, and linker definitions
#-------------------------------------------------------------------------------
env.Append(ARMCC_CODE = " ${ARM_SPLIT_SECTIONS}")
env.Replace(ARMLD_NOREMOVE_CMD = "")

env.Append(CPPDEFINES = ['_ARM_', '__arm', 'ARM', 'ARM_BREW_BUILD'])
if env.has_key('BUILD_BOOT_CHAIN'):
   env.Append(CPPDEFINES = ['FEATURE_LIBRARY_ONLY'])
   
#-------------------------------------------------------------------------------
# Publish Private APIs
#-------------------------------------------------------------------------------
env.PublishPrivateApi('UC_TEST_API', [
   "${BUILD_ROOT}/core/securemsm/unifiedcrypto/test/inc",
])

env.PublishPrivateApi('UC_TEST', [
   '${INC_ROOT}/core/securemsm/unifiedcrypto/core/sha/inc', 
   '${INC_ROOT}/core/securemsm/unifiedcrypto/shared/sha/inc',
   '${INC_ROOT}/core/securemsm/unifiedcrypto/core/aes/inc', 
   '${INC_ROOT}/core/securemsm/unifiedcrypto/shared/aes/inc',
   '${INC_ROOT}/core/securemsm/unifiedcrypto/environment/adsp/inc', 
   '${INC_ROOT}/core/securemsm/unifiedcrypto/environment/inc', 
   "${BUILD_ROOT}/core/securemsm/unifiedcrypto/test/inc",
   ])

#-------------------------------------------------------------------------------
# Sources, libraries
#-------------------------------------------------------------------------------

TEST_LIB_SOURCES = [
        '${BUILDPATH}/src/sha_test.c',
        '${BUILDPATH}/src/aes_test.c',
]

#-------------------------------------------------------------------------------
# Add Libraries to image
#-------------------------------------------------------------------------------

env.AddBinaryLibrary(['CORE_QDSP6_SW'], '${BUILDPATH}/TEST', TEST_LIB_SOURCES)

