§
    ¨éUgÓ  ã                   óB   — d Z ddlZddlZddlZddlZddlmZ d„ Zd„ ZdS )z,Helpers for OpenMP support during the build.é    Né   )Úcompile_test_programc                  ó€   — t           j        dk    rdgS t           j        dk    rdt          j        dd¦  «        v rg S dgS )NÚwin32z/openmpÚdarwinÚopenmpÚCPPFLAGSÚ z-fopenmp)ÚsysÚplatformÚosÚgetenv© ó    úb/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/_build_utils/openmp_helpers.pyÚget_openmp_flagr      sI   € Ý
„|�wÒÐØˆ{ÐÝ	Œ˜Ò	!Ð	! hµ"´)¸JÈÑ2KÔ2KÐ&KÐ&Kð ˆ	àˆ<Ðr   c                  óâ  — dt           j        v rdS t          j        d¦  «        } t          j        dd¦  «        }|�3|                     ¦   «                              d¦  «        }d„ |D ¦   «         }t          ¦   «         }d}	 t          | ||¬¦  «        }|r^d	|d
         v rTt          |d
                              ¦   «                              d¦  «        d         ¦  «        }t          |¦  «        |k    }ndt           j        v rd}nd}n# t          $ r}d}|}Y d}~nd}~ww xY w|sLt          j        d¦  «        rt          d¦  «        |‚t          j        d¦  «        }t          j        |¦  «         |S )z6Check whether OpenMP test code can be compiled and runÚPYODIDEFzÆ        #include <omp.h>
        #include <stdio.h>
        int main(void) {
        #pragma omp parallel
        printf("nthreads=%d\n", omp_get_num_threads());
        return 0;
        }
        ÚLDFLAGSNú c                 ó<   — g | ]}|                      d ¦  «        ¯|‘ŒS ))z-Lz
-Wl,-rpathz-lz-Wl,--sysroot=/)Ú
startswith)Ú.0Úflags     r   ú
<listcomp>z(check_openmp_support.<locals>.<listcomp>:   s;   € ð 
ð 
ð 
àØ�ŠÐLÑMÔMð
Øð
ð 
ð 
r   )Úextra_preargsÚextra_postargsz	nthreads=r   ú=r   ÚPYTHON_CROSSENVTÚSKLEARN_FAIL_NO_OPENMPz0Failed to build scikit-learn with OpenMP supportas  

                                ***********
                                * WARNING *
                                ***********

                It seems that scikit-learn cannot be built with OpenMP.

                - Make sure you have followed the installation instructions:

                    https://scikit-learn.org/dev/developers/advanced_installation.html

                - If your compiler supports OpenMP but you still see this
                  message, please submit a bug report at:

                    https://github.com/scikit-learn/scikit-learn/issues

                - The build will continue with OpenMP-based parallelism
                  disabled. Note however that some estimators will run in
                  sequential mode instead of leveraging thread-based
                  parallelism.

                                    ***
                )r   ÚenvironÚtextwrapÚdedentr   ÚstripÚsplitr   r   ÚintÚlenÚ	ExceptionÚwarningsÚwarn)	Úcoder   r   Úopenmp_exceptionÚoutputÚnthreadsÚopenmp_supportedÚ	exceptionÚmessages	            r   Úcheck_openmp_supportr2   #   sÍ  € à•B”JÐÐàˆuåŒ?ð	ñ
ô 
€Dõ ”I˜i¨Ñ.Ô.€MØÐ Ø%×+Ò+Ñ-Ô-×3Ò3°CÑ8Ô8ˆð
ð 
à%ð
ñ 
ô 
ˆõ %Ñ&Ô&€NàÐð%Ý%Ø ¸nð
ñ 
ô 
ˆð ð 		%�k V¨A¤YÐ.Ð.Ý˜6 !œ9Ÿ?š?Ñ,Ô,×2Ò2°3Ñ7Ô7¸Ô:Ñ;Ô;ˆHÝ" 6™{œ{¨hÒ6ÐÐØ¥"¤*Ð,Ð,ð  $ÐÐà$Ðøøåð %ð %ð %ð !ÐØ$ÐÐÐÐÐÐøøøøð%øøøð ð  #ÝŒ9Ð-Ñ.Ô.ð 	#ÝØBñô à#ð$õ ”oðñô ˆGõ4 ŒM˜'Ñ"Ô"Ð"àÐs   Â BD Ä
DÄDÄD)	Ú__doc__r   r   r"   r)   Úpre_build_helpersr   r   r2   r   r   r   ú<module>r5      sp   ðØ 2Ð 2ð 
€	€	€	Ø 
€
€
€
Ø €€€Ø €€€à 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð(\ð \ð \ð \ð \r   