U
    SA{ih
  ã                   @   sH   d Z ddlZddlZddlZddlmZmZ ddlZejj	dd„ ƒZ
dS )z$Tests for numpy.distutils.build_ext.é    N)ÚindentÚdedentc                 C   st  ddl m} |ƒ st d¡ t| d dƒ�}| ttdƒdd�¡ W 5 Q R X t| d	 dƒ�}| ttd
ƒdd�¡ W 5 Q R X t| d dƒ�}| d¡ W 5 Q R X t| d dƒ�6}tj	 
tj	 t¡ddd¡}| td|› d�ƒ¡ W 5 Q R X | }tjtjddddt| d ƒdt| d ƒgt|ƒd� d}t| d ƒ�*}|D ]}d|k�r8| ¡ } �qX�q8W 5 Q R X |dk	�spt‚dS )zY
    Ensures multiple "fake" static libraries are correctly linked.
    see gh-18295
    r   )Úhas_f77_compilerzNo F77 compiler foundz	_dummy1.fÚwzL            FUNCTION dummy_one()
            RETURN
            END FUNCTIONz      )Úprefixz	_dummy2.fzL            FUNCTION dummy_two()
            RETURN
            END FUNCTIONz_dummy.czint PyInit_dummyext;zsetup.pyz..a@              def configuration(parent_package="", top_path=None):
                from numpy.distutils.misc_util import Configuration
                config = Configuration("", parent_package, top_path)
                config.add_library("dummy1", sources=["_dummy1.f"])
                config.add_library("dummy2", sources=["_dummy2.f"])
                config.add_extension("dummyext", sources=["_dummy.c"], libraries=["dummy1", "dummy2"])
                return config


            if __name__ == "__main__":
                import sys
                sys.path.insert(0, r"zv")
                from numpy.distutils.core import setup
                setup(**configuration(top_path="").todict())ÚbuildÚinstallz--prefixZ
installdirz--recordztmp_install_log.txt)ÚcwdNZdummyext)Znumpy.f2py.tests.utilr   ÚpytestÚskipÚopenÚwriter   r   ÚosÚpathÚjoinÚdirnameÚ__file__Ú
subprocessÚ
check_callÚsysÚ
executableÚstrÚstripÚAssertionError)Ztmp_pathr   ZfidZsrctreeÚ	build_dirÚsoÚline© r   úH/tmp/pip-unpacked-wheel-m6chaliv/numpy/distutils/tests/test_build_ext.pyÚtest_multi_fortran_libs_link	   sD    

ýýô 
 
þü
r   )Ú__doc__r   r   r   Útextwrapr   r   r
   ÚmarkZslowr   r   r   r   r   Ú<module>   s   