[Top][All Lists]
[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