
    )`i                        d Z ddlZddlZddlmZ ddlmZ ddlm	Z	  ee
          j                                        Zedz  dz  Zd Z e             d	ed
eddfdZddZd Zd Zd ZddZddZddZddZddZddZddZddZdS )a3  
Copyright (c) 2023 by FlashInfer team.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
    N)Path)
build_meta)get_git_version
flashinferdatac                     t           dz  } |                                 rOt          | d          5 }|                                                                }ddd           n# 1 swxY w Y   nd}t
          j                            dd          }|r| d| }t          t                     }t
          j                            d	          }|r| d
| }t          t                    j        dz  }|dz  }t          t                    j        dz  }|                                }	|                                r|	st          d           |S t          |d          5 }|                    d           |                    d| d           |                    d| d           ddd           n# 1 swxY w Y   t          d|            |S )z4Create build metadata file with version information.zversion.txtrNz0.0.0+unknownFLASHINFER_DEV_RELEASE_SUFFIX z.dev)cwdFLASHINFER_LOCAL_VERSION+r   z_build_meta.pyz.gitz@Build metadata file already exists (not in git repo), keeping itwz-"""Build metadata for flashinfer package."""
z__version__ = "z"
z__git_version__ = "z)Created build metadata file with version )_rootexistsopenreadstriposenvirongetr   r   __file__parentprintwrite)
version_filefversion
dev_suffixgit_versionlocal_versionpackage_dirbuild_meta_filegit_dirin_git_repos
             a/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/build_backend.py_create_build_metadatar'      s]   =(L ",$$ 	'ffhhnn&&G	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' "  ?DDJ /..*.. "e,,,K JNN#=>>M /..}.. x..',6K!$44O 8nn#f,G..""K   PQQQ 
os	#	# 8q	@AAA	.'...///	6k6667778 8 8 8 8 8 8 8 8 8 8 8 8 8 8
 

?g
?
?@@@Ns$   'A""A&)A&AF22F69F6pathcontentreturnc                     |                                  r|                                 |k    rd S | j                            dd           |                     |           d S )NTparentsexist_ok)r   	read_textr   mkdir
write_text)r(   r)   s     r&   write_if_differentr2   N   s^    {{}} ))W44KdT222OOG    Tc                      t                               dd           dt          dt          dd f fd} |dd            |d	d
            |dd            |dd           d S )NTr,   sourcetargetr*   c                    t           | z  }t          |z  }|                                rf|                                r|                                 n=|                                rt          j        |           n|                                 r|                    |d           d S |                                rt          j	        ||dd           d S d S )NT)target_is_directoryF)symlinksdirs_exist_ok)
r   	_data_dirr   
is_symlinkunlinkis_dirshutilrmtree
symlink_tocopytree)r5   r6   srcdstuse_symlinkss       r&   lnz_create_data_dir.<locals>.lnX   s    fn& ::<< 	~~ 

 c""""

 	NNN3DN99999 zz|| NS5MMMMMMN Nr3   z3rdparty/cutlasscutlassz3rdparty/spdlogspdlogcsrcinclude)r;   r0   str)rE   rF   s   ` r&   _create_data_dirrL   U   s    OOD4O000N3 N N N N N N N N$ B9%%%B(###BvvBy)r3   c            	      l   t                                           rt          j        t                      t	          d           t
          dz  } |                                 rQ|                     d          D ]=}t          j        |t
          d|j        	                    d           dz             <d S d S )NFrE   licensesz*.txtzLICENSE.z.txt)
r;   r   r?   r@   rL   r   globcopy2stemremoveprefix)licenses_dirlicense_files     r&   _prepare_for_wheelrV   p   s     !i   %(((( :%L (--g66 	 	LLS<#4#A#A*#M#MSSSS    	 	r3   c                      t                                           rt          j        t                      t	          d           d S )NTrN   r;   r   r?   r@   rL    r3   r&   _prepare_for_editablerZ      s=     !i   $''''''r3   c                      t                                           rt          j        t                      t	          d           d S )NFrN   rX   rY   r3   r&   _prepare_for_sdistr\      s=     !i   %((((((r3   c                 "    t                       g S N)rV   config_settingss    r&   get_requires_for_build_wheelra          Ir3   c                 "    t                       g S r^   )r\   r_   s    r&   get_requires_for_build_sdistrd      rb   r3   c                 "    t                       g S r^   )rZ   r_   s    r&   get_requires_for_build_editablerf      s    Ir3   c                 H    t                       t          j        | |          S r^   )rV   orig prepare_metadata_for_build_wheelmetadata_directoryr`   s     r&   ri   ri      s"    01C_UUUr3   c                 H    t                       t          j        | |          S r^   )rZ   rh   #prepare_metadata_for_build_editablerj   s     r&   rm   rm      s"    34FXXXr3   c                 J    t                       t          j        | ||          S r^   )rZ   rh   build_editablewheel_directoryr`   rk   s      r&   ro   ro      s$    ASTTTr3   c                 H    t                       t          j        | |          S r^   )r\   rh   build_sdist)sdist_directoryr`   s     r&   rs   rs      s!    O_===r3   c                 J    t                       t          j        | ||          S r^   )rV   rh   build_wheelrp   s      r&   rv   rv      s$    O_>PQQQr3   )Tr^   )NN)__doc__r   r?   pathlibr   
setuptoolsr   rh   build_utilsr   r   r   resolver   r;   r'   rK   r2   rL   rV   rZ   r\   ra   rd   rf   ri   rm   ro   rs   rv   rY   r3   r&   <module>r|      s     
			        ) ) ) ) ) ) ' ' ' ' ' 'X%%''L 6)	+ + +^     T C D       6   ( ( () ) )   
   
   
V V V V
Y Y Y Y
U U U U
> > > >
R R R R R Rr3   