Hi Mat,

Sure, this would be great as we wouldn't have to keep modifying our local
version to be able to use SOCI with boost.build.

There are a couple of ways you could go to integrate it in boost.build:

1. One jamfile at the root of SOCI with targets for the main soci lib and
one for each backend
2. One jamfile at root and one in each folder for each backend

In either case you can set up aliases in the root which adds both main lib
and backend (since both are required).

We currently use 1 as it's a bit easier to maintain and you only have to add
a single file to SOCI to add boost.build integration.

We currently use a SOCI checkout from February 10th 2010. The only local
changes are:

1. The addition of the jamfile, as per http://pastebin.ca/2024473
2. Renamed sqlite3/blob.cpp to blob_sqlite3.cpp , same for
sqlite3/session.cpp and sqlite3/statement.cpp as these create object naming
collisions in visual studio (can't have two source files with the same name,
even if they are in different directories)
3. Changed const char nextChar = query_[pos + placeholder.size()];
    to
    const char nextChar = query_.c_str()[pos + placeholder.size()];
    In statement.cpp as the previous would throw a debug assertion if a
placeholder was put at the end of a query string

I'm not sure how many of the local changes we made are still required (how
much has changed since february?) but I am willing to investigate this if it
is of use to you. IMO it would be in SOCI's best interest to work out of the
box on as many compilers and platforms as possible.

Note that the jamfile above only supports the sqlite backend as that's what
we use. I can add the rest during Christmas break if you are interested.
Same goes for testing on the various compilers we use if SOCI is heading
towards a 3.1.0 release.

I've been toying with the idea of writing a tool that automatically
generates C++ objects with SOCI insert, update and delete support based on
YAML definition files. Is this something that would be interesting for SOCI
or is it out of scope of the project?

On Sun, Dec 19, 2010 at 10:38 PM, Mateusz Loskot <[email protected]> wrote:

> Hi Christian,
>
> I'm digging out old posts and I've noticed that you asked about
> Boost.Build and mentioned you have configured SOCI with this build system.
>
> Would you still be willing to contribute it to SOCI?
>
> Mat
>
> On 25/02/10 15:45, Mateusz Loskot wrote:
> > Christian Auby wrote:
> >> I'll be happy to test with the set of compilers we use when there is
> >> a release candiate. (MSVC, GCC MinGW, GCC Linux, GCC ARM)
> >
> > Fantastico. I'll shout for help in 1-2 days.
> >
> >> Regarding build system, if inclusion in Boost is still a goal, will
> >> there be a fully integrated boost.build setup?
> >
> > First of all, I have no knowledge SOCI has a goal to be included in
> > Boost. AFAIR, it was discussed as a possibility.
> >
> > There is BoostCon'09 derived initiative called std::rdb.
> > Quoting answer I gave at SO [1]:
> >
> > Regarding boost::sql proposal, there is some work in progress:
> > # On BoostCon'09 Jeff Garland led workshop [3] Library in Week 2009 to
> > discuss the std::rdb  propsals, here are materials std::rdb (.tgz
> package)
> > # std_rdb - Boost sister mailing list to discuss standard rdb proposal(s)
> >
> > [1]
> >
> http://stackoverflow.com/questions/374147/what-is-boost-missing/2140589#2140589
> > [2]
> >
> http://mail-lists.crystalclearsoftware.com/listinfo.cgi/std_rdb-crystalclearsoftware.com
> > [3]
> > http://www.boostcon.com/program/previous/2009
> >
> >> I'm already building SOCI using Boost.Build on our local version.
> >> Being able to both depend upon and compile SOCI by adding a
> >> /SOCI//SOCI and /SOCI//SOCI_SQLite dependancy (for SOCI + SQLite) is
> >> very powerful.
> >
> > I don't plan to maintain Boost Build support myself soon,
> > but if you'd be willing to contribute it, I don't see any problem with
> > including a bunch of Jamfiles. Especially Boost does support two build
> > systems, BBv2 and CMake (unofficially).
> >
> > Best regards,
>
>
> --
> Mateusz Loskot, http://mateusz.loskot.net
> Charter Member of OSGeo, http://osgeo.org
> Member of ACCU, http://accu.org
>



-- 
Christian
------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to