
I am seeking advice on how I could package some of boosts libraries as part of a library I am writing. Given: "libboost_1_35" a boost lib at ver. 1_35 which is used by my "libmy". I need to be able to ship binary versions of "libmy" and "libboost_1_35". A customer writing an application "app" and using "libmy" and "libboost_1_39". The problem: libboost_1_39 and libboost_1_35 likely will have common symbols, which either prevents the customer to use 1_39 or forces me to also upgrade to 1_39 (altough everything is fine with 1_35). The questions: What would boosters recommend? Is there a way to use kind of a versioned boost namespace? Regards, speedsnail

----- Original Message ----- From: "Roland Schwarz" <roland.schwarz@chello.at> To: <boost@lists.boost.org> Sent: Wednesday, March 04, 2009 9:04 AM Subject: [boost] boost versioned namespace ?
I am seeking advice on how I could package some of boosts libraries as part of a library I am writing.
Given:
"libboost_1_35" a boost lib at ver. 1_35 which is used by my "libmy". I need to be able to ship binary versions of "libmy" and "libboost_1_35".
A customer writing an application "app" and using "libmy" and "libboost_1_39".
The problem: libboost_1_39 and libboost_1_35 likely will have common symbols, which either prevents the customer to use 1_39 or forces me to also upgrade to 1_39 (altough everything is fine with 1_35).
The questions: What would boosters recommend? Is there a way to use kind of a versioned boost namespace?
The main question is if your library interfaces use boost or you use boost as an implementation detail? Vicente

vicente.botet wrote:
The main question is if your library interfaces use boost or you use boost as an implementation detail?
As an implementation detail. I do understand that exporting the boost library obviously will force to upgrade. But no, I am not exposing boost in my interfaces. -- _________________________________________ _ _ | Roland Schwarz |_)(_ | aka. speedsnail | \__) | mailto:roland.schwarz@chello.at ________| http://www.blackspace.at

Roland Schwarz wrote:
vicente.botet wrote:
The main question is if your library interfaces use boost or you use boost as an implementation detail?
As an implementation detail.
I do understand that exporting the boost library obviously will force to upgrade. But no, I am not exposing boost in my interfaces.
-- _________________________________________ _ _ | Roland Schwarz |_)(_ | aka. speedsnail | \__) | mailto:roland.schwarz@chello.at ________| http://www.blackspace.at _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
You can just replace every occurrence of boost by boost_1_35 (do not forget the directory) and do your build. I think that this should work. Vicente Vicente -- View this message in context: http://www.nabble.com/boost-versioned-namespace---tp22325330p22330381.html Sent from the Boost - Dev mailing list archive at Nabble.com.

Vicente Botet Escriba wrote:
You can just replace every occurrence of boost by boost_1_35 (do not forget the directory) and do your build. I think that this should work.
I guess you mean: every occurence of boost that is used as a namespace. E.g. "namespace boost {" becomes "namespace boost_x_yz {" and boost:: becomes boost_x_yz::. But boost in strings, comments or boost_whatever should not be changed. Btw.: do you know of a script (sed or alike) that will do the trick? (Sidenote: it would be far easier if boost had a macro, say BOOST_NS that library authors would routinely use for this task.) -- _________________________________________ _ _ | Roland Schwarz |_)(_ | aka. speedsnail | \__) | mailto:roland.schwarz@chello.at ________| http://www.blackspace.at
participants (3)
-
Roland Schwarz
-
Vicente Botet Escriba
-
vicente.botet