bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: check_version


From: Simon Josefsson
Subject: Re: check_version
Date: Sat, 16 Jul 2005 21:43:45 +0200
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux)

Bruno Haible <address@hidden> writes:

>> The gnulib module could set
>> something like that up, to avoid manual config.h additions.
>
> The name of the xxx_check_version function is something that each package
> will want to define explicitly. I don't think deducing its name through a
> rule is not flexible enough.

I installed the patch below.  However, I am less certain check-version
is a good idea now; having a AC_DEFINE seem somewhat hackish.  And the
module is very small.  I'll see if it works out on some of my
packages, otherwise I might remove the entire module eventually.

Index: doc/ChangeLog
===================================================================
RCS file: /cvsroot/gnulib/gnulib/doc/ChangeLog,v
retrieving revision 1.15
diff -u -p -r1.15 ChangeLog
--- doc/ChangeLog       11 Jul 2005 15:12:49 -0000      1.15
+++ doc/ChangeLog       16 Jul 2005 19:40:57 -0000
@@ -1,3 +1,8 @@
+2005-07-16  Simon Josefsson  <address@hidden>
+
+       * gnulib.texi (Library version handling): Add ELF symbol collision
+       workaround, suggested by Bruno.
+
 2005-07-11  Karl Berry  <address@hidden>
 
        * gnulib.texi (Quoting): new node.
Index: doc/gnulib.texi
===================================================================
RCS file: /cvsroot/gnulib/gnulib/doc/gnulib.texi,v
retrieving revision 1.12
diff -u -p -r1.12 gnulib.texi
--- doc/gnulib.texi     11 Jul 2005 16:45:26 -0000      1.12
+++ doc/gnulib.texi     16 Jul 2005 19:40:57 -0000
@@ -295,7 +295,7 @@ fail.
 @node Library version handling
 @section Library version handling
 
-The module ``check_version'' can be useful when your gnulib
+The module @samp{check-version} can be useful when your gnulib
 application is a system library.  You will typically wrap the call to
 the @code{check_version} function through a library API, your library
 header file may contain:
@@ -306,8 +306,16 @@ header file may contain:
   extern const char *stringprep_check_version (const char *req_version);
 @end example
 
-The implementation of @code{stringprep_check_version} would simply
-pass on the call to @code{check_version}.
+To avoid ELF symbol collisions with other libraries that use the
address@hidden module, add to @file{config.h} through a
+AC_DEFINE something like:
+
address@hidden
+AC_DEFINE(check_version, stringprep_check_version, [Rename check_version.])
address@hidden example
+
+The @code{stringprep_check_version} function will thus be implemented
+by the @code{check_version} module.
 
 There are two uses of the interface.  The first is a way to provide
 for applications to find out the version number of the library it




reply via email to

[Prev in Thread] Current Thread [Next in Thread]