Build: Add support for shared libraries and versioning.
authorScott Mann <smann@noironetworks.com>
Sat, 8 Nov 2014 03:02:09 +0000 (19:02 -0800)
committerBen Pfaff <blp@nicira.com>
Wed, 12 Nov 2014 06:08:41 +0000 (22:08 -0800)
commit7f2f24e379d9ca65c20d072a6c0adb1c6c8a9cce
tree2f5160c7e2667271a001f63c63ca41aa5c752b24
parent86f35fb5c6117f2482e91776e7c5fe71668720fb
Build: Add support for shared libraries and versioning.

These changes allow for the building of shared libraries by providing
the --enable-shared option to configure. In particular, lib/libopenvwitch.so,
lib/libsflow.so, ofproto/libofproto.so, and ovsdb/libovsdb.so will be built.
Original behavior of building static remains the same.

Additionally, versioning is introduced to each of the libraries objects
paving the way for APIs to be built around them. A detailed comment
outlining the rules for changing a version number is provided in
configure.ac. Note that at this time, the version number is set to
1.0.0, no API is specified yet, and there are no requirements to
maintain any sort of compatibility in any of the libraries.

Signed-off-by: Scott Mann <smann@noironetworks.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
12 files changed:
.gitignore
.travis/build.sh
AUTHORS
configure.ac
lib/automake.mk
lib/libopenvswitch.sym.in [new file with mode: 0644]
lib/libsflow.sym.in [new file with mode: 0644]
lib/util.c
ofproto/automake.mk
ofproto/libofproto.sym.in [new file with mode: 0644]
ovsdb/automake.mk
ovsdb/libovsdb.sym.in [new file with mode: 0644]