corrected libtool shared library versioning and project version
---------------------------------------------------------------

                 Key: AVRO-168
                 URL: https://issues.apache.org/jira/browse/AVRO-168
             Project: Avro
          Issue Type: Improvement
    Affects Versions: 1.2.0, 1.1.0, 1.0.0
         Environment: CentOS 5.3, MacOS X
            Reporter: Matt Massie
             Fix For: 1.2.1, 1.3.0


Up to this point, the autotools configuration for C did not manage the shared 
library version information.

Also, the project version was hard-cored at "1".

I've fixed this by doing the following:
1. created a top-level "version.sh" file which pull the project version from 
build.xml or calculates the current, revision and age for libtool
2. used the m4_esyscmd() macro where needed to insert the correct version 
information *without* a dependency on version.sh
3. added the -version-info and -release LDFLAGS to libavro 

The top-level version.sh script has nice comments to make it easy for C 
developers to know what to do when there are changes to libavro.

Tested the fix by running
$ autoreconf -f -i
$ mkdir _build
$ cd _build
$ ../configure && make distcheck
$ gunzip < avro-c-*.tar.gz | tar -xvf -
$ cd avro-c*
$ ./configure --prefix=/tmp/testavro && make install && find /tmp/testavro
/tmp/testavro
/tmp/testavro/include
/tmp/testavro/include/avro.h
/tmp/testavro/lib
/tmp/testavro/lib/libavro.so
/tmp/testavro/lib/libavro.la
/tmp/testavro/lib/libavro-1.2.0-dev.so.0
/tmp/testavro/lib/libavro.a
/tmp/testavro/lib/libavro-1.2.0-dev.so.0.0.1

which shows that the top-level project version and the public API version 
information for libavro are being processed correctly now



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to