# component2/SConscript
Import('env')
import os
with open(env['PROJECT_TOOL_S']) as f:
    exec(f.read())

if 'CONFIG_AXCL_MSP_ENABLED' in os.environ:
    SRCS=[]
    INCLUDE=[]
    PRIVATE_INCLUDE=[]
    REQUIREMENTS=[]
    STATIC_LIB=[]
    DYNAMIC_LIB=[]
    DEFINITIONS=[]
    DEFINITIONS_PRIVATE=['']
    LDFLAGS=[]
    LINK_SEARCH_PATH=[]


    MSP_PATH = ''
    if 'CONFIG_MSP_V3_6_2_ENABLED' in os.environ:
        DEFINITIONS += ['-DAXCL_BUILD_VERSION=\\\\\\\"V3.6.2_20250603154858\\\\\\\"']
        MSP_PATH = check_wget_down("https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/linux/llm/m5stack_axcl_msp_v3_6_2.tar.gz", 'm5stack_axcl_msp_v3_6_2.tar.gz')
    elif 'CONFIG_MSP_V3_6_4_ENABLED' in os.environ:
        DEFINITIONS += ['-DAXCL_BUILD_VERSION=\\\\\\\"V3.6.4_20250822020158\\\\\\\"']
        MSP_PATH = check_wget_down("https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/linux/llm/m5stack_axcl_msp_v3_6_4.tar.gz", 'm5stack_axcl_msp_v3_6_4.tar.gz')
    if 'EXT_MSP_PATH' in os.environ:
        MSP_PATH = os.environ.get('EXT_MSP_PATH')
    # print(env['GCC_DUMPMACHINE'])
    if 'aarch64' in env['GCC_DUMPMACHINE']:
        MSP_PATH = os.path.join(MSP_PATH, 'axcl_linux_arm64')
    elif 'x86' in env['GCC_DUMPMACHINE']:
        MSP_PATH = os.path.join(MSP_PATH, 'axcl_linux_x86')

    env["MSP_PATH"] = MSP_PATH
    INCLUDE += [os.path.join(MSP_PATH, 'include')]
    LINK_SEARCH_PATH += [os.path.join(MSP_PATH, 'lib')]

    env['COMPONENTS'].append({'target':os.path.basename(env['component_dir']),
                            'SRCS':SRCS,
                            'INCLUDE':INCLUDE,
                            'PRIVATE_INCLUDE':PRIVATE_INCLUDE,
                            'REQUIREMENTS':REQUIREMENTS,
                            'STATIC_LIB':STATIC_LIB,
                            'DYNAMIC_LIB':DYNAMIC_LIB,
                            'DEFINITIONS':DEFINITIONS,
                            'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE,
                            'LDFLAGS':LDFLAGS,
                            'LINK_SEARCH_PATH':LINK_SEARCH_PATH,
                            'REGISTER':'static'
                            })

