§
    ƒnóc1  ã                  ó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)Ú
SampleImplNa  module main;
import std.stdio;

enum PROJECT_NAME = "{project_name}";

int main(string[] args) {{
    if (args.length != 1){{
        writefln("%s takes no arguments.\n", args[0]);
        return 1;
    }}
    writefln("This is project %s.\n", PROJECT_NAME);
    return 0;
}}
z»project('{project_name}', 'd',
    version : '{version}',
    default_options: ['warning_level=3'])

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

test('basic', exe)
zämodule {module_file};

/* This function will not be exported and is not
 * directly callable by users of this library.
 */
int internal_function() {{
    return 0;
}}

int {function_name}() {{
    return internal_function();
}}
zímodule {module_file}_test;
import std.stdio;
import {module_file};


int main(string[] args) {{
    if (args.length != 1){{
        writefln("%s takes no arguments.\n", args[0]);
        return 1;
    }}
    return {function_name}();
}}
at  project('{project_name}', 'd',
  version : '{version}',
  default_options : ['warning_level=3'])

stlib = static_library('{lib_name}', '{source_file}',
  install : true,
  gnu_symbol_visibility : 'hidden',
)

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

# Make this library usable as a Meson subproject.
{ltoken}_dep = declare_dependency(
  include_directories: include_directories('.'),
  link_with : stlib)

# Make this library usable from the Dlang
# build system.
dlang_mod = import('dlang')
if find_program('dub', required: false).found()
  dlang_mod.generate_dub_file(meson.project_name().to_lower(), meson.source_root(),
    name : meson.project_name(),
    license: meson.project_license(),
    sourceFiles : '{source_file}',
    description : 'Meson sample project.',
    version : '{version}',
  )
endif
c                  ó.   ‡ — e Zd Zˆ fd„Zdd„Zdd„Zˆ xZS )ÚDlangProjectc                óx   •— t          ¦   «                              ¦   «          |j        | _        |j        | _        d S )N)ÚsuperÚ__init__ÚnameÚversion)ÚselfÚoptionsÚ	__class__s     €úE/usr/lib/python3/dist-packages/mesonbuild/templates/dlangtemplates.pyr	   zDlangProject.__init__k   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]Ú_ú.dÚwúutf-8©Úencoding)Úproject_nameúmeson.build)r   Úexe_nameÚsource_namer   )
ÚreÚsubr
   ÚlowerÚopenÚwriteÚhello_d_templateÚformatÚhello_d_meson_templater   )r   Úlowercase_tokenr   s      r   Úcreate_executablezDlangProject.create_executablep   sÃ   € Ýœ& ¨s°D´I·O²OÑ4EÔ4EÑFÔFˆØ%¨Ñ,ˆÝˆ[˜#¨Ð0Ñ0Ô0×6Ò6Õ7G×7NÒ7NÐ\`Ô\eÐ7NÑ7fÔ7fÑgÔgÐgÝˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Ý"×)Ò)°t´yØ3BØ6AØ26´,ð *ñ @ô @ñ	Aô 	Að 	Að 	Að 	A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   é   Ú_funcÚ_testr   z_test.d)ÚutokenÚltokenÚ
header_dirÚfunction_nameÚmodule_fileÚsource_fileÚtest_source_fileÚtest_exe_namer   Úlib_nameÚ	test_namer   r   r   r   r   © )r   r    r
   r!   Úupperr   r"   r#   Úlib_d_templater%   Úlib_d_test_templateÚlib_d_meson_template)	r   r'   Úuppercase_tokenr0   r4   Ú
lib_m_nameÚ
lib_d_nameÚtest_d_nameÚkwargss	            r   Úcreate_libraryzDlangProject.create_libraryz   sD  € Ýœ& ¨s°D´I·O²OÑ4EÔ4EÑFÔFˆØ)×/Ò/Ñ1Ô1ˆØ'¨¨!¨Ô,¨wÑ6ˆØ'¨'Ñ1ˆØ$ˆ
Ø$ tÑ+ˆ
Ø%¨	Ñ1ˆØ+Ø+Ø /Ø#0Ø!+Ø!+Ø&1Ø#0Ø"&¤)Ø-Ø.Ø!œ\ðð ˆõ 	ˆZ˜ wÐ/Ñ/Ô/×5Ò5µnÔ6KÐ6UÐ6UÈfÐ6UÐ6UÑVÔVÐVÝˆ[˜#¨Ð0Ñ0Ô0×6Ò6Õ7JÔ7QÐ7[Ð7[ÐTZÐ7[Ð7[Ñ\Ô\Ð\Ýˆ]˜C¨'Ð2Ñ2Ô2×8Ò8Õ9MÔ9TÐ9^Ð9^ÐW]Ð9^Ð9^Ñ_Ô_Ð_Ð_Ð_r   )r   r   )Ú__name__Ú
__module__Ú__qualname__r	   r(   rA   Ú__classcell__)r   s   @r   r   r   j   sl   ø€ € € € € ð'ð 'ð 'ð 'ð 'ð
Að Að Að Að`ð `ð `ð `ð `ð `ð `ð `r   r   )Ú
__future__r   Úmesonbuild.templates.sampleimplr   r   r$   r&   r9   r:   r;   r   r7   r   r   ú<module>rH      sš   ðð #Ð "Ð "Ð "Ð "Ð "à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 	€	€	€	ðÐ ðÐ ð€ðÐ ðÐ ðB'`ð '`ð '`ð '`ð '`�:ñ '`ô '`ð '`ð '`ð '`r   