o
    Y۷i                     @   sZ   d Z ddlZddlZddlmZ ddlmZ defddZdd	d
Z	e
d
kr+e	  dS dS )z6Config utilities for finding paths to lib and headers.    N)Path   )libinforeturnc                  C   s   t t } t| jS )z'Find the library directory for tvm-ffi.)r   r   find_libtvm_ffistrparent)
libtvm_ffi r
   D/home/ubuntu/vllm_env/lib/python3.10/site-packages/tvm_ffi/config.py_find_libdir   s   
r   c                  C   s$  t jdd} | jdddd | jdddd | jd	dd
d | jdddd | jdddd | jddd
d | jdddd | jdddd | jdddd | jdddd | jdddd |  }ttjdkro|   dS |jrxt	t
  |jrt	t
  |jrt	t
  |jrt	t  |jrtjdrt	t
  nt	t
  |jrt	t
  |jrt	t
  |jrt
 }t
 }t	d| d| d |jrt
 }t
 }t	d| d|  |jrtjdrt	t
  nt	d  |jrtjdst	d!t   dS dS dS )"z?Parse CLI args and print build and include configuration paths.zDGet various configuration information needed to compile with tvm-ffi)descriptionz--includedir
store_truezPrint include directory)actionhelpz--dlpack-includedirzPrint dlpack include directoryz
--cmakedirzPrint library directoryz--sourcedirzPrint source directoryz
--libfilesz!Fully qualified library filenamesz--libdirz--libszLibraries to be linkedz--cython-lib-pathzPrint cython pathz
--cxxflagszPrint cxx flagsz--cflagszPrint c flagsz	--ldflagszPrint ld flagsr   Nwin32z-Iz -Iz -std=c++17z	-ltvm_ffiz-L)argparseArgumentParseradd_argument
parse_argslensysargv
print_help
includedirprintr   find_include_pathdlpack_includedirfind_dlpack_include_pathcmakedirfind_cmake_pathlibdirr   libfilesplatform
startswithfind_windows_implibr   	sourcedirfind_source_pathcython_lib_pathfind_cython_libcxxflagscflagslibsldflags)parserargsinclude_dirdlpack_include_dirr
   r
   r   __main__    sn   
r2   )r   N)__doc__r   r   pathlibr    r   r   r   r2   __name__r
   r
   r
   r   <module>   s   
@
