
Hi All, If your proposal was accepted for GSoC 2010, then you will need to read this email thoroughly since it outlines the basic instructions for getting started with Boost development and your Summer Work. There are a couple of things you'll have to do (detailed instructions follow). 1. Introduce yourself to your mentor 2. Request SVN sandbox access from the Boost owners 3. Get started with Boost 4. Read about bjam and Quickbook 5. Write Code = Detailed instructions = == Introducing Yourself == Send an email to your mentor from the account that you want to receive Boost GSoC-related communications from. We're collecting your contact information in case we need to get in touch. If you have other secondary email address', please forward those also. There may be some organizational overhead to interacting with your mentor. We are still determining the best way to manage some aspects of this process. == Requesting SVN Access == Email the boost owner mailing list and request SVN *sandbox* write access for your GSoC project. Be sure to state that you are a student working on a GSoC 2010 project. Detailed instructions are given here [1] under "Getting a Trac SVN Userid". Your work will ultimately be hosted in this URL [2]. * Note to owners: if you want to validate students you can email me or I can grant you access to the GSoC webapp. == Getting Started == Read this [3] carefully, and follow the instructions. If you want to build Boost's trunk, follow the instructions here [4]. == Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5]. Quickbook is the preferred* tool used to document the Boost libraries. It is a frontend to the BoostBook XML schema, which is an extension of the DocBook schema. The documentation toolchain is used to build online and PDF documentation for the Boost libraries. Documentation for writing Quickbook files can be found here [6]. * I could be wrong, but it is popular and also quite nice. == Writing Code == I would suggest trying to build (and document) some small example programs using the Boost development environment before diving in to your project. For example, port some of your programming assignments to Boost -- just don't commit them to the SVN repository :) This will help familiarize you with the Boost infrastructure. Also, read the Boost Guidelines and Requirements [7] before starting your project. These determine the layout of your directory structuring, how to name your files, and basic styles used throughout the Boost C++ Libraries. Additional information on techniques for generic programming can also be found here [8]. These techniques are used throughout many Boost libraries and are definitely worth reading about and understanding. I think that's about it for now. If I missed something, hopefully one of the other contributors will be able to point it out :) Welcome to Boost, and good luck on your summer projects! Andrew Sutton andrew.n.sutton@gmail.com [1] https://svn.boost.org/trac/boost/#GettingaTracSVNUserid [2] http://svn.boost.org/svn/boost/sandbox/SOC/2010/ [3] http://www.boost.org/doc/libs/1_42_0/more/getting_started/index.html [4] https://svn.boost.org/trac/boost/wiki/BoostSubversion [5] http://www.boost.org/doc/tools/build/doc/html/index.html [6] http://www.boost.org/doc/libs/1_42_0/doc/html/quickbook.html [7] http://www.boost.org/development/requirements.html [8] http://www.boost.org/community/generic_programming.html

hi andrew,
== Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5].
is there some documentation on how to build a library, that is not placed in the boost root? like if i have boost trunk somewhere on the filesystem and my project at sandbox/myproject/boost and sandbox/myproject/libs, how can i integrate the build system correctly? i remember, i once tried it, but in the end, i gave up ... thanks, tim gsoc student, heaps&queues -- tim@klingt.org http://tim.klingt.org Bill Gates left his university to start Micro$oft. Steve Jobs sold his Wolkswagen bus to start Apple. Linus Torvalds made a new thread in a forum and put a file on a ftp server.

----- Original Message ----- From: "Tim Blechmann" <tim@klingt.org> To: <boost@lists.boost.org> Sent: Tuesday, April 27, 2010 10:46 PM Subject: Re: [boost] [GSoC] Bonding period
hi andrew,
== Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5].
is there some documentation on how to build a library, that is not placed in the boost root? like if i have boost trunk somewhere on the filesystem and my project at sandbox/myproject/boost and sandbox/myproject/libs, how can i integrate the build system correctly? i remember, i once tried it, but in the end, i gave up ...
I reached to get this sometime ago, but it was broken. So I have moved to put my libraries on the boost root directory. The single difference is that you need to checkout your library for each Boost version you want to check. While not optimal, it works for me, even if I'm also interested in an independent solution. Best, _____________________ Vicente Juan Botet Escribá http://viboes.blogspot.com/

