§
    ’A-S0  ã                   ón  — d Z ddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlmZmZmZmZ ddlmZ ddlZedd„¦   «         Zd„ Zd	„ Zed
„ ¦   «         Z edd¦  «         ed¦  «        d„ ¦   «         ¦   «         Z edd¦  «         ed¦  «        d„ ¦   «         ¦   «         Z G d„ dej        ¦  «        ZdS )zü
LV2 and LV2 Bundle Related Tools
------------------------
WARNING: At the time of writing, this file assumes you have called
autowaf.configure(conf)  in your configure target. TODO: Fix That

Written for waf-1.7.x . Have not tested previous versions.
é    N)ÚTaskGenÚTaskÚBuildÚOptionsÚUtilsÚErrors)Útaskgen_methodÚfeatureÚafter_methodÚbefore_method)Úconfú1.0.0c                 ó6   — t          j        | dd|¬¦  «         d S )NÚlv2ÚLV2)Úuselib_storeÚatleast_version)ÚautowafÚ	check_pkg)ÚselfÚmin_versions     ú&/git_repos/lvtk-1.2.0/tools/waf/lv2.pyÚ	check_lv2r      s"   € åÔ�4˜¨UÀKÐPÑPÔPÐPÐPÐPó    c                 óp   — | j         }|                     d¦  «        }|dk    r|d |…         dz   }n|dz   }|S )Nú.r   z.lv2)ÚnameÚrfind)Úoutr   Úks      r   Úbundle_name_for_outputr!      sC   € ØŒ€Ø	‡Z‚Z��_„_€Øˆ‚F€FØ	ˆbˆqˆbŒ�FÑ	€$€$à	�‰€$Ø€r   c                 óÚ   — | j         d         }|s| j         d         }|                     d¦  «        r
|dd …         }|| j         d<   ||                     d¦  «        d …         | j         d<   d S )NÚcshlib_PATTERNÚcxxshlib_PATTERNÚlibé   Úpluginlib_PATTERNr   Úpluginlib_EXT)ÚenvÚ
startswithr   )r   Úpats     r   Ú	configurer,   #   sw   € Ø„xÐ Ô!€Øð %ØŒÐ#Ô$€#Ø‡N‚N�5ÑÔð ØˆAˆBˆBŒ€#Ø!$€„Ð
ÑØ! #§)¢)¨C¡.¤. / /Ô2€„ˆ/ÑÐÐr   c                 óp   — | j         }|j                             |¦  «        }|                     ¦   «          |S )N)ÚbldÚparentÚfind_or_declareÚmkdir)r   r   r   r.   Údirs        r   Úcreate_bundle_dirr3   ,   s0   € àŒhˆØŒj×(Ò(¨Ñ.Ô.ˆØ�	Š	‰ŒˆØˆ
r   ÚcshlibÚcxxshlibÚ
apply_linkc                 ój   — t          | dd¦  «        sd S | j        d         x| j        d<   | j        d<   d S )NÚ
lv2_bundleFr'   r$   r#   )Úgetattrr)   ©r   s    r   Úfixup_sonamer;   4   sG   € õ 	��l EÑ*Ô*Ð2¨F¨Fð „(ÐÔð €„Ð
ÑØ„(ÐÑÐÐr   c           	      óÌ  — t          | dd¦  «        sd S | j        j        d         }	 t          | dt          |¦  «        ¦  «        }|                      ||¦  «        }|                     |j        g¦  «        }|                      d| j        j        |¦  «        | _        t          | dd¦  «        d|z  z   }| j	         
                    ||t          j        ¬	¦  «         	 t          | d
