Re: [Boost-bugs] [Boost C++ Libraries] #1927: MacOS (Darwin) should use the -headerpad_max_install_name option

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1927: MacOS (Darwin) should use the -headerpad_max_install_name option
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-06-03 17:30:12


#1927: MacOS (Darwin) should use the -headerpad_max_install_name option
-----------------------------------+----------------------------------------
  Reporter: andrew_at_[hidden] | Owner:
      Type: Bugs | Status: new
 Milestone: Boost 1.35.1 | Component: Building Boost
   Version: Boost 1.35.0 | Severity: Problem
Resolution: | Keywords: darwin macos library dylib
-----------------------------------+----------------------------------------
Comment (by andrew_at_[hidden]):

 The short, but inaccurate answer, is "yes".

 Dynamic library paths and linking on Apple is '''not''' as simple topic.
 Libraries (inside frameworks) are usually in fixed locations. There is
 (under 10.4) a "magic" file name so libraries can be located with respect
 to the executable file bundle.

 Apple has
 [http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/Articles/loading_code.html
 extensive documentation] on how dyld files are searched for.

 A brief (and informative) summary is
 [http://qin.laya.com/tech_coding_help/dylib_linking.html here].

 Leopard (10.5) introduced RPATH semantics
 [http://www.codeshorts.ca/2007/nov/01/leopard-linking-making-relocatable-
 libraries-movin see here].

 But basically... using the "-headerpad_max_install_names" linker option
 allows the boost user to compile boost '''once''' and then package up the
 libraries as "application-specific framework bundles" in a final
 application. Without the headerpad option, boost must be custom-compiled
 to its final installation directory for every project that uses it.

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1927#comment:4>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.


This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:58 UTC