diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2017-02-16 12:32:02 +0100 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2017-02-17 10:55:28 +0100 |
commit | e22cc80923f94e54c9384421904461958899db5b (patch) | |
tree | 944b0153b16386401f56572375440e15199bc2fc /lib | |
parent | b3248e684cedf66239710a5f16a6b45294f183bc (diff) |
Move print_version into printversion.{h|c}
Rename version.c so that the implementation is called after the header
and the header doesn't clash with the toplevel version.h. print_version
depends on argp and is only used in the tools.
Signed-off-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ChangeLog | 13 | ||||
-rw-r--r-- | lib/Makefile.am | 4 | ||||
-rw-r--r-- | lib/printversion.c (renamed from lib/version.c) | 4 | ||||
-rw-r--r-- | lib/printversion.h | 49 | ||||
-rw-r--r-- | lib/system.h | 16 |
5 files changed, 65 insertions, 21 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index fd63e039..84290f79 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,16 @@ +2017-02-16 Ulf Hermann <ulf.hermann@qt.io> + + * Makefile.am (libeu_a_SOURCES): Remove version.c, add printversion.c + (noinst_HEADERS): Add printversion.h + * version.c: Moved to printversion.c. + * printversion.c: New file, moved from version.c, + remove stdio.h, argp.h, system.h includes, + add printversion.h include. + * printversion.h: New file. + * system.h: Remove argp.h include, + (ARGP_PROGRAM_VERSION_HOOK_DEF, ARGP_PROGRAM_BUG_ADDRESS_DEF): Remove. + (print_version): Remove. + 2017-02-15 Ulf Hermann <ulf.hermann@qt.io> * system.h: Provide mempcpy if it doesn't exist. diff --git a/lib/Makefile.am b/lib/Makefile.am index 3e0c601f..7a65eb91 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -35,10 +35,10 @@ noinst_LIBRARIES = libeu.a libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \ crc32.c crc32_file.c md5.c sha1.c \ - color.c version.c + color.c printversion.c noinst_HEADERS = fixedsizehash.h libeu.h system.h dynamicsizehash.h list.h \ - md5.h sha1.h eu-config.h color.h + md5.h sha1.h eu-config.h color.h printversion.h EXTRA_DIST = dynamicsizehash.c if !GPROF diff --git a/lib/version.c b/lib/printversion.c index b8d70cbf..4056b938 100644 --- a/lib/version.c +++ b/lib/printversion.c @@ -30,10 +30,8 @@ # include <config.h> #endif -#include <argp.h> #include <libintl.h> -#include <stdio.h> -#include "system.h" +#include "printversion.h" void print_version (FILE *stream, struct argp_state *state) diff --git a/lib/printversion.h b/lib/printversion.h new file mode 100644 index 00000000..a9e059ff --- /dev/null +++ b/lib/printversion.h @@ -0,0 +1,49 @@ +/* Common argp_print_version_hook for all tools. + Copyright (C) 2017 The Qt Company Ltd. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifndef PRINTVERSION_H +#define PRINTVERSION_H 1 + +#include <argp.h> +#include <stdio.h> + +/* Defined in version.c. Common ARGP_PROGRAM_VERSION_HOOK_DEF. */ +void print_version (FILE *stream, struct argp_state *state); + +/* We need define two variables, argp_program_version_hook and + argp_program_bug_address, in all programs. argp.h declares these + variables as non-const (which is correct in general). But we can + do better, it is not going to change. So we want to move them into + the .rodata section. Define macros to do the trick. */ +#define ARGP_PROGRAM_VERSION_HOOK_DEF \ + void (*const apvh) (FILE *, struct argp_state *) \ + __asm ("argp_program_version_hook") +#define ARGP_PROGRAM_BUG_ADDRESS_DEF \ + const char *const apba__ __asm ("argp_program_bug_address") + +#endif // PRINTVERSION_H diff --git a/lib/system.h b/lib/system.h index 429b0c33..2d057025 100644 --- a/lib/system.h +++ b/lib/system.h @@ -33,7 +33,6 @@ # include <config.h> #endif -#include <argp.h> #include <errno.h> #include <stddef.h> #include <stdint.h> @@ -145,21 +144,6 @@ pread_retry (int fd, void *buf, size_t len, off_t off) return recvd; } - -/* We need define two variables, argp_program_version_hook and - argp_program_bug_address, in all programs. argp.h declares these - variables as non-const (which is correct in general). But we can - do better, it is not going to change. So we want to move them into - the .rodata section. Define macros to do the trick. */ -#define ARGP_PROGRAM_VERSION_HOOK_DEF \ - void (*const apvh) (FILE *, struct argp_state *) \ - __asm ("argp_program_version_hook") -#define ARGP_PROGRAM_BUG_ADDRESS_DEF \ - const char *const apba__ __asm ("argp_program_bug_address") - -/* Defined in version.c. Common ARGP_PROGRAM_VERSION_HOOK_DEF. */ -void print_version (FILE *stream, struct argp_state *state); - /* The demangler from libstdc++. */ extern char *__cxa_demangle (const char *mangled_name, char *output_buffer, size_t *length, int *status); |