GitHub user nwellnhof opened a pull request:

    https://github.com/apache/lucy-clownfish/pull/74

    Build separate test binaries

    This brings the size of the Clownfish library down to 95 KB on 32-bit 
Ubuntu (with `-fno-asynchronous-unwind-tables`), 88 KB on 64-bit Windows, and 
82 KB on OS X.
    
    Fixes CLOWNFISH-80.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nwellnhof/lucy-clownfish separate-tests

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/lucy-clownfish/pull/74.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #74
    
----
commit 5bda4dadd15edf1cd9c0b1d171b99dcf935a6c68
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:06Z

    Rename core directory to "cfcore" for CPAN tarball

commit 8ba4e61987f00db2624818c4fa1a6f9c1b4f79b8
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:13Z

    Move tests to separate directory

commit 83c9045079e5e5e21b487feaaeb5a506108b24b3
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:18Z

    Make some internal symbols visible
    
    Otherwise the separate test binary can't see them.

commit 24fb4d901a56a59913c9ff5a5e67840540215a48
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:23Z

    Disable a test in TestClass
    
    Ivars offsets aren't visible from a separate test binary.

commit a80e405ea7878f2eafc3562ab35c3e9ba6eff0c4
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:27Z

    Add "xs_prereqs" module parameter
    
    This parameter lists the names of other Clownfish XS modules whose
    symbols are referenced from a module. The corresponding libraries
    are linked against on Windows.
    
    This obviates the need to call cf_linker_flags manually.
    
    If we start to install parcel metadata, it should be possible to
    determine the XS prerequisites automatically (see CLOWNFISH-83).

commit ef738c212adbed879cc75ab49675deae4f6e8b04
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:30Z

    Separate test binaries
    
    The C bindings build a separate shared library libcfishtest.so.
    Building a static library would simplify things a little but would
    require another per-parcel macro on Windows (like
    CFP_STATIC_TESTCFISH).
    
    The Perl bindings build a separate XS module Clownfish::Test.
    
    For the Go and Python bindings, a separate static library
    libtestcfish.a is built.

commit bad95e074b7cf094cf8c06205f7b1c41ddcaa45b
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:36Z

    Bump ExtUtils::ParseXS dependency to 3.00
    
    Older versions wouldn't clear the @BootCode global and mess up the
    BOOT section when building multiple XS files.

commit 3764180f0e7b5893f79d7ecb806b7106dd530b29
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:39Z

    Fix shared library compilation for Python
    
    Untested. AFAIU, the static library built for Python is linked into
    a shared library later. This requires to use -fPIC and define
    CFP_CFISH.
    
    I think it would be better if the Python bindings followed the
    approach I took for Perl: Pass a list of object files instead of
    using a static library.

commit a45abf04a63b7a9d0a2fc40af79216d8778d4d84
Author: Nick Wellnhofer <[email protected]>
Date:   2016-07-08T11:57:47Z

    Fix Makefile paths for Perl CPAN build

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to