[ 
https://issues.apache.org/jira/browse/LUCY-215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Wellnhofer updated LUCY-215:
---------------------------------

    Attachment: 0019-LUCY-215-Add-autogen-source-directly-to-CF-build-sou.patch
                0018-LUCY-215-Supply-some-build-params-via-Lucy-Build-con.patch
                0017-LUCY-215-Add-C-C-P-B-cf_base_path.patch
                0016-LUCY-215-Introduce-C-C-P-B-cf_copy_include.patch

Patches up to 0015 are now committed to trunk including changes that were 
discussed on lucy-dev.

Here are some additional patches 0016 - 0019 that I'd like to add on top of my 
previous work.

As I noted on lucy-dev I think we should make it easy for extension writers to 
work with the same "core", "lucy", "ruby" directory layout for their 
extensions. This includes copying "core" and possibly other files to the host 
language directory when building distributions. I added a 
C::C::P::B->cf_base_path methods to help with that.

I'd also like to create a "dist" action in C::C::P::B based on ACTION_dist in 
Lucy::Build that helps with building extensions distros.

                
> Support extensions written in C
> -------------------------------
>
>                 Key: LUCY-215
>                 URL: https://issues.apache.org/jira/browse/LUCY-215
>             Project: Lucy
>          Issue Type: New Feature
>          Components: Clownfish
>            Reporter: Nick Wellnhofer
>            Assignee: Nick Wellnhofer
>         Attachments: 0001-Use-path_part-instead-of-source_class-in-CFC.patch, 
> 0002-Implement-CFCFileSpec.patch, 
> 0003-LUCY-215-Allow-filename-clash-between-source-and-inc.patch, 
> 0004-LUCY-215-Derive-parcel-and-boot_class-from-module_na.patch, 
> 0005-LUCY-215-Process-Binding-classes-from-all-namespaces.patch, 
> 0006-LUCY-215-Use-Module-Build-s-dist_version.patch, 
> 0007-LUCY-215-Derive-build-file-names-from-module_name.patch, 
> 0008-LUCY-215-Use-Module-Build-s-include_dirs.patch, 
> 0009-LUCY-215-Custom-Module-Build-property-for-extra-buil.patch, 
> 0010-LUCY-215-Add-build-param-for-extra-C-sources.patch, 
> 0011-LUCY-215-Add-build-param-for-Clownfish-include-dirs.patch, 
> 0012-LUCY-215-Add-build-param-for-autogen-header.patch, 
> 0013-LUCY-215-Break-out-Clownfish-CFC-Perl-Build.patch, 
> 0014-LUCY-215-Add-build-param-for-core-source-dir.patch, 
> 0015-LUCY-215-Rework-installation-of-Clownfish-includes.patch, 
> 0016-LUCY-215-Introduce-C-C-P-B-cf_copy_include.patch, 
> 0017-LUCY-215-Add-C-C-P-B-cf_base_path.patch, 
> 0018-LUCY-215-Supply-some-build-params-via-Lucy-Build-con.patch, 
> 0019-LUCY-215-Add-autogen-source-directly-to-CF-build-sou.patch, Build.PL
>
>
> Currently, all Lucy extensions that contain C code must be shipped with the 
> Lucy source tree. In order to support external C-based extensions, Clownfish 
> must be able to compile .cfh files that extend classes from a separate source 
> tree. As discussed on the mailing list, a solution could look like this:
> * Install the .cfh files together with Lucy.
> * When building the extension, rebuild the complete Clownfish hierarchy 
> together with the new classes.
> * Generate C headers, regenerating the headers for Lucy's core classes.
> * Compile the extension.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to