§
    ƒnócÕ  ã                  óV   — d dl mZ d dlmZ d dlZdZdZdZdZdZ	 G d	„ d
e¦  «        Z
dS )é    )Úannotations)Ú
SampleImplNzOvoid main (string[] args) {{
    stdout.printf ("Hello {project_name}!\n");
}}
a  project('{project_name}', ['c', 'vala'],
  version : '{version}')

dependencies = [
    dependency('glib-2.0'),
    dependency('gobject-2.0'),
]

exe = executable('{exe_name}', '{source_name}', dependencies : dependencies,
  install : true)

test('basic', exe)
z�namespace {namespace} {{
    public int sum(int a, int b) {{
        return(a + b);
    }}

    public int square(int a) {{
        return(a * a);
    }}
}}
z¶using {namespace};

public void main() {{
    stdout.printf("
Testing shlib");
    stdout.printf("
	2 + 3 is %d", sum(2, 3));
    stdout.printf("
	8 squared is %d\n", square(8));
}}
aÎ  project('{project_name}', ['c', 'vala'],
  version : '{version}')

dependencies = [
    dependency('glib-2.0'),
    dependency('gobject-2.0'),
]

# These arguments are only used to build the shared library
# not the executables that use the library.
shlib = shared_library('foo', '{source_file}',
               dependencies: dependencies,
               install: true,
               install_dir: [true, true, true])

test_exe = executable('{test_exe_name}', '{test_source_file}', dependencies : dependencies,
  link_with : shlib)
test('{test_name}', test_exe)

# Make this library usable as a Meson subproject.
{ltoken}_dep = declare_dependency(
  include_directories: include_directories('.'),
  link_with : shlib)
c                  ó.   ‡ — e Zd Zˆ fd„Zdd„Zdd„Zˆ xZS )ÚValaProjectc                óx   •— t          ¦   «                              ¦   «          |j        | _        |j        | _        d S )N)ÚsuperÚ__init__ÚnameÚversion)ÚselfÚoptionsÚ	__class__s     €úD/usr/lib/python3/dist-packages/mesonbuild/templates/valatemplates.pyr	   zValaProject.__init__W   s/   ø€ Ý‰Œ×ÒÑÔÐØ”LˆŒ	Ø”ˆŒˆˆó    ÚreturnÚNonec                ó†  — t          j        dd| j                             ¦   «         ¦  «        }|dz   }t	          |dd¬¦  «                             t                               | j        ¬¦  «        ¦  «         t	          ddd¬¦  «                             t                               | j        ||| j	        ¬	¦  «        ¦  «         d S )
Nú	[^a-z0-9]Ú_ú.valaÚwúutf-8©Úencoding)Úproject_nameúmeson.build)r   Úexe_nameÚsource_namer   )
ÚreÚsubr
   ÚlowerÚopenÚwriteÚhello_vala_templateÚformatÚhello_vala_meson_templater   )r   Úlowercase_tokenr   s      r   Úcreate_executablezValaProject.create_executable\   sÃ   € Ýœ& ¨s°D´I·O²OÑ4EÔ4EÑFÔFˆØ%¨Ñ/ˆÝˆ[˜#¨Ð0Ñ0Ô0×6Ò6Õ7J×7QÒ7QÐ_cÔ_hÐ7QÑ7iÔ7iÑjÔjÐjÝˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Ý%×,Ò,¸$¼)Ø6EØ9DØ59´\ð -ñ Cô Cñ	Dô 	Dð 	Dð 	Dð 	Dr   c                ó:  — t          j        dd| j                             ¦   «         ¦  «        }|                     ¦   «         }|d         |dd …         z   }|dz   }|}|dz   }|dz   }||||||||| j        ||| j        dœ}t          |d	d
¬¦  «                             t          j	        di |¤Ž¦  «         t          |d	d
¬¦  «                             t          j	        di |¤Ž¦  «         t          dd	d
¬¦  «                             t          j	        di |¤Ž¦  «         d S )Nr   r   r   é   Ú_testr   z
_test.vala)ÚutokenÚltokenÚ
header_dirÚ
class_nameÚ	namespaceÚsource_fileÚtest_source_fileÚtest_exe_namer   Úlib_nameÚ	test_namer   r   r   r   r   © )r   r    r
   r!   Úupperr   r"   r#   Úlib_vala_templater%   Úlib_vala_test_templateÚlib_vala_meson_template)	r   r'   Úuppercase_tokenr/   r3   r0   Úlib_vala_nameÚtest_vala_nameÚkwargss	            r   Úcreate_libraryzValaProject.create_libraryf   sK  € Ýœ& ¨s°D´I·O²OÑ4EÔ4EÑFÔFˆØ)×/Ò/Ñ1Ô1ˆØ$ QÔ'¨/¸!¸"¸"Ô*=Ñ=ˆ
Ø'¨'Ñ1ˆØ#ˆ	Ø'¨'Ñ1ˆØ(¨<Ñ7ˆØ+Ø+Ø /Ø *Ø(Ø!.Ø&4Ø#0Ø"&¤)Ø-Ø.Ø!œ\ðð ˆõ 	ˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Õ9JÔ9QÐ9[Ð9[ÐTZÐ9[Ð9[Ñ\Ô\Ð\Ýˆ^˜S¨7Ð3Ñ3Ô3×9Ò9Õ:PÔ:WÐ:aÐ:aÐZ`Ð:aÐ:aÑbÔbÐbÝˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Õ9PÔ9WÐ9aÐ9aÐZ`Ð9aÐ9aÑbÔbÐbÐbÐbr   )r   r   )Ú__name__Ú
__module__Ú__qualname__r	   r(   r?   Ú__classcell__)r   s   @r   r   r   V   sl   ø€ € € € € ð'ð 'ð 'ð 'ð 'ð
Dð Dð Dð Dðcð cð cð cð cð cð cð cr   r   )Ú
__future__r   Úmesonbuild.templates.sampleimplr   r   r$   r&   r8   r9   r:   r   r6   r   r   ú<module>rF      sš   ðð #Ð "Ð "Ð "Ð "Ð "à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 	€	€	€	ðÐ ð
Ð ð	Ð ðÐ ðÐ ð4'cð 'cð 'cð 'cð 'c�*ñ 'cô 'cð 'cð 'cð 'cr   