status of the s4 waf build - go to stage 3?
Stefan (metze) Metzmacher
metze at samba.org
Sun Apr 25 03:06:36 MDT 2010
Stefan (metze) Metzmacher schrieb:
> 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).
3) would be also ok...
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/61297f7f/attachment.pgp>
More information about the samba-technical
mailing list