Boost logo

Boost-Build :

From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2006-09-26 11:37:30


Not sure when the -F framework option was introduced into the
darwin.jam, but I believe it is erroneous to pass -F to ld without an
argument. In our jamfiles, we typically use <framework>vecLib where
vecLib is used without a path. Our builds now fail because the link
line is "-F -framework vecLib" where the -F option has no argument.
We'd rather not specify a path to the vecLib framework because the
location can change across systems.

I'd like to add this patch to ensure a path is always passed to -F.
Please let me know if there's a better way to do this. I suppose
another option is to suppress the -F option if there is no path
preceding the framework library but I'm less certain how to do that.

 From the darwin ld man page

        -framework name[,suffix]
               Specifies a framework to link against. Frameworks
are dynamic
               shared libraries, but they are stored in different
               and therefore must be searched for differently. When
this option
               is specified, ld searches for framework
               first in any directories specified with the -F
option, then in
               the standard framework directories /Library/
Frameworks, /Net-
               work/Library/Frameworks, and /System/Library/
Frameworks. The
               placement of the -framework option is significant, as
it deter-
               mines when and how the framework is searched. If
the optional
               suffix is specified the framework is first searched
for the name
               with the suffix and then without.

        -Fdir Add dir to the list of directories in which to search
for frame-
               works. Directories specified with -F are searched
before the
               standard framework directories.

Could someone check this patch and let me know if it's okay to commit.


-- Noel Belcourt

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at