This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
include/gnu-version.h: _GNU_ARGP_INTERFACE_VERSION ?
- From: Simon Josefsson <jas at extundo dot com>
- To: libc-alpha at sources dot redhat dot com
- Date: Wed, 11 Jun 2003 19:56:03 +0200
- Subject: include/gnu-version.h: _GNU_ARGP_INTERFACE_VERSION ?
Argp in libc has been forked into a standalone package that is used in
several GNU projects (at least lsh, gsasl, probably more), and I'm
trying to provide a maintained standalone and portable argp
implementation via gnulib, so that various projects can pick it up if
they need argp functionality, instead of forking their own copy and
fixing various portability issues in different ways. A thread
discussing this started at:
http://mail.gnu.org/archive/html/bug-gnulib/2003-06/threads.html#00032
and a question was asked in
http://mail.gnu.org/archive/html/bug-gnulib/2003-06/msg00107.html
that I'd like an answer to. Namely:
Can you provide a _GNU_ARGP_INTERFACE_VERSION macro in
include/gnu-version.h?
For reference, the rationale for such a macro is described in the
gnu-version.h header file in libc, quoted below. I also include a
suggested patch.
What do you think?
/* This file exists to define these few macros. Each specifies a version
number associated with the library interface of a piece of the C library
which is also distributed with other GNU packages. These pieces are
both part of the GNU C library and also distributed with other GNU
packages so those packages may use their facilities on systems lacking
the GNU C library. The source files for each piece surround all their
code with `#ifndef ELIDE_CODE' after defining it with this:
#define OBSTACK_INTERFACE_VERSION 1
#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
#include <gnu-versions.h>
#if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
#define ELIDE_CODE
#endif
#endif
This allows those one to avoid compiling those files when part of a GNU
package not libc, on a system using a GNU C library that supports the
same interface.
Please preserve the format of the comments after each macro. And
remember, if any of these versions change, the libc.so major version
number must change too (so avoid it)! */
--- gnu-versions.h.~1.3.~ Fri Jul 6 06:54:52 2001
+++ gnu-versions.h Wed Jun 11 19:50:17 2003
@@ -1,5 +1,5 @@
/* Header with interface version macros for library pieces copied elsewhere.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -49,5 +49,6 @@
#define _GNU_GLOB_INTERFACE_VERSION 1 /* vs posix/glob.c */
#define _GNU_GETOPT_INTERFACE_VERSION 2 /* vs posix/getopt.c and
posix/getopt1.c */
+#define _GNU_ARGP_INTERFACE_VERSION 1 /* vs argp/argp*.c */
#endif /* gnu-versions.h */