libtool version info
authorAleš Křenek <ljocha@ics.muni.cz>
Sat, 15 Oct 2005 14:14:12 +0000 (14:14 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Sat, 15 Oct 2005 14:14:12 +0000 (14:14 +0000)
org.glite.jp.common/Makefile
org.glite.jp.server-common/Makefile

index 801e72f..91685bd 100644 (file)
@@ -32,7 +32,12 @@ DEBUG:=-g -O0
 CFLAGS:=${DEBUG} -I. -I${top_srcdir}/interface -I${stagedir}/include \
        ${GLOBUSINC}
 
-LINK:=libtool --mode=link ${CC} ${LDFLAGS} -rpath ${stagedir}/lib
+offset=0
+version_info:=-version-info ${shell \
+       perl -e '$$,=":"; @F=split "\\.","${version}"; print $$F[0]+$$F[1]+${offset},$$F[2],$$F[1]' }
+
+
+LINK:=libtool --mode=link ${CC} ${LDFLAGS} -rpath ${stagedir}/lib ${version_info}
 LINKXX:=libtool --mode=link ${CXX} ${LDFLAGS} 
 INSTALL:=libtool --mode=install install
 COMPILE:=libtool --mode=compile ${CC} ${CFLAGS}
@@ -44,7 +49,6 @@ OBJS:=${SRCS:.c=.lo}
 
 commonlib:= libglite_jp_common.la
 
-
 TRIO_OBJS:=escape.o trio.o strio.o
 TRIO_LIB:=libglite_jp_trio.la
 TRIO_LOBJS:=${TRIO_OBJS:.o=.lo}
index b0f3cd7..d896ec2 100644 (file)
@@ -30,8 +30,14 @@ CPPFLAGS:=-I. -I${top_srcdir}/interface -I${top_srcdir}/src -I${stagedir}/includ
 CFLAGS:=${DEBUG} -D_GNU_SOURCE
 LDFLAGS:=-L${stagedir}/lib
 
+offset=0
+version_info:=-version-info ${shell \
+       perl -e '$$,=":"; @F=split "\\.","${version}"; print $$F[0]+$$F[1]+${offset},$$F[2],$$F[1]' }
+
+
 COMPILE:=libtool --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS}
 LINK:=libtool --mode=link ${CC} -rpath ${stagedir}/lib ${LDFLAGS} 
+LIBLINK:=${LINK} ${version_info}
 INSTALL:=libtool --mode=install install
 
 GLOBUS_LIBS:=-L${globus_prefix}/lib \
@@ -40,16 +46,6 @@ GLOBUS_LIBS:=-L${globus_prefix}/lib \
 
 TRIOLIB:=-lglite_lb_trio
 
-# FIXME: to use libtool versioning correcty, we should have:
-#
-# current = major + minor + offset
-# revision = patch
-# age = minor
-#
-# where offset is a sum of maximal released minor's of all previous major's
-# 
-version_info=-version-info `echo ${version} | cut -d. -f1,2 | tr . :`
-
 STATICLIB:=libglite_jp_server_common.a
 LTLIB:=libglite_jp_server_common.la
 
@@ -75,7 +71,7 @@ default all: compile examples
 compile: ${LTLIB} ${STATICLIB}
 
 ${LTLIB} ${STATICLIB}: ${OBJS}
-       ${LINK} ${version_info} -o $@ ${LOBJS} ${MYSQLIB}
+       ${LIBLINK} ${version_info} -o $@ ${LOBJS} ${MYSQLIB}
 
 examples: db-test-int