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
  #
  
  import os
  
  ##############################################################################
  # 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','')
  
      cus=i.get('customize',{})
      fp=cus.get('full_path','')
  
      hosd=i['host_os_dict']
      tosd=i['target_os_dict']
  
      sdirs=hosd.get('dir_sep','')
  
      # Check platform
      hplat=hosd.get('ck_name','')
  
      hproc=hosd.get('processor','')
      tproc=tosd.get('processor','')
  
      remote=tosd.get('remote','')
      tbits=tosd.get('bits','')
  
      env=i['env']
  
      pi=os.path.dirname(fp)
  
      ep=cus['env_prefix']
      env[ep]=pi
  
      x=cus.get('file_model','')
      if x!='': 
         env[ep+'_PB_NAME']=x
         env[ep+'_PB']=pi+sdirs+x
  
      x=cus.get('file_labels','')
      if x!='': 
         env[ep+'_LABELS_NAME']=x
         env[ep+'_LABELS']=pi+sdirs+x
  
      x=cus.get('add_to_env',{})
      for k in x:
          v=x[k]
          env[ep+k]=v
  
      return {'return':0, 'bat':s}
  