--- tools/darwin.jam.orig 2009-11-01 01:06:46.000000000 -0400 +++ tools/darwin.jam 2009-11-01 01:25:48.000000000 -0400 @@ -41,6 +41,11 @@ { flags darwin.compile.c++ OPTIONS $(condition) : -fcoalesce-templates ; } + # - GCC 4.2 and higher in Darwin does not have -Wno-long-double. + if $(gccversion) < "4.2.0" + { + flags darwin.compile OPTIONS $(condition) : -Wno-long-double ; + } gcc.init-link-flags darwin darwin $(condition) ; @@ -50,7 +55,7 @@ feature framework : : free ; flags darwin.compile OPTIONS shared : -dynamic ; -flags darwin.compile OPTIONS : -Wno-long-double -no-cpp-precomp ; +flags darwin.compile OPTIONS : -no-cpp-precomp ; flags darwin.link FRAMEWORK ; @@ -63,9 +68,17 @@ # set up the -F option to include the paths to any frameworks used. local rule prepare-framework-path ( target + ) { + # The -framework option only takes basename of the framework. + # The -F option specifies the directories where a framework + # is searched for. So, if we find feature + # with some path, we need to generate property -F option. local framework-path = [ on $(target) return $(FRAMEWORK:D) ] ; - FRAMEWORK_PATH on $(target) += -F$(framework-path) ; + # Be sure to generate no -F if there's no path. + if $(framework-path) != "" + { + FRAMEWORK_PATH on $(target) += -F$(framework-path) ; + } } rule link