d¦  «        �rI|j        }|                      | j        ¦  «        D �]&}| j                             |¦  «        }|st%          j        d|›d| j	        ›�¦  «        ‚|j        }	t(          j                             |                     ¦   «         ¦  «        r|                     d¦  «        }
n|g}
|
D �]“}|                     |	¦  «        }t3          |¦  «        }d|v r§d|v rW|                      d||                     d¦  «        ¦  «        }| j	                             |ddz  z   |j        d         ¦  «         nK|                      d||                     d¦  «        ¦  «        }| j	                             |ddz  z   |¦  «         ŒÒd|v rrt(          j                             |¦  «        d         }|                      d||                     |¦  «        ¦  «        }| j	                             |d|z  z   |¦  «         �ŒH|                      d||                     |¦  «        ¦  «        }| j	                             |d|z  z   |¦  «         �Œ•�Œ(t          | j	        dd ¦  «        rt:          j        | j        _         d S d S )Nr8   Fr   Ú
lv2_targetr   Úinstall_pathz	${LV2DIR}z/%s/)ÚchmodÚlv2_resourceszMissing lv2_resource z in z**zmanifest.ttlzttl.inÚsubstz/%sz.ttl.inÚ
is_install)!r9   Ú	link_taskÚoutputsr!   r3   r0   r   Úcreate_taskÚapptaskr.   Úinstall_filesr   ÚO755r/   Úto_listr@   ÚpathÚ	find_noder   ÚWafErrorÚosÚisdirÚabspathÚant_globÚ	path_fromÚstrÚ	make_nodeÚ
install_asÚsplitextr   ÚSKIP_MEÚinstall_taskÚhasrun)r   r   r   r2   ÚpluginÚinst_toÚres_dirÚxÚnoder/   ÚnodesÚrelÚrelstrÚtskÚturtles                  r   Úcreate_task_lv2pluginrc   ?   sW  € õ 	��l EÑ*Ô*Ð2¨F¨Fà„~Ô˜aÔ €ðå��lÕ$:¸3Ñ$?Ô$?Ñ@Ô@€à×Ò˜d CÑ(Ô(€Ø
×
Ò
˜sœx˜jÑ
)Ô
)€à× Ò  ¨¬Ô(>ÀÑGÔG€„å�4˜¨Ñ5Ô5¸À¹ÑE€Ø„×Ò˜ ­u¬zÐÑ:Ô:Ð:ðõ ˆD�/ 5Ñ)Ô)ñ #5ØŒM€'à�<Š<˜Ô*Ñ+Ô+ð  5ñ  5€aØ
Œ)×
Ò
˜aÑ
 Ô
 €4Ø
ð KÝ
Œ/ˆ/¸Q¸Q¸QÀÄÀÐIÑ
JÔ
JÐJàŒK€6Ý„g‡m‚m�D—L’L‘N”NÑ#Ô#ð Ø�MŠM˜$ÑÔ€E€EàˆF€EØð 5ñ 5€tØ�^Š^˜FÑ#Ô#€CÝ�‰XŒX€Fð ˜ÐÐØ�FÐÐØ×Ò˜W d¨G×,=Ò,=¸nÑ,MÔ,MÑNÔN€cØ
„h×Ò˜' E¨NÑ$:Ñ:¸C¼KÈ¼NÑKÔKÐKÐKà×Ò˜U D¨'×*;Ò*;¸NÑ*KÔ*KÑLÔL€cØ
„h×Ò˜' E¨NÑ$:Ñ:¸DÑAÔAÐAØà�FÐÐÝŒg×Ò˜vÑ&Ô& qÔ)€VØ×Ò˜G T¨7×+<Ò+<¸VÑ+DÔ+DÑEÔE€SØ	„X×Ò˜ 5¨6¡>Ñ1°4Ñ8Ô8Ð8Ùð ×
Ò
˜5 $¨×(9Ò(9¸#Ñ(>Ô(>Ñ
?Ô
?€CØ„H×Ò˜ %¨#¡+Ñ-¨tÑ4Ô4Ð4Ñ4ñ-5õ0 ˆDŒH�l DÑ)Ô)ð *å!œ\€$ÔÔÐÐð*ð *r   c                   ó   — e Zd ZdZdZd„ ZdS )r   z
	Create lv2 bundles
	ÚPINKc                 óì   — | j         d         j                             ¦   «          t          j        | j        d                              ¦   «         | j         d                              ¦   «         ¦  «         d S )Nr   )rD   r/   r1   ÚshutilÚcopy2ÚinputsÚsrcpathrO   r:   s    r   Úrunzlv2.run…   sY   € Ø„,ˆq„/Ô×ÒÑ Ô Ð Ý„,ˆtŒ{˜1Œ~×%Ò%Ñ'Ô'¨¬°a¬×)@Ò)@Ñ)BÔ)BÑCÔCÐCÐCÐCr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úcolorrk   © r   r   r   r   €   s9   € € € € € ðð ð 
€ðDð Dð Dð Dð Dr   r   )r   )ro   rM   rg   ÚsysÚplatformÚwaflibr   r   r   r   r   r   Úwaflib.TaskGenr	   r
   r   r   Úwaflib.Configurer   r   r   r!   r,   r3   r;   rc   r   rq   r   r   ú<module>rw      sÆ  ðð
ð ð !Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ !Ð !Ð !Ð !Ð !Ð !à €€€àðQð Qð Qñ „ðQðð ð ð3ð 3ð 3ð ðð ñ „ðð 	€ˆ�*ÑÔØ€ˆ|ÑÔð ð  ñ Ôñ Ôð ð 	€ˆ�*ÑÔØ€ˆlÑÔð<*ð <*ñ Ôñ Ôð<*ð~Dð Dð Dð Dð Dˆ$Œ)ñ Dô Dð Dð Dð Dr   