is there some documentation on how to build a library, that is not placed in the boost root? like if i have boost trunk somewhere on the filesystem and my project at sandbox/myproject/boost and sandbox/myproject/libs, how can i integrate the build system correctly? i remember, i once tried it, but in the end, i gave up ...
Hi Tim, That's a good question. It's been so long since I figured out how to do that I'm not sure I remember :) This is one of those things that once you learn to do once, you just end up copying around and forgetting about it. I think I've been using an environment variable, BOOST_ROOT to point to ~/boost/trunk. I forget if bjam will automatically recognize that or not. If not, you might look at some of the bjam files in the Boost.Math library. That library seems to get the build environment "just right" :) Andrew Sutton andrew.n.sutton@gmail.com

is there some documentation on how to build a library, that is not placed in the boost root? like if i have boost trunk somewhere on the filesystem and my project at sandbox/myproject/boost and sandbox/myproject/libs, how can i integrate the build system correctly? i remember, i once tried it, but in the end, i gave up ...
Hi Tim,
That's a good question. It's been so long since I figured out how to do that I'm not sure I remember :) This is one of those things that once you learn to do once, you just end up copying around and forgetting about it.
I think I've been using an environment variable, BOOST_ROOT to point to ~/boost/trunk. I forget if bjam will automatically recognize that or not. If not, you might look at some of the bjam files in the Boost.Math library. That library seems to get the build environment "just right" :)
do you refer to boost.math from tunk (trunk/libs/math) or sandbox/math_toolkit? thanks, tim -- tim@klingt.org http://tim.klingt.org You don't have to call it music if the term shocks you. John Cage

On 27 April 2010 22:20, Andrew Sutton <andrew.n.sutton@gmail.com> wrote:
That's a good question. It's been so long since I figured out how to do that I'm not sure I remember :) This is one of those things that once you learn to do once, you just end up copying around and forgetting about it.
I think I've been using an environment variable, BOOST_ROOT to point to ~/boost/trunk. I forget if bjam will automatically recognize that or not. If not, you might look at some of the bjam files in the Boost.Math library. That library seems to get the build environment "just right" :)
I think you need to include a 'project-root.jam' which tells boost build to use the environment variable. I created an example of how a sandbox library might be structured here: https://svn.boost.org/svn/boost/sandbox/example/ Although others might disagree with how I set it up. A little while ago I noticed that someone else had the same idea before me, although I haven't looked into it yet: https://svn.boost.org/trac/boost/wiki/SandboxTemplate Daniel

I think I've been using an environment variable, BOOST_ROOT to point to ~/boost/trunk. I forget if bjam will automatically recognize that or not. If not, you might look at some of the bjam files in the Boost.Math library. That library seems to get the build environment "just right" :)
I think you need to include a 'project-root.jam' which tells boost build to use the environment variable. I created an example of how a sandbox library might be structured here:
thanks, this helps a bit ... would it be possible to extend the example by a test program? i have tried to set up a build environment, but it doesn't find my testsuite ... thanks, tim -- tim@klingt.org http://tim.klingt.org I had nothing to offer anybody except my own confusion Jack Kerouac

On 29 April 2010 09:48, Tim Blechmann <tim@klingt.org> wrote:
thanks, this helps a bit ... would it be possible to extend the example by a test program? i have tried to set up a build environment, but it doesn't find my testsuite ...
I've added a quick example, I hope it helps. Daniel

On 27 April 2010 15:09, Andrew Sutton <andrew.n.sutton@gmail.com> wrote:
== Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5].
Quickbook is the preferred* tool used to document the Boost libraries. It is a frontend to the BoostBook XML schema, which is an extension of the DocBook schema. The documentation toolchain is used to build online and PDF documentation for the Boost libraries. Documentation for writing Quickbook files can be found here [6].
* I could be wrong, but it is popular and also quite nice.
There's absolutely no requirement to use quickbook, although we do prefer it. If you're comfortable with something else, such as Sphinx, then that's fine. Just to add to your links, there's a rough getting started guide on the wiki. It's a bit scrappy, but it's often more helpful that the boostbook/quickbook documentation. https://svn.boost.org/trac/boost/wiki/BoostDocs/GettingStarted Daniel

