diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2013-12-13 18:54:28 +0100 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-12-17 16:30:32 -0800 |
commit | 38b7a52b618b98f03f089d0dff4050ec76fd06d4 (patch) | |
tree | 325b453ce25ca88dddd57a8b0b3a794ad201c2cd /utilities | |
parent | 45ebaaf58c8dd017b5ba6a1ea18b77b8760a41e8 (diff) | |
download | openvswitch-38b7a52b618b98f03f089d0dff4050ec76fd06d4.tar.gz |
openvswitch: Use libtool and allow building shared libs
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".
Since the openvswitch library interfaces are internal and thus not
stable (yet) encode the openvswitch version into the library name:
libopenvswitch-2.0.90.so
Binary size is reduced to around 1/3 when using shared libs.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'utilities')
-rw-r--r-- | utilities/automake.mk | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/utilities/automake.mk b/utilities/automake.mk index b7a4d73f2..ffc48b184 100644 --- a/utilities/automake.mk +++ b/utilities/automake.mk @@ -97,32 +97,32 @@ man_MANS += \ dist_man_MANS += utilities/ovs-ctl.8 utilities_ovs_appctl_SOURCES = utilities/ovs-appctl.c -utilities_ovs_appctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS) +utilities_ovs_appctl_LDADD = lib/libopenvswitch.la $(SSL_LIBS) utilities_ovs_dpctl_SOURCES = utilities/ovs-dpctl.c -utilities_ovs_dpctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS) +utilities_ovs_dpctl_LDADD = lib/libopenvswitch.la $(SSL_LIBS) utilities_ovs_ofctl_SOURCES = utilities/ovs-ofctl.c utilities_ovs_ofctl_LDADD = \ - ofproto/libofproto.a \ - lib/libopenvswitch.a \ + ofproto/libofproto.la \ + lib/libopenvswitch.la \ $(SSL_LIBS) utilities_ovs_vsctl_SOURCES = utilities/ovs-vsctl.c -utilities_ovs_vsctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS) +utilities_ovs_vsctl_LDADD = lib/libopenvswitch.la $(SSL_LIBS) if LINUX_DATAPATH sbin_PROGRAMS += utilities/ovs-vlan-bug-workaround utilities_ovs_vlan_bug_workaround_SOURCES = utilities/ovs-vlan-bug-workaround.c -utilities_ovs_vlan_bug_workaround_LDADD = lib/libopenvswitch.a $(SSL_LIBS) +utilities_ovs_vlan_bug_workaround_LDADD = lib/libopenvswitch.la $(SSL_LIBS) noinst_PROGRAMS += utilities/nlmon utilities_nlmon_SOURCES = utilities/nlmon.c -utilities_nlmon_LDADD = lib/libopenvswitch.a $(SSL_LIBS) +utilities_nlmon_LDADD = lib/libopenvswitch.la $(SSL_LIBS) endif bin_PROGRAMS += utilities/ovs-benchmark utilities_ovs_benchmark_SOURCES = utilities/ovs-benchmark.c -utilities_ovs_benchmark_LDADD = lib/libopenvswitch.a $(SSL_LIBS) +utilities_ovs_benchmark_LDADD = lib/libopenvswitch.la $(SSL_LIBS) include utilities/bugtool/automake.mk |