From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 11 Aug 2006 22:44:53 +0400 From: Sergey Vlasov To: ALT Devel discussion list Message-ID: <20060811184453.GD15128@procyon.home> Mail-Followup-To: ALT Devel discussion list Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="fXStkuK2IQBfcDe+" Content-Disposition: inline Subject: [devel] [RFC] libopenobex-1.3 symbol versioning patch X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Aug 2006 18:45:39 -0000 Archived-At: List-Archive: List-Post: --fXStkuK2IQBfcDe+ Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello! =F0=D2=CF=DB=D5 =D7=D9=D3=CB=C1=DA=C1=D4=D8 =DA=C1=CD=C5=DE=C1=CE=C9=D1 =D0= =CF =D0=D2=C9=CC=C1=C7=C1=C5=CD=CF=CD=D5 =D0=C1=D4=DE=D5, =CB=CF=D4=CF=D2= =D9=CA =C4=CF=C2=C1=D7=CC=D1=C5=D4 symbol versioning =D7 libopenobex-1.3 (=D3=C5=CA=DE=C1=D3 =D7 =F3=C9=DA=C9= =C6=C5 =CC=C5=D6=C9=D4 1.0.1). =E7=CC=D5=C2=D6=C5 =D7=C5=D2=D3=C9=C9 1.0.0 =D1 =CB=CF=D0=C1=D4=D8 =CE=C5 = =D3=D4=C1=CC (=DC=D4=CF =CB=CF=CE=C5=C3 2002 =C7=CF=C4=C1, 1.0.1, =C7=C4=C5 =CE=C5 =D3=C4=C5=CC=C1=CC=C9 =CE=C9=DE=C5=C7=CF =D3=D5=DD=C5=D3=D4=D7=C5=CE= =CE=CF=C7=CF - =CF=CB=D4=D1=C2=D2=D8 2003). =EE=C1 =D4=CF, =DE=D4=CF =C2= =D9=CC=CF =D7 =DC=D4=C9=C8 =D7=C5=D2=D3=C9=D1=C8, =D1 =D0=CF=D3=D4=C1=D7=C9=CC =D7=C5=D2= =D3=C9=C0 OPENOBEX_1.0 (=CD=CF=D6=CE=CF =C2=D9=CC=CF, =CB=CF=CE=C5=DE=CE=CF, =CE=C1=D0=C9=D3=C1=D4=D8 1.0.0, =CE=CF =D0=CF=DA=C4=CE=C5=C5 =C6=CF=D2=CD= =C1=D4 =D7=C5=D2=D3=C9=CA =CE=C5=CD=CE=CF=C7=CF =D3=CD=C5=CE=C9=CC=D3=D1). =E6=D5=CE=CB=C3=C9=C9 OBEX_SetUserCallBack, OBEX_SetTransportMTU, OBEX_Serv= erAccept, OBEX_ObjectReParseHeaders =CE=C1 =D3=C1=CD=CF=CD =C4=C5=CC=C5 =C2=D9=CC=C9 = =C5=DD=A3 =D7 1.0.0, =CE=CF =C6=C1=CB=D4=C9=DE=C5=D3=CB=C9 =CE=C5 =C2=D9=CC=C9 =C4=CF=D3=D4=D5=D0=CE=D9= =C9=DA-=DA=C1 =C6=C9=CC=D8=D4=D2=C1=C3=C9=C9 =D3=C9=CD=D7=CF=CC=CF=D7 =D0= =CF lib/obex.sym, =C7=C4=C5 =CF=CE=C9 =C2=D9=CC=C9 =D0=D2=CF=D0=D5=DD=C5=CE=D9 (=DC=D4=C1 =CF= =DB=C9=C2=CB=C1 =C2=D9=CC=C1 =C9=D3=D0=D2=C1=D7=CC=C5=CE=C1 =D5=D6=C5 =D0= =CF=D3=CC=C5 =D7=D9=C8=CF=C4=C1 1.0.1, =C9 =D0=C5=D2=D7=D9=CA =D2=C5=CC=C9=DA, =D7 =CB=CF=D4=CF=D2=D9=CA = =D0=CF=D0=C1=CC=CF =C9=D3=D0=D2=C1=D7=CC=C5=CE=C9=C5 - 1.1), =D0=CF=DC=D4= =CF=CD=D5 =D1 =D0=CF=D3=D4=C1=D7=C9=CC =C4=CC=D1 =DC=D4=C9=C8 =D3=C9=CD=D7=CF=CC=CF=D7 = =D7=C5=D2=D3=C9=C0 OPENOBEX_1.1, =CB=C1=CB =C9 =C4=CC=D1 =C4=CF=C2=C1=D7=CC= =C5=CE=CE=D9=C8 =D0=CF=DA=C4=CE=C5=C5 =D7 =C8=CF=C4=C5 =D2=C1=DA=D2=C1=C2=CF=D4=CB=C9 1.1 O= BEX_SuspendRequest, OBEX_ResumeRequest, OBEX_InterfaceConnect, OBEX_FindInterfaces, OBEX_FreeInterfaces. =F0=CF=D3=CC=C5 1.1 =D7=D2=CF=C4=C5 =C2=D9 =C9=DA=CD=C5=CE=C5=CE=C9=CA ABI = =C2=CF=CC=D8=DB=C5 =CE=C5 =C2=D9=CC=CF (=D7=CF =D7=D3=D1=CB=CF=CD =D3=CC=D5= =DE=C1=C5, =C6=C1=CA=CC lib/obex.sym =C2=CF=CC=D8=DB=C5 =CE=C5 =CD=C5=CE=D1=CC=D3=D1). =F4=C5=D3=D4 =C4=CC=D1 autoconf =D3=C1=CD=CF=D0=C1=CC=D8=CE=D9=CA - =D7=CF= =DA=CD=CF=D6=CE=CF, =D5 =CB=CF=C7=CF-=D4=CF =C5=D3=D4=D8 =D7=C1=D2=C9=C1=CE= =D4=D9 =CC=D5=DE=DB=C5? --- openobex-1.3/lib/Makefile.am.alt-symbol-versions 2006-08-11 16:38:36 +0= 400 +++ openobex-1.3/lib/Makefile.am 2006-08-11 22:05:23 +0400 @@ -17,14 +17,20 @@ libopenobex_la_SOURCES =3D \ irda.h irda_wrap.h \ usbobex.c usbobex.h =20 +if VERSIONED_SYMBOLS +VSYMS =3D -Wl,--version-script=3D$(srcdir)/obex.ver +else +VSYMS =3D -export-symbols $(srcdir)/obex.sym +endif + libopenobex_la_LDFLAGS =3D \ -version-info 4:0:3 \ - -export-symbols $(top_srcdir)/lib/obex.sym + $(VSYMS) =20 libopenobex_la_LIBADD =3D @USB_LIBS@ =20 INCLUDES =3D -I$(top_builddir)/include =20 -EXTRA_DIST =3D obex.sym win32compat.c +EXTRA_DIST =3D obex.ver obex.sym win32compat.c =20 MAINTAINERCLEANFILES =3D Makefile.in --- openobex-1.3/lib/obex.ver.alt-symbol-versions 2006-08-11 22:05:23 +0400 +++ openobex-1.3/lib/obex.ver 2006-08-11 22:05:23 +0400 @@ -0,0 +1,57 @@ +OPENOBEX_1.0 { +global: + + OBEX_Init; + OBEX_Cleanup; + OBEX_RegisterCTransport; + OBEX_SetCustomData; + OBEX_GetCustomData; + OBEX_TransportConnect; + OBEX_TransportDisconnect; + OBEX_CustomDataFeed; + OBEX_GetFD; + OBEX_HandleInput; + OBEX_ServerRegister; + OBEX_Request; + OBEX_CancelRequest; + OBEX_SetUserData; + OBEX_GetUserData; + OBEX_ObjectNew; + OBEX_ObjectDelete; + OBEX_ObjectAddHeader; + OBEX_ObjectGetNextHeader; + OBEX_ObjectReadStream; + OBEX_ObjectSetRsp; + OBEX_ObjectGetNonHdrData; + OBEX_ObjectSetNonHdrData; + OBEX_ObjectSetHdrOffset; + OBEX_UnicodeToChar; + OBEX_CharToUnicode; + OBEX_ResponseToString; + OBEX_GetResponseMessage; + InOBEX_ServerRegister; + InOBEX_TransportConnect; + IrOBEX_ServerRegister; + IrOBEX_TransportConnect; + BtOBEX_ServerRegister; + BtOBEX_TransportConnect; + FdOBEX_TransportSetup; + +local: + *; +}; + +OPENOBEX_1.1 { +global: + + OBEX_FindInterfaces; + OBEX_FreeInterfaces; + OBEX_InterfaceConnect; + OBEX_ObjectReParseHeaders; + OBEX_ResumeRequest; + OBEX_ServerAccept; + OBEX_SetTransportMTU; + OBEX_SetUserCallBack; + OBEX_SuspendRequest; + +} OPENOBEX_1.0; --- openobex-1.3/acinclude.m4.alt-symbol-versions 2006-08-11 16:38:36 +0400 +++ openobex-1.3/acinclude.m4 2006-08-11 22:12:09 +0400 @@ -44,6 +44,55 @@ AC_DEFUN([AC_INIT_OPENOBEX], [ AC_DEFINE_UNQUOTED(CONFIGDIR, "${configdir}", [Directory for the configur= ation files]) ]) =20 +AC_DEFUN([AC_CHECK_VERSIONED_SYMBOLS], [ + AC_ARG_ENABLE(symbol-versions, + AC_HELP_STRING([--disable-symbol-versions], [do not compile shared libr= ary with versioned symbols]), + versioned=3D"$withval", versioned=3D"yes") + if test "$versioned" =3D "yes"; then + AC_CACHE_CHECK([whether -Wl,--version-script=3D... works], ac_cv_versio= n_script_works, [ + cat <conftest.ver +TEST_1.0 { +global: + test_1_0; +local: + *; +}; +TEST_1.1 { +global: + test_1_1; +} TEST_1.0; +ACEOF + saved_LDFLAGS=3D"$LDFLAGS" + LDFLAGS=3D"$LDFLAGS -shared -Wl,--version-script=3Dconftest.ver" + AC_TRY_LINK([ + int test_1_0(void) + { + return 0; + } + int test_1_1(void) + { + return 1; + } + ], [], + [ac_cv_version_script_works=3Dyes], + [ac_cv_version_script_works=3Dno]) + LDFLAGS=3D"$saved_LDFLAGS" + ]) + if test "$ac_cv_version_script_works" =3D "yes"; then + : + else + versioned=3Dno + fi + fi + AC_MSG_CHECKING(for versioned symbols) + if test "$versioned" =3D "yes"; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + AM_CONDITIONAL(VERSIONED_SYMBOLS, test x$versioned =3D xyes) +]) + AC_DEFUN([AC_PATH_IRDA], [ AC_CACHE_CHECK([for IrDA support], irda_found, [ AC_TRY_COMPILE([ --- openobex-1.3/configure.in.alt-symbol-versions 2006-08-11 16:38:36 +0400 +++ openobex-1.3/configure.in 2006-08-11 22:05:23 +0400 @@ -18,6 +18,7 @@ m4_define([_LT_AC_TAGCONFIG], []) m4_ifdef([AC_LIBTOOL_TAGS], [AC_LIBTOOL_TAGS([])]) =20 AC_PROG_LIBTOOL +AC_CHECK_VERSIONED_SYMBOLS =20 AC_PATH_IRDA AC_PATH_BLUEZ --=20 Sergey Vlasov --fXStkuK2IQBfcDe+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQFE3NAlW82GfkQfsqIRAs0NAJ9sh7fhW8ePsHYnBa92GbnvoWlj+ACghf9M bN1YhtVZI27beSRNaUnjeK8= =amtH -----END PGP SIGNATURE----- --fXStkuK2IQBfcDe+--