text: #
  # Collective Knowledge (individual environment - setup)
  #
  # See CK LICENSE.txt for licensing details
  # See CK COPYRIGHT.txt for copyright details
  #
  # Developer: Grigori Fursin, Grigori.Fursin@cTuning.org, http://fursin.net
  #
  
  ##############################################################################
  # setup environment setup
  
  def setup(i):
      """
      Input:  {
                cfg              - meta of this soft entry
                self_cfg         - meta of module soft
                ck_kernel        - import CK kernel module (to reuse functions)
  
                host_os_uoa      - host OS UOA
                host_os_uid      - host OS UID
                host_os_dict     - host OS meta
  
                target_os_uoa    - target OS UOA
                target_os_uid    - target OS UID
                target_os_dict   - target OS meta
  
                target_device_id - target device ID (if via ADB)
  
                tags             - list of tags used to search this entry
  
                env              - updated environment vars from meta
                customize        - updated customize vars from meta
  
                deps             - resolved dependencies for this soft
  
                interactive      - if 'yes', can ask questions, otherwise quiet
              }
  
      Output: {
                return       - return code =  0, if successful
                                           >  0, if error
                (error)      - error text if return > 0
  
                bat          - prepared string for bat file
              }
  
      """
  
      import os
  
      # Get variables
      ck=i['ck_kernel']
      s=''
  
      iv=i.get('interactive','')
  
      env=i.get('env',{})
      cfg=i.get('cfg',{})
      deps=i.get('deps',{})
      tags=i.get('tags',[])
      cus=i.get('customize',{})
      hosd=i['host_os_dict']
      target_d=i.get('target_os_dict',{})
      win=target_d.get('windows_base','')
      remote=target_d.get('remote','')
      mingw=target_d.get('mingw','')
      tbits=target_d.get('bits','')
  
      envp=cus.get('env_prefix','')
      fp=cus.get('full_path','')
  
      fn=os.path.basename(fp)
  
      pl=os.path.dirname(fp)
      p1=os.path.dirname(pl)
      pinst=os.path.dirname(p1)
  
      env[envp]=pinst
  
      return {'return':0, 'bat':''}
  