diff -ruN boost_1_33_1/boost/date_time/time_resolution_traits.hpp boost/boost/date_time/time_resolution_traits.hpp --- boost_1_33_1/boost/date_time/time_resolution_traits.hpp 2003-12-02 19:01:05.000000000 -0800 +++ boost/boost/date_time/time_resolution_traits.hpp 2005-12-06 14:53:43.000000000 -0800 @@ -120,11 +120,17 @@ + (fractional_seconds_type(minutes)*60) + seconds)*res_adjust()) + fs) * -1); } - else{ - return (((fractional_seconds_type(hours)*3600) - + (fractional_seconds_type(minutes)*60) - + seconds)*res_adjust()) + fs; - } + + /* ADOBE (fbrereto) : There is a compiler bug in Darwin GCC doing a + release build that says it is possible to + reach the end of this function block without + returning anything. Eliminating the else + block wrapper fixed the bug. + */ + + return (((fractional_seconds_type(hours)*3600) + + (fractional_seconds_type(minutes)*60) + + seconds)*res_adjust()) + fs; } }; diff -ruN boost_1_33_1/boost/type_traits/detail/bool_trait_def.hpp boost/boost/type_traits/detail/bool_trait_def.hpp --- boost_1_33_1/boost/type_traits/detail/bool_trait_def.hpp 2005-03-16 04:22:22.000000000 -0800 +++ boost/boost/type_traits/detail/bool_trait_def.hpp 2005-12-06 14:53:55.000000000 -0800 @@ -41,6 +41,10 @@ # define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant #endif +/* ADOBE (sparent@adobe.com) : Added undef to avoid multiple define warning in GCC */ +#ifdef BOOST_TT_AUX_BOOL_TRAIT_DEF1 +#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1 +#endif #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \ template< typename T > struct trait \ diff -ruN boost_1_33_1/libs/thread/src/recursive_mutex.cpp boost/libs/thread/src/recursive_mutex.cpp --- boost_1_33_1/libs/thread/src/recursive_mutex.cpp 2005-03-16 17:55:44.000000000 -0800 +++ boost/libs/thread/src/recursive_mutex.cpp 2005-12-06 14:54:28.000000000 -0800 @@ -296,7 +296,13 @@ res = pthread_mutex_init(&m_mutex, &attr); { - int res = pthread_mutexattr_destroy(&attr); + // ADOBE (fbrereto) : this fixes an unused variable warning + // in gcc release builds under darwin. +# if !defined(NDEBUG) + int res = +# endif + pthread_mutexattr_destroy(&attr); + assert(res == 0); } if (res != 0) @@ -452,8 +458,14 @@ res = pthread_mutex_init(&m_mutex, &attr); { - int res = pthread_mutexattr_destroy(&attr); - assert(res == 0); + // ADOBE (fbrereto) : this fixes an unused variable warning + // in gcc release builds under darwin. +# if !defined(NDEBUG) + int res = +# endif + pthread_mutexattr_destroy(&attr); + + assert(res == 0); } if (res != 0) throw thread_resource_error(); Binary files boost_1_33_1/tools/build/jam_src/bin.macosxppc/bjam and boost/tools/build/jam_src/bin.macosxppc/bjam differ Binary files boost_1_33_1/tools/build/jam_src/bootstrap/jam0 and boost/tools/build/jam_src/bootstrap/jam0 differ diff -ruN boost_1_33_1/tools/build/v2/tools/darwin.jam boost/tools/build/v2/tools/darwin.jam --- boost_1_33_1/tools/build/v2/tools/darwin.jam 2005-07-15 06:31:13.000000000 -0700 +++ boost/tools/build/v2/tools/darwin.jam 2005-12-06 15:04:35.000000000 -0800 @@ -41,6 +41,16 @@ feature framework : : free ; +# ADOBE : Adding archtecture variant to build 1386, ppc, or universal binaries + +feature isysroot : : free ; + +feature arch : none i386 fat : composite ; # We don't turn on link-incompatible for now; +flags darwin.compile OPTIONS fat : -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk ; +flags darwin.compile OPTIONS i386 : -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk ; + +# ADOBE end changes + flags darwin.compile OPTIONS shared : -dynamic ; flags darwin.compile OPTIONS : -Wno-long-double -no-cpp-precomp ; @@ -64,6 +74,10 @@ actions piecemeal archive { - ar -c -r -s $(ARFLAGS) "$(<:T)" "$(>:T)" + # ADOBE : We use libtool instead of ar to support universal binary linking + + libtool -static -o "$(<:T)" $(ARFLAGS) "$(>:T)" + + # ADOBE end changes } diff -ruN boost_1_33_1/tools/build/v2/tools/gcc.jam boost/tools/build/v2/tools/gcc.jam --- boost_1_33_1/tools/build/v2/tools/gcc.jam 2005-06-15 05:24:06.000000000 -0700 +++ boost/tools/build/v2/tools/gcc.jam 2005-12-06 15:02:11.000000000 -0800 @@ -236,9 +236,14 @@ { # we can't pass -s to ld unless we also pass -static # so we removed -s completly from OPTIONS and add it - # to ST_OPTIONS - flags $(toolset).link ST_OPTIONS $(condition)/off : -s - : unchecked ; + # to ST_OPTIONS + + # ADOBE : XCode 2.2 does not strip properly; removing this setting + # until Apple figures out what the problem is + #flags $(toolset).link ST_OPTIONS $(condition)/off : -s + # : unchecked ; + # ADOBE end changes + flags $(toolset).link RPATH $(condition) : : unchecked ; flags $(toolset).link RPATH_LINK $(condition) : : unchecked ; } diff -ruN boost_1_33_1/tools/build/v2/tools/msvc.jam boost/tools/build/v2/tools/msvc.jam --- boost_1_33_1/tools/build/v2/tools/msvc.jam 2005-07-15 06:35:58.000000000 -0700 +++ boost/tools/build/v2/tools/msvc.jam 2005-12-06 14:58:39.000000000 -0800 @@ -278,10 +278,25 @@ $(.CC) /Zm800 -nologo -TP -U$(UNDEFS) $(CFLAGS) $(C++FLAGS) $(USER_CFLAGS) @"$(RSP:W)" -c -Fo"$(<[1]:W)" && $(RM) "$(RSP)" } -actions compile.rc +# ADOBE : This change allows for a version to be set inside the RC compiler +# so we can include version-dependent manifest files + +if ! [ MATCH ^([67].*) : $(version) ] { - $(.RC) -l 0x409 -U$(UNDEFS) -D$(DEFINES) -I"$(INCLUDES)" -fo "$(<:W)" "$(>:W)" + actions compile.rc + { + $(.RC) -l 0x409 -U$(UNDEFS) -D$(DEFINES) -DADOBE_VER=8 -I"$(INCLUDES)" -fo "$(<:W)" "$(>:W)" + } } +else +{ + actions compile.rc + { + $(.RC) -l 0x409 -U$(UNDEFS) -D$(DEFINES) -DADOBE_VER=7 -I"$(INCLUDES)" -fo "$(<:W)" "$(>:W)" + } +} + +# ADOBE end changes # Declare flags and action for linking flags msvc.link PDB_LINKFLAG on/database : /PDB: ; # not used yet