status of the s4 waf build - go to stage 3?

Stefan (metze) Metzmacher metze at samba.org
Sun Apr 25 03:02:11 MDT 2010


tridge at samba.org schrieb:
> Hi Brad,
> 
>  > After your encouragement today, I gave this a try.
> 
> thanks!
> 
>  > The libLIBFOO stuff looks a bit strange - perhaps something not getting 
>  > substituted correctly?
> 
> no, that's just what the libraries are called. I kept the same names
> as the old build system. The difference is that most of these libs got
> rolled into the binaries or other libraries as objects in the old
> system, instead of being built as shared libs.
> 
> We could certainly rename these libs to use better names :-)
> 
>  > Also, the pkgconfig files don't have the right filenames (no -samba4 suffix).
>  > [bradh-dev at repens lib]$ cat pkgconfig/dcerpc.pc 
>  > prefix=${prefix}
>  > exec_prefix=${prefix}
>  > libdir=${prefix}/lib
>  > includedir=${prefix}/include
>  > 
>  > Name: dcerpc
>  > Description: DCE/RPC client library
>  > Requires: ndr
>  > Version: 0.0.1
>  > Libs: -L${libdir} -ldcerpc 
>  > Cflags: -I${includedir} -DHAVE_IMMEDIATE_STRUCTURES=1
>  > 
>  > So that isn't going to work for openchange.
> 
> The reason this happens is that it is using library bundling, and the
> build system is trying to avoid possible conflicts with installed
> system libraries. So the pkgconfig and library names are actually as
> they are supposed to be.
> 
> For libs like libtdb.so, this bundling avoids problems with a
> user-installed tdb library conflicting with a system installed tdb
> library. 
> 
> I suggest you have a read of this:
> 
>   http://wiki.samba.org/index.php/Waf#working_with_libraries
> 
> which should explain how the library handling works with the waf build.
> 
> There are a few ways we could make this work for openchange:
> 
>  1) you could use the --bundled-libraries configure option to force
>  Samba4 so not use the bundled library extension for the libraries you
>  need
> 
>  2) we could mark some of these libraries as not needing
>  bundling. This means we'd be saying that they will not be packaged
>  separately
> 
>  3) we could add a configure option to put the bundled library name in
>  the pkgconfig file.
> 
> Probably (1) is the simplest for your builds. See the web page above
> for more information on this. You may also like to use
> --builtin-libraries to force some of the libraries to be rolled into
> the other libs (as per the old build system).

I think 2) is the correct thing to do for non standalone libraries,
which need to be exposed as public libraries. (all libraries which
provide a .pc file).

metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100425/5c304c86/attachment.pgp>


More information about the samba-technical mailing list