From bb26c1197c6d7fe61d8b27d0908ba998c6576239 Mon Sep 17 00:00:00 2001 From: paulc Date: Wed, 1 Apr 2015 16:50:56 +0000 Subject: [PATCH] Build, install and use a dynamic library for ASN.1 code. git-svn-id: http://voip.null.ro/svn/yate@5964 acf43c95-373e-0410-b603-e72c3f656dc1 --- Makefile.in | 3 ++- libs/yasn/Makefile.in | 15 +++++++++++++-- libs/ysig/Makefile.in | 9 ++++----- libs/ysnmp/Makefile.in | 2 +- modules/Makefile.in | 10 +++++----- packing/rpm/yate.spec.in | 4 ++++ 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Makefile.in b/Makefile.in index 84a64783..00283a7e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -27,10 +27,11 @@ YLIB := libyate.so.@PACKAGE_VERSION@ SLIBS:= $(YLIB) libyate.so \ libyatescript.so.@PACKAGE_VERSION@ libyatescript.so \ libyatesig.so.@PACKAGE_VERSION@ libyatesig.so \ + libyateasn.so.@PACKAGE_VERSION@ libyateasn.so \ libyategsm.so.@PACKAGE_VERSION@ libyategsm.so \ libyatemgcp.so.@PACKAGE_VERSION@ libyatemgcp.so \ libyatejabber.so.@PACKAGE_VERSION@ libyatejabber.so -ILIBS:= yscript ygsm +ILIBS:= yscript yasn ygsm INCS := yateclass.h yatemime.h yatengine.h yatephone.h yatecbase.h yatexml.h GENS := yateversn.h LIBS := diff --git a/libs/yasn/Makefile.in b/libs/yasn/Makefile.in index c8dcf2f8..4e6c6365 100644 --- a/libs/yasn/Makefile.in +++ b/libs/yasn/Makefile.in @@ -9,11 +9,16 @@ DEFS := INCLUDES := -I@top_srcdir@ -I../.. -I@srcdir@ CFLAGS := @CFLAGS@ @MODULE_CPPFLAGS@ @INLINE_FLAGS@ LDFLAGS:= @LDFLAGS@ -L../.. -lyate +SONAME_OPT := @SONAME_OPT@ +YATELIBS := -L../.. -lyate @LIBS@ INCFILES := @top_srcdir@/yateclass.h @srcdir@/yateasn.h PROGS= LIBS = libyasn.a OBJS = asn.o +LIBD_DEV:= libyateasn.so +LIBD_VER:= $(LIBD_DEV).@PACKAGE_VERSION@ +LIBD:= ../../$(LIBD_VER) ../../$(LIBD_DEV) LOCALFLAGS = LOCALLIBS = @@ -44,7 +49,7 @@ strip: all .PHONY: clean clean: - @-$(RM) $(PROGS) $(LIBS) $(OBJS) core 2>/dev/null + @-$(RM) $(PROGS) $(LIBS) $(LIBD) $(OBJS) core 2>/dev/null %.o: @srcdir@/%.cpp $(INCFILES) $(COMPILE) -c $< @@ -52,5 +57,11 @@ clean: Makefile: @srcdir@/Makefile.in ../../config.status cd ../.. && ./config.status -libyasn.a: $(OBJS) +../../$(LIBD_VER): $(OBJS) + $(LINK) -o $@ $(SONAME_OPT)$(LIBD_VER) $^ $(YATELIBS) + +../../$(LIBD_DEV): ../../$(LIBD_VER) + cd ../.. && ln -sf $(LIBD_VER) $(LIBD_DEV) + +$(LIBS): $(OBJS) $(AR) rcs $@ $^ diff --git a/libs/ysig/Makefile.in b/libs/ysig/Makefile.in index 84ce5e35..95f6a60f 100644 --- a/libs/ysig/Makefile.in +++ b/libs/ysig/Makefile.in @@ -11,8 +11,7 @@ INCLUDES := -I@top_srcdir@ -I../.. -I@srcdir@ -I@top_srcdir@/libs/yasn CFLAGS := @CFLAGS@ @MODULE_CPPFLAGS@ @INLINE_FLAGS@ LDFLAGS:= @LDFLAGS@ SONAME_OPT := @SONAME_OPT@ -YATELIBS := -L../.. -lyate @LIBS@ -YASNLIB := -L../yasn -lyasn +YATELIBS := -L../.. -lyateasn -lyate @LIBS@ INCFILES := @top_srcdir@/yateclass.h @srcdir@/yatesig.h PROGS= yate-ss7test @@ -25,7 +24,7 @@ OBJS = engine.o address.o sigcall.o sigtran.o \ LIBD_VER:= libyatesig.so.@PACKAGE_VERSION@ LIBD_DEV:= libyatesig.so LIBD:= ../../$(LIBD_VER) ../../$(LIBD_DEV) -YASN:= ../yasn/libyasn.a +YASN:= ../../libyateasn.so DOCS = classes.png LOCALFLAGS = @@ -68,12 +67,12 @@ Makefile: @srcdir@/Makefile.in ../../config.status cd ../.. && ./config.status ../../$(LIBD_VER): $(OBJS) $(YASN) - $(LINK) -o $@ $(SONAME_OPT)$(LIBD_VER) $^ $(YASNLIB) $(YATELIBS) + $(LINK) -o $@ $(SONAME_OPT)$(LIBD_VER) $(OBJS) $(YATELIBS) ../../$(LIBD_DEV): ../../$(LIBD_VER) cd ../.. && ln -sf $(LIBD_VER) $(LIBD_DEV) -yate-%: @srcdir@/main-%.cpp $(MKDEPS) $(LIBS) ../../libyate.so $(INCFILES) +yate-%: @srcdir@/main-%.cpp $(MKDEPS) $(LIBS) $(YASN) ../../libyate.so $(INCFILES) $(COMPILE) -o $@ $(LOCALFLAGS) $< $(LIBTHR) $(LDFLAGS) $(LOCALLIBS) $(YATELIBS) $(LIBS): $(OBJS) diff --git a/libs/ysnmp/Makefile.in b/libs/ysnmp/Makefile.in index fb7407e1..0e2dd750 100644 --- a/libs/ysnmp/Makefile.in +++ b/libs/ysnmp/Makefile.in @@ -7,7 +7,7 @@ AR := ar DEFS := INCLUDES := -I@top_srcdir@ -I../.. -I@top_srcdir@/libs/yasn -I@srcdir@ CFLAGS := @CFLAGS@ @MODULE_CPPFLAGS@ @INLINE_FLAGS@ -LDFLAGS:= @LDFLAGS@ -L../yasn -lyasn -L../.. -lyate +LDFLAGS:= @LDFLAGS@ -lyate INCFILES := @top_srcdir@/yateclass.h @top_srcdir@/libs/yasn/yateasn.h @srcdir@/yatesnmp.h PROGS= diff --git a/modules/Makefile.in b/modules/Makefile.in index a28d1f7f..3d3e2062 100644 --- a/modules/Makefile.in +++ b/modules/Makefile.in @@ -314,11 +314,11 @@ server/zapcard.yate: LOCALFLAGS = -I@top_srcdir@/libs/ysig @ZAP_FLAGS@ $(JUSTSIG) server/wpcard.yate server/tdmcard.yate server/zapcard.yate: LOCALLIBS = -lyatesig sig/ss7_lnp_ansi.yate: LOCALFLAGS = -I@top_srcdir@/libs/ysig -I@top_srcdir@/libs/yasn -sig/ss7_lnp_ansi.yate: LOCALLIBS = -lyatesig -L../libs/yasn -lyasn +sig/ss7_lnp_ansi.yate: LOCALLIBS = -lyatesig -lyateasn sig/camel_map.yate: ../libs/yasn/libyasn.a sig/camel_map.yate: LOCALFLAGS = -I@top_srcdir@/libs/ysig -I@top_srcdir@/libs/yasn -sig/camel_map.yate: LOCALLIBS = -lyatesig -L../libs/yasn -lyasn +sig/camel_map.yate: LOCALLIBS = -lyatesig -lyateasn server/analogdetect.yate: ../libs/ymodem/libyatemodem.a server/analogdetect.yate: LOCALFLAGS = -I@top_srcdir@/libs/ymodem @@ -411,9 +411,9 @@ javascript.yate: LOCALLIBS = -lyatescript -L../libs/ypbx -lyatepbx zlibcompress.yate: EXTERNFLAGS = $(ZLIB_INC) zlibcompress.yate: EXTERNLIBS = $(ZLIB_LIB) -server/ysnmpagent.yate: ../libs/yasn/libyasn.a ../libs/ysnmp/libysnmp.a +server/ysnmpagent.yate: ../libyateasn.so ../libs/ysnmp/libysnmp.a server/ysnmpagent.yate: LOCALFLAGS = -I@top_srcdir@/libs/yasn -I@top_srcdir@/libs/ysnmp -server/ysnmpagent.yate: LOCALLIBS = -L../libs/yasn -lyasn -L../libs/ysnmp -lysnmp +server/ysnmpagent.yate: LOCALLIBS = -L../libs/ysnmp -lysnmp -lyateasn ../libyatesig.so ../libs/ysig/libyatesig.a: @top_srcdir@/libs/ysig/yatesig.h $(MAKE) -C ../libs/ysig @@ -454,7 +454,7 @@ server/ysnmpagent.yate: LOCALLIBS = -L../libs/yasn -lyasn -L../libs/ysnmp -lysnm ../libyateqt4.so: @top_srcdir@/clients/qt4/qt4client.h $(MAKE) -C ../clients/qt4 -../libs/yasn/libyasn.a: @top_srcdir@/libs/yasn/yateasn.h +../libyateasn.so ../libs/yasn/libyasn.a: @top_srcdir@/libs/yasn/yateasn.h $(MAKE) -C ../libs/yasn ../libs/ysnmp/libysnmp.a: @top_srcdir@/libs/ysnmp/yatesnmp.h diff --git a/packing/rpm/yate.spec.in b/packing/rpm/yate.spec.in index df736a77..7c22c9f5 100644 --- a/packing/rpm/yate.spec.in +++ b/packing/rpm/yate.spec.in @@ -94,6 +94,7 @@ for small to large scale projects. %{_libdir}/libyatescript.so.* %{_libdir}/libyatejabber.so.* %{_libdir}/libyatesig.so.* +%{_libdir}/libyateasn.so.* %{_libdir}/libyategsm.so.* %{_libdir}/libyatemgcp.so.* %{_bindir}/yate @@ -637,6 +638,9 @@ rm -rf %{buildroot} %changelog +* Wed Apr 01 2015 Paul Chitescu +- Package the new dynamic libyateasn.so + * Tue Apr 29 2014 Paul Chitescu - Added SQLite module and subpackage