U
    ;vf
                     @   sd   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ddlm	Z	 ej
je	ddej
jdd ZdS )	z$Tests for numpy.distutils.build_ext.    N)indentdedent)IS_WASMzcannot start subprocess in wasm)reasonc                 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-sdaoq5e2/numpy/distutils/tests/test_build_ext.pytest_multi_fortran_libs_link
   sD    
 
 

r!   )__doc__r   r   r   textwrapr   r   r   Znumpy.testingr   markZskipifZslowr!   r   r   r   r    <module>   s   