[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-patch-tracker] [patch #8314] Patch to build system to use @rpath

From: Michael C. Grant
Subject: [Octave-patch-tracker] [patch #8314] Patch to build system to use @rpath for Mac liboctave/libinterp
Date: Thu, 13 Feb 2014 16:22:14 +0000
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36


                 Summary: Patch to build system to use @rpath for Mac
                 Project: GNU Octave
            Submitted by: mcgrant
            Submitted on: Thu 13 Feb 2014 04:22:13 PM GMT
                Category: None
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any



The following patch inserts additional build steps (using "all-local") in
libinterp/Makefile, liboctave/Makefile, and src/Makefile so that these
internal libraries and the binaries use the @rpath construct.

Specifically, the libraries' "install names" are changed to
@rpath/liboctinterp.2.dylib and @rpath/liboctave.2.dylib, and the executables
add $(octlibdir) to their RPATH list.

Why does this matter? It enables MEX/OCT files to be shared between users
without recompilation and without having to resort to DYLD_LIBRARY_PATH
tricks. I believe this is already possible for Linux and/or Windows, but these
steps are needed for the Mac. (Indeed, Octave Forge's app bundles have to do
something like this on a larger scale).

If you study the patch you will see I attempted to ensure that this is engaged
ONLY on a Mac, only when shared libraries are being built, and only when the
'install_name_tool' utility is available. So this should leave builds for all
other platforms unchanged.


File Attachments:

Date: Thu 13 Feb 2014 04:22:13 PM GMT  Name: rpath.diff  Size: 3kB   By:



Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]