[ovs-dev] [PATCH] Use libtool for lib creation and allow building shared libs

Helmut Schaa helmut.schaa at googlemail.com
Mon Dec 9 08:08:57 UTC 2013


On Fri, Dec 6, 2013 at 5:24 PM, Jarno Rajahalme <jrajahalme at nicira.com> wrote:
>
> On Dec 6, 2013, at 1:59 AM, Helmut Schaa <helmut.schaa at googlemail.com> wrote:
>
>> On Wed, Nov 27, 2013 at 10:35 AM, Helmut Schaa
>> <helmut.schaa at googlemail.com> wrote:
>>> Currently openvswitch builds all libraries static only. However,
>>> libopenvswitch is linked into nearly all openvswitch executables
>>> making it hardly possible to run openvswitch on embedded devices
>>> (for example running OpenWrt).
>>>
>>> Convert openvswitch to use libtool for building its internal libs.
>>> This allows "--enable-shared" and "--enable-static" as configure
>>> arguments. Default is "--disable-shared" thus keeping the current
>>> behavior with the only change that static libs are installed by
>>> "make install".
>>
>> Any comments on this patch?
>>
>
> FWIW I like this. There would need to be some thought on versioning and binary compatibility of the libraries, though. This must not lead to a situation where we need to start second guessing about refactoring OVS code (removing functions, changing function prototypes, changing data types, etc.) due to compatibility problems with potential 3rd party programs that may be linked with the same shared libraries.

Agreed, I don't want to encourage 3rd party programs to use the shared
libs. The main intent is just to reduce binary size of ovs.

> Also, when OVS is upgraded we should be able to run two versions at the same time. If this is not done carefully, OVS upgrades may start breaking running systems.

Actually the libraries interface version would have to be increased
with every incompatible API change ...

Helmut



More information about the dev mailing list