Index: config/inter/libparrot.pm =================================================================== --- config/inter/libparrot.pm (revision 10892) +++ config/inter/libparrot.pm (working copy) @@ -51,7 +51,7 @@ ); $conf->data->set( - rpath_blib => ($libparrot_is_shared) + rpath_blib => ($libparrot_is_shared) && $conf->data->get('rpath') ? $conf->data->get('rpath') . $conf->data->get('build_dir') . Index: config/init/hints/darwin.pm =================================================================== --- config/init/hints/darwin.pm (revision 10892) +++ config/init/hints/darwin.pm (working copy) @@ -34,10 +34,21 @@ load_ext => '.bundle', link => 'c++', ld => 'c++', - ld_share_flags => '-dynamiclib', + ld_share_flags => '-dynamiclib -undefined suppress', ld_load_flags => '-bundle -undefined suppress', memalign => 'some_memalign', - libparrot_is_shared => 0, + libparrot_is_shared => 1, + rpath => '', + + # This variable needs renaming to be more general + libparrot_soname => "-install_name " . + $conf->data->get('build_dir') . + $conf->data->get('slash') . + $conf->data->get('blib_dir') . + $conf->data->get('slash') . + "libparrot" . + $conf->data->get('share_ext') + ); }