On Sat, 26 Jan 2008, Allison Randal via RT wrote:

> The attached patch allows 'make' to complete on my OS X box, and passes
> 'make test'.

> --- tools/dev/pbc_to_exe_gen.pl       (revision 25264)
> +++ tools/dev/pbc_to_exe_gen.pl       (working copy)
> @@ -351,6 +351,11 @@
>      .local string link
>      link  = ld
>      link .= ' '
> +    
> +    unless osname == 'darwin' goto not_darwin
> +      link .= '-undefined dynamic_lookup '
> +    not_darwin:
> +

I understand and sympathize with wanting to just get past this problem,
but this looks to me like layering more magic to undo the bad magic
applied earlier.  It doesn't look sustainable, maintainable, or even
likely to be right in the long run.  I can't test any of this myself,
and it may be that gcc/ld isn't quite getting the symbol hiding stuff
right anyway.

What I'd be tempted to do is rip all the hiding stuff and the 'undefined
suppress' out of the darwin hints and go back to the static build.
The dynamic build doesn't buy you anything anyway.  You can't install
it, it doesn't make parrot run any faster, and it doesn't save you
significantly on disk space since there aren't lots of executables
embedding the parrot interpreter.  It's just wasting your time.

I'd say rip it out and let someone who understands all the darwin-specific
behavior well worry about putting it in, *commenting it in the hints
file*, and maintaining it.

-- 
    Andy Dougherty              [EMAIL PROTECTED]

Reply via email to