[
https://issues.apache.org/jira/browse/LUCY-215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Wellnhofer updated LUCY-215:
---------------------------------
Attachment: 0008-LUCY-215-Use-Module-Build-s-include_dirs.patch
0007-LUCY-215-Derive-build-file-names-from-module_name.patch
0006-LUCY-215-Use-Module-Build-s-dist_version.patch
0005-LUCY-215-Process-Binding-classes-from-all-namespaces.patch
0004-LUCY-215-Derive-parcel-and-boot_class-from-module_na.patch
Patches 0004 - 0008 contain some changes to Lucy::Build that are in preparation
of breaking out parts of it into Clownfish::CFC::Perl::Build. Many build
parameters can be handled using the Module::Build machinery.
The following parameters still need work:
h4. Extra C sources
Module::Build has a 'c_source' parameter that also supports a list of
directories starting with version 0.3604. If we start using this parameter, I
think we can even remove ACTION_compile_custom_xs completely and let M::B
compile and link all .xs and .c files. If we don't want to bump the M::B
version requirement, we have to find another way to pass extra C source dirs.
h4. Clownfish include dirs
The directories with .cfh files to include. For now, a switch that turns the
Clownfish/_include dirs in $Config{installsitearch} and
$Config{installvendorarch} on or off should be enough.
h4. Autogen header
Since the autogen header might contain a license, there should be a way for
extensions to set their own header.
> 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
>
>
> 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