On 8 June 2010 10:23, Chuck Blake <[email protected]> wrote:
> Hey, guys.  I did this a long time ago, but it patches cleanly against the
> cython-devel tip (at least yesterday's tip).
>
> There was some discussion of what the default should be for the #line/#file
> directives Robert added.  This is a hopefully non-contentious addition to
> support pushing that decision to higher levels of the build system.
>
> All this patch does is add pyrex_line_directives to support that.  It's
> an analogue of the extra attributes .pyrex_include_dirs going with -I,
> or .pyrex_cplus going with the --cplus command option, etc.
>
> This allows you to add .pyrex_line_directives to Extension() objects in
> your setup.py.  The appropriate command option is then added to the
> invocations of cython for those extensions, as it is for the -I/--cplus/..
> options.
>
> --------------------------------------------------------------------------
> diff -r dd29215de4a0 Cython/Distutils/build_ext.py
> --- a/Cython/Distutils/build_ext.py     Mon Jun 07 11:06:45 2010 -0700
> +++ b/Cython/Distutils/build_ext.py     Mon Jun 07 16:45:43 2010 -0400
> @@ -36,6 +36,8 @@
>          "generate C++ source files"),
>         ('pyrex-create-listing', None,
>          "write errors to a listing file"),
> +        ('pyrex-line-directives', None,
> +         "emit source line directives"),
>         ('pyrex-include-dirs=', None,
>          "path to the Cython include files" + sep_by),
>         ('pyrex-c-in-temp', None,
> @@ -45,13 +47,14 @@
>         ])
>
>     boolean_options.extend([
> -        'pyrex-cplus', 'pyrex-create-listing', 'pyrex-c-in-temp'
> +        'pyrex-cplus', 'pyrex-create-listing', 'pyrex-line-directives', 
> 'pyrex-c-in-temp'
>     ])
>
>     def initialize_options(self):
>         _build_ext.build_ext.initialize_options(self)
>         self.pyrex_cplus = 0
>         self.pyrex_create_listing = 0
> +        self.pyrex_line_directives = 0
>         self.pyrex_include_dirs = None
>         self.pyrex_c_in_temp = 0
>         self.pyrex_gen_pxi = 0
> @@ -114,6 +117,8 @@
>
>         create_listing = self.pyrex_create_listing or \
>             getattr(extension, 'pyrex_create_listing', 0)
> +        line_directives = self.pyrex_line_directives or \
> +            getattr(extension, 'pyrex_line_directives', 0)
>         cplus = self.pyrex_cplus or getattr(extension, 'pyrex_cplus', 0) or \
>                 (extension.language and extension.language.lower() == 'c++')
>         pyrex_gen_pxi = self.pyrex_gen_pxi or getattr(extension, 
> 'pyrex_gen_pxi', 0)
> @@ -186,6 +191,7 @@
>                     include_path = includes,
>                     output_file = target,
>                     cplus = cplus,
> +                    emit_linenums = line_directives,
>                     generate_pxi = pyrex_gen_pxi)
>                 result = cython_compile(source, options=options,
>                                         full_module_name=module_name)
> diff -r dd29215de4a0 Cython/Distutils/extension.py
> --- a/Cython/Distutils/extension.py     Mon Jun 07 11:06:45 2010 -0700
> +++ b/Cython/Distutils/extension.py     Mon Jun 07 16:45:43 2010 -0400
> @@ -21,6 +21,8 @@
>         Unix form for portability)
>     pyrex_create_listing_file : boolean
>         write pyrex error messages to a listing (.lis) file.
> +    pyrex_line_directivess : boolean
> +        emit pyx line numbers for debugging/profiling
>     pyrex_cplus : boolean
>         use the C++ compiler for compiling and linking.
>     pyrex_c_in_temp : boolean
> @@ -70,6 +72,7 @@
>
>         self.pyrex_include_dirs = pyrex_include_dirs or []
>         self.pyrex_create_listing = pyrex_create_listing
> +        self.pyrex_line_directives = pyrex_line_directives
>         self.pyrex_cplus = pyrex_cplus
>         self.pyrex_c_in_temp = pyrex_c_in_temp
>         self.pyrex_gen_pxi = pyrex_gen_pxi
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev
>

Looks fine. Could you generate the patch with hg export and send it attached?

-- 
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to