-
Notifications
You must be signed in to change notification settings - Fork 19
Conversation
Has this been tried on a couple of examples, and on Windows and Unix-like? |
I tested it with Alien::FFI and Alien::Editline ... they are not on CPAN yet, I was developing them mostly as examples. They do the right thing on Linux and Windows. |
Good enough for me: aye. |
Nice! Looking at line 32 of lib/Alien/Editline.pm, I see that it suggests calling the
This function isn't in Alien::Base yet, is it? If an easy interface like that is available, I would say merge this. Merge: Aye. |
@zmughal good catch.
Now that I write this though I think it should be Preferences anyone? |
Also I should write some documentation for the dynamic_libs sub |
I like Aside: when I was making |
I like |
add property alien_isolate_dynamic
Oops forgot to change name, but did so with this commit: |
add property alien_isolate_dynamic
add property alien_isolate_dynamic
add property alien_isolate_dynamic
add property alien_isolate_dynamic
add property alien_isolate_dynamic
Alien-Base: Alien-Base: add property alien_isolate_dynamic
This is my proposed solution for #11. It isolates the dynamic libraries into a separate directory so they will not be considered when creating XS modules. This is only done when alien_isolate_dynamic is set to true. For this to be useful, the author of a
Alien::Foo
module will need to build position independent code on platforms that require it, in which case also accepting #47 or something similar will be highly desirable.There are a number of advantages to forcing static libraries when building XS modules:
Alien::Foo
will no longer breakFoo::XS
. The downside is thatFoo::XS
will still be using the old version oflibfoo
, but I believe this is better than breaking the module.Alien::Foo
is no longer a run time dep forFoo::XS
(just a build dep) so there is less to loadThere are also risks, but given that this
alien_isolate_dynamic
is optional they seem to be minimal.That being said I think there is an argument for making
alien_isolate_dynamic
true by default, if not immediately, then some time down the road. I think the number ofAlien::Foo
type dists that would benefit from this feature is probably larger than the number with risks.