Andrew Sutton wrote:
Hi All,
If your proposal was accepted for GSoC 2010, then you will need to read this email thoroughly since it outlines the basic instructions for getting started with Boost development and your Summer Work.
There are a couple of things you'll have to do (detailed instructions follow). 1. Introduce yourself to your mentor 2. Request SVN sandbox access from the Boost owners 3. Get started with Boost 4. Read about bjam and Quickbook 5. Write Code
= Detailed instructions =
== Introducing Yourself == Send an email to your mentor from the account that you want to receive Boost GSoC-related communications from. We're collecting your contact information in case we need to get in touch. If you have other secondary email address', please forward those also.
There may be some organizational overhead to interacting with your mentor. We are still determining the best way to manage some aspects of this process.
== Requesting SVN Access == Email the boost owner mailing list and request SVN *sandbox* write access for your GSoC project. Be sure to state that you are a student working on a GSoC 2010 project. Detailed instructions are given here [1] under "Getting a Trac SVN Userid".
Your work will ultimately be hosted in this URL [2].
* Note to owners: if you want to validate students you can email me or I can grant you access to the GSoC webapp.
== Getting Started == Read this [3] carefully, and follow the instructions. If you want to build Boost's trunk, follow the instructions here [4].
== Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5].
Quickbook is the preferred* tool used to document the Boost libraries. It is a frontend to the BoostBook XML schema, which is an extension of the DocBook schema. The documentation toolchain is used to build online and PDF documentation for the Boost libraries. Documentation for writing Quickbook files can be found here [6].
* I could be wrong, but it is popular and also quite nice.
== Writing Code == I would suggest trying to build (and document) some small example programs using the Boost development environment before diving in to your project. For example, port some of your programming assignments to Boost -- just don't commit them to the SVN repository :) This will help familiarize you with the Boost infrastructure.
Also, read the Boost Guidelines and Requirements [7] before starting your project. These determine the layout of your directory structuring, how to name your files, and basic styles used throughout the Boost C++ Libraries.
Additional information on techniques for generic programming can also be found here [8]. These techniques are used throughout many Boost libraries and are definitely worth reading about and understanding.
I think that's about it for now. If I missed something, hopefully one of the other contributors will be able to point it out :)
Welcome to Boost, and good luck on your summer projects!
Andrew Sutton andrew.n.sutton@gmail.com
[1] https://svn.boost.org/trac/boost/#GettingaTracSVNUserid [2] http://svn.boost.org/svn/boost/sandbox/SOC/2010/ [3] http://www.boost.org/doc/libs/1_42_0/more/getting_started/index.html [4] https://svn.boost.org/trac/boost/wiki/BoostSubversion [5] http://www.boost.org/doc/tools/build/doc/html/index.html [6] http://www.boost.org/doc/libs/1_42_0/doc/html/quickbook.html [7] http://www.boost.org/development/requirements.html [8] http://www.boost.org/community/generic_programming.html _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Hello. I am working on adding new algorithms to the String Algorithms library at this year's GSoC and I was wondering if the right thing to do here is to branch SVN as follows: /trunk/boost/algorithm/string into /sandbox/SOC/2010/stringalgos/boost /trunk/libs/algorithm/string into /sandbox/SOC/2010/stringalgos/libs I have already created my directory structure in /sandbox/SOC/2010/stringalgos/ but I assume it would have been better to branch from the beginning. Is this double-branching the right solution here? If not, let me know how I should proceed. Regards, Stefan

I have already created my directory structure in
/sandbox/SOC/2010/stringalgos/ but I assume it would have been better to branch from the beginning.
Is this double-branching the right solution here? If not, let me know how I should proceed.
It might be easier just to start in sandbox and then merge or patch that as you go. In the end, it's really up to you determine what works the best for you -- unless your mentor has different ideas :) Andrew Sutton andrew.n.sutton@gmail.com

