On Fri, Dec 6, 2013 at 7:58 PM, Ben Pfaff <b...@nicira.com> wrote:
> On Wed, Nov 27, 2013 at 10:35:39AM +0100, Helmut Schaa 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".
>>
>> Here's a quick size comparison (x86_64):
>>
>> Using static libs (*.a removed):
>> ovs_static> find -type f -executable | grep -v scripts | grep -v ".la" | 
>> xargs du -ch
>> 7.5M    ./sbin/ovs-vswitchd
>> 44K     ./sbin/ovs-bugtool
>> 4.6M    ./sbin/ovsdb-server
>> 1.0M    ./bin/ovs-benchmark
>> 60K     ./bin/ovs-dpctl-top
>> 1.7M    ./bin/ovsdb-client
>> 5.1M    ./bin/ovs-vsctl
>> 8.0K    ./bin/ovs-test
>> 1.1M    ./bin/ovs-appctl
>> 4.0K    ./bin/ovs-pcap
>> 4.0M    ./bin/ovs-ofctl
>> 1.8M    ./bin/ovsdb-tool
>> 16K     ./bin/ovs-pki
>> 3.8M    ./bin/ovs-dpctl
>> 4.0K    ./bin/ovs-parse-backtrace
>> 4.0K    ./bin/ovs-l3ping
>> 2.0M    ./bin/vtep-ctl
>> 4.0K    ./bin/ovs-tcpundump
>> 33M     total
>>
>> Using shared libs:
>> ovs_shared> find -type f -executable | grep -v scripts | grep -v ".la" | 
>> xargs du -ch
>> 128K    ./lib64/libsflow.so.0.0.0
>> 644K    ./lib64/libovsdb.so.0.0.0
>> 6.2M    ./lib64/libopenvswitch.so.0.0.0
>> 1.8M    ./lib64/libofproto.so.0.0.0
>> 408K    ./sbin/ovs-vswitchd
>> 44K     ./sbin/ovs-bugtool
>> 132K    ./sbin/ovsdb-server
>> 52K     ./bin/ovs-benchmark
>> 60K     ./bin/ovs-dpctl-top
>> 100K    ./bin/ovsdb-client
>> 296K    ./bin/ovs-vsctl
>> 8.0K    ./bin/ovs-test
>> 28K     ./bin/ovs-appctl
>> 4.0K    ./bin/ovs-pcap
>> 252K    ./bin/ovs-ofctl
>> 60K     ./bin/ovsdb-tool
>> 16K     ./bin/ovs-pki
>> 112K    ./bin/ovs-dpctl
>> 4.0K    ./bin/ovs-parse-backtrace
>> 4.0K    ./bin/ovs-l3ping
>> 264K    ./bin/vtep-ctl
>> 4.0K    ./bin/ovs-tcpundump
>> 11M     total
>>
>> Signed-off-by: Helmut Schaa <helmut.sc...@googlemail.com>
>
> A broad discussion of this idea is already ongoing.  Here are some
> specific remarks about this commit.
>
> Running autoconf I get several errors and warnings:

Indeed, sorry about that. Let me look into this ...

>     configure.ac:41: warning: AC_COMPILE_IFELSE was called before 
> AC_USE_SYSTEM_EXTENSIONS
>     ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded 
> from...
>     configure.ac:41: the top level
>     configure.ac:41: warning: AC_RUN_IFELSE was called before 
> AC_USE_SYSTEM_EXTENSIONS
>     ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded 
> from...
>     configure.ac:41: the top level
>     configure.ac:41: warning: AC_COMPILE_IFELSE was called before 
> AC_USE_SYSTEM_EXTENSIONS
>     ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded 
> from...
>     configure.ac:41: the top level
>     configure.ac:41: warning: AC_RUN_IFELSE was called before 
> AC_USE_SYSTEM_EXTENSIONS
>     ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded 
> from...
>     configure.ac:41: the top level
>     libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
>     libtoolize: copying file `build-aux/ltmain.sh'
>     libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
>     libtoolize: copying file `m4/libtool.m4'
>     libtoolize: copying file `m4/ltoptions.m4'
>     libtoolize: copying file `m4/ltsugar.m4'
>     libtoolize: copying file `m4/ltversion.m4'
>     libtoolize: copying file `m4/lt~obsolete.m4'
>     libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT'
>
> I think that your binaries must include debug symbols.  I don't know why
> you would include debug symbols in binaries meant for a
> space-constrained application.

Nope, I don't include debug symbols in my builds at the moment.

Helmut
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to