[svn:parrot] r38495 - trunk/ports/macports

coke at svn.parrot.org coke at svn.parrot.org
Tue May 5 18:52:44 UTC 2009


Author: coke
Date: Tue May  5 18:52:42 2009
New Revision: 38495
URL: https://trac.parrot.org/parrot/changeset/38495

Log:
When installing on OSX, fixup not only the executable library links, but
those of the compiled dynext files.

this doesn't address the issues in the actual libparrot.*dylib shared library, though, which seems to still depend on the build directory.

Modified:
   trunk/ports/macports/Portfile

Modified: trunk/ports/macports/Portfile
==============================================================================
--- trunk/ports/macports/Portfile	Tue May  5 17:51:39 2009	(r38494)
+++ trunk/ports/macports/Portfile	Tue May  5 18:52:42 2009	(r38495)
@@ -46,6 +46,13 @@
 	set bindir	${destroot}${prefix}/bin
 	set docdir      ${destroot}${prefix}/share/doc/${name}
 
+        # It would be nice if the install linked properly, but for
+        # now, update the link information manually post install to
+        # use the install dir instead of the build dir.
+ 
+        set old_path "${workpath}/parrot-${version}/blib/lib/libparrot.dylib"
+        set new_path "${prefix}/lib/parrot/lib/libparrot.${version}.dylib"
+
         set executables {
             parrot parrot_config parrot_debugger
             pbc_disassemble pbc_info pbc_merge pbc_to_exe pbc_dump
@@ -53,13 +60,22 @@
 
         foreach exe $executables { 
             # fixup the library path
-            set old_path "${workpath}/parrot-${version}/blib/lib/libparrot.dylib"
-            set new_path "${prefix}/lib/parrot/lib/libparrot.${version}.dylib"
 	    system "cd ${prefix}/lib/parrot/bin && \
                 install_name_tool -change \"$old_path\" \"$new_path\" ${exe}"
 
             # install into the common area.
             system "cd ${bindir} && ln -sf ${prefix}/lib/parrot/bin/${exe}"
         }
+
+        set dynamic_extensions {
+           digest_group libglutcb rational dynlexpad libnci_test subproxy
+        } 
+
+        foreach lib $dynamic_extensions {
+            # fixup the library path
+	    system "cd ${prefix}/lib/parrot/lib/${version}/dynext && \
+                install_name_tool -change \"$old_path\" \"$new_path\" ${lib}.bundle"
+        }
+
 	xinstall -m 755 -d ${docdir}
 }


More information about the parrot-commits mailing list