Andrew Sutton wrote:
I have already created my directory structure in
/sandbox/SOC/2010/stringalgos/ but I assume it would have been better to branch from the beginning.
Is this double-branching the right solution here? If not, let me know how I should proceed.
It might be easier just to start in sandbox and then merge or patch that as you go. In the end, it's really up to you determine what works the best for you -- unless your mentor has different ideas :)
Andrew Sutton andrew.n.sutton@gmail.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Thanks for the reply, I will discuss this with my mentor soon. However, although I'm not that experienced with SVN, I don't see why not use branching here. At some point in time, I will need to modify some files which already exist in trunk's version of the library (headers, documentation, example, tests), which means I will have to SVN COPY those files from trunk to my sandbox directory. Since I will do that for each file individually, I will also have to periodically do SVN MERGE for each copied file (in case the trunk version of the file gets modified while I'm also modifying it in my sandbox), which sounds like some extra work. Unless I branch the old lib, I will also have to keep track of which files have I SVN COPIED and which are mine (so I will know which ones need to be merged). If I had it as a branch, one single merge from trunk would make all my files in sandbox up-to-date with respect to trunk. It also allows me to have all the library's files in the same directory (all documentation, all tests, examples etc.) which makes it easier for me to work with them and compile documentation/tests/examples. Additionally, hypothetically, I wouldn't be able to delete a file from the old library if it's not needed in this newer version unless I actually had a full branch of the old library. As mentioned above, I will discuss this with my mentor more thoroughly (I believe my progress will be just as easily monitorable even if branching). Yours, Stefan

Lemme put my mentor cap up;) I rather agree with Stefan there. Is there anything that may prevent that ? -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35

Rtrr On 4/27/10, Andrew Sutton <andrew.n.sutton@gmail.com> wrote:
Hi All,
If your proposal was accepted for GSoC 2010, then you will need to read this email thoroughly since it outlines the basic instructions for getting started with Boost development and your Summer Work.
There are a couple of things you'll have to do (detailed instructions follow). 1. Introduce yourself to your mentor 2. Request SVN sandbox access from the Boost owners 3. Get started with Boost 4. Read about bjam and Quickbook 5. Write Code
= Detailed instructions =
== Introducing Yourself == Send an email to your mentor from the account that you want to receive Boost GSoC-related communications from. We're collecting your contact information in case we need to get in touch. If you have other secondary email address', please forward those also.
There may be some organizational overhead to interacting with your mentor. We are still determining the best way to manage some aspects of this process.
== Requesting SVN Access == Email the boost owner mailing list and request SVN *sandbox* write access for your GSoC project. Be sure to state that you are a student working on a GSoC 2010 project. Detailed instructions are given here [1] under "Getting a Trac SVN Userid".
Your work will ultimately be hosted in this URL [2].
* Note to owners: if you want to validate students you can email me or I can grant you access to the GSoC webapp.
== Getting Started == Read this [3] carefully, and follow the instructions. If you want to build Boost's trunk, follow the instructions here [4].
== Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5].
Quickbook is the preferred* tool used to document the Boost libraries. It is a frontend to the BoostBook XML schema, which is an extension of the DocBook schema. The documentation toolchain is used to build online and PDF documentation for the Boost libraries. Documentation for writing Quickbook files can be found here [6].
* I could be wrong, but it is popular and also quite nice.
== Writing Code == I would suggest trying to build (and document) some small example programs using the Boost development environment before diving in to your project. For example, port some of your programming assignments to Boost -- just don't commit them to the SVN repository :) This will help familiarize you with the Boost infrastructure.
Also, read the Boost Guidelines and Requirements [7] before starting your project. These determine the layout of your directory structuring, how to name your files, and basic styles used throughout the Boost C++ Libraries.
Additional information on techniques for generic programming can also be found here [8]. These techniques are used throughout many Boost libraries and are definitely worth reading about and understanding.
I think that's about it for now. If I missed something, hopefully one of the other contributors will be able to point it out :)
Welcome to Boost, and good luck on your summer projects!
Andrew Sutton andrew.n.sutton@gmail.com
[1] https://svn.boost.org/trac/boost/#GettingaTracSVNUserid [2] http://svn.boost.org/svn/boost/sandbox/SOC/2010/ [3] http://www.boost.org/doc/libs/1_42_0/more/getting_started/index.html [4] https://svn.boost.org/trac/boost/wiki/BoostSubversion [5] http://www.boost.org/doc/tools/build/doc/html/index.html [6] http://www.boost.org/doc/libs/1_42_0/doc/html/quickbook.html [7] http://www.boost.org/development/requirements.html [8] http://www.boost.org/community/generic_programming.html _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Sent from my mobile device Attila Software Developer atteeela@gmail.com

On 4/27/10, Andrew Sutton <andrew.n.sutton@gmail.com> wrote:
Hi All,
If your proposal was accepted for GSoC 2010, then you will need to read this email thoroughly since it outlines the basic instructions for getting started with Boost development and your Summer Work.
There are a couple of things you'll have to do (detailed instructions follow). 1. Introduce yourself to your mentor 2. Request SVN sandbox access from the Boost owners 3. Get started with Boost 4. Read about bjam and Quickbook 5. Write Code
= Detailed instructions =
== Introducing Yourself == Send an email to your mentor from the account that you want to receive Boost GSoC-related communications from. We're collecting your contact information in case we need to get in touch. If you have other secondary email address', please forward those also.
There may be some organizational overhead to interacting with your mentor. We are still determining the best way to manage some aspects of this process.
== Requesting SVN Access == Email the boost owner mailing list and request SVN *sandbox* write access for your GSoC project. Be sure to state that you are a student working on a GSoC 2010 project. Detailed instructions are given here [1] under "Getting a Trac SVN Userid".
Your work will ultimately be hosted in this URL [2].
* Note to owners: if you want to validate students you can email me or I can grant you access to the GSoC webapp.
== Getting Started == Read this [3] carefully, and follow the instructions. If you want to build Boost's trunk, follow the instructions here [4].
== Bjam and Quickbook == Bjam is the build tool used to compile Boost libraries, test suites, examples, and applications. For information on writing Bjam project files, read the manual, here [5].
Quickbook is the preferred* tool used to document the Boost libraries. It is a frontend to the BoostBook XML schema, which is an extension of the DocBook schema. The documentation toolchain is used to build online and PDF documentation for the Boost libraries. Documentation for writing Quickbook files can be found here [6].
* I could be wrong, but it is popular and also quite nice.
== Writing Code == I would suggest trying to build (and document) some small example programs using the Boost development environment before diving in to your project. For example, port some of your programming assignments to Boost -- just don't commit them to the SVN repository :) This will help familiarize you with the Boost infrastructure.
Also, read the Boost Guidelines and Requirements [7] before starting your project. These determine the layout of your directory structuring, how to name your files, and basic styles used throughout the Boost C++ Libraries.
Additional information on techniques for generic programming can also be found here [8]. These techniques are used throughout many Boost libraries and are definitely worth reading about and understanding.
I think that's about it for now. If I missed something, hopefully one of the other contributors will be able to point it out :)
Welcome to Boost, and good luck on your summer projects!
Andrew Sutton andrew.n.sutton@gmail.com
[1] https://svn.boost.org/trac/boost/#GettingaTracSVNUserid [2] http://svn.boost.org/svn/boost/sandbox/SOC/2010/ [3] http://www.boost.org/doc/libs/1_42_0/more/getting_started/index.html [4] https://svn.boost.org/trac/boost/wiki/BoostSubversion [5] http://www.boost.org/doc/tools/build/doc/html/index.html [6] http://www.boost.org/doc/libs/1_42_0/doc/html/quickbook.html [7] http://www.boost.org/development/requirements.html [8] http://www.boost.org/community/generic_programming.html _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Sent from my mobile device Attila Software Developer atteeela@gmail.com
participants (7)
-
Andrew Sutton
-
Attila
-
Daniel James
-
joel falcou
-
Stefan
-
Tim Blechmann
-
vicente.botet