bug-libunistring
[Top][All Lists]
Advanced

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

Re: [bug-libunistring] [PATCH] Restore cdefs.h header


From: Daiki Ueno
Subject: Re: [bug-libunistring] [PATCH] Restore cdefs.h header
Date: Thu, 07 May 2020 20:16:58 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Dmitry Baryshkov <address@hidden> writes:

> Current gnulib has replaced self-contained unused-parameter.h header
> with the snippet that depends on config.h contents. Using this snippet
> as is breaks users of Unistring, because resulting cdefs.h becomes
> unusable. Restore cdefs.h using

Thank you for the report and the patch.  I've applied a slightly
different change as attached.

>From 216010baaeb5577b199c4ae122121673254a189f Mon Sep 17 00:00:00 2001
From: Daiki Ueno <address@hidden>
Date: Thu, 7 May 2020 20:06:18 +0200
Subject: [PATCH] build: Update after gnulib changed

In the latest Gnulib, the definition of _GL_UNUSED_PARAMETER is
expanded at configure time of the consumer project.  Let's include
only the fallback definition in <unistring/cdefs.h>.

Suggested by Dmitry Baryshkov <address@hidden> in:
<https://lists.gnu.org/archive/html/bug-libunistring/2020-05/msg00001.html>.

* lib/Makefile.am (unistring/cdefs.h): Don't generate the file.
* lib/unistring/cdefs.h: Include the expanded form instead of ...
* lib/unistring/cdefs.in.h: ... this.
* gnulib-m4/.gitignore, gnulib-m4/gnulib-cache.m4, lib/.gitignore,
tests/.gitignore: Updated.
---
 ChangeLog                 | 14 ++++++++
 gnulib-m4/.gitignore      |  6 ++++
 gnulib-m4/gnulib-cache.m4 |  2 +-
 lib/.gitignore            | 10 ++++++
 lib/Makefile.am           | 13 +-------
 lib/unistring/cdefs.h     | 67 +++++++++++++++++++++++++++++++++++++++
 lib/unistring/cdefs.in.h  | 22 -------------
 tests/.gitignore          |  8 +++++
 8 files changed, 107 insertions(+), 35 deletions(-)
 create mode 100644 lib/unistring/cdefs.h
 delete mode 100644 lib/unistring/cdefs.in.h

diff --git a/ChangeLog b/ChangeLog
index ec6af31..e37bcb6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2020-05-07  Daiki Ueno  <address@hidden>
+
+       build: Update after gnulib changed
+       In the latest Gnulib, the definition of _GL_UNUSED_PARAMETER is
+       expanded at configure time of the consumer project.  Let's include
+       only the fallback definition in <unistring/cdefs.h>.
+       Suggested by Dmitry Baryshkov <address@hidden> in:
+       
<https://lists.gnu.org/archive/html/bug-libunistring/2020-05/msg00001.html>.
+       * lib/Makefile.am (unistring/cdefs.h): Don't generate the file.
+       * lib/unistring/cdefs.h: Include the expanded form instead of ...
+       * lib/unistring/cdefs.in.h: ... this.
+       * gnulib-m4/.gitignore, gnulib-m4/gnulib-cache.m4, lib/.gitignore,
+       tests/.gitignore: Updated.
+
 2019-12-23  Bruno Haible  <address@hidden>
 
        doc: Update description of locale_charset.
diff --git a/gnulib-m4/.gitignore b/gnulib-m4/.gitignore
index 57ce54b..961656c 100644
--- a/gnulib-m4/.gitignore
+++ b/gnulib-m4/.gitignore
@@ -174,3 +174,9 @@
 /xalloc.m4
 /xsize.m4
 /yield.m4
+/iswdigit.m4
+/iswxdigit.m4
+/musl.m4
+/semaphore.m4
+/visibility.m4
+/zzgnulib.m4
diff --git a/gnulib-m4/gnulib-cache.m4 b/gnulib-m4/gnulib-cache.m4
index 6d0ca98..bbb1478 100644
--- a/gnulib-m4/gnulib-cache.m4
+++ b/gnulib-m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2019 Free Software Foundation, Inc.
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/lib/.gitignore b/lib/.gitignore
index 3e4f5ff..dbfe1f3 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -158,3 +158,13 @@
 
 # Files generated by "make" and distributed (i.e. kept by "make distclean").
 /libunistring.sym
+/attribute.h
+/inttypes.in.h
+/iswdigit.c
+/iswxdigit.c
+/lc-charset-dispatch.c
+/lc-charset-dispatch.h
+/mbrtowc-impl-utf8.h
+/mbrtowc-impl.h
+/mbtowc-lock.c
+/mbtowc-lock.h
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 3798a0a..6136ced 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -163,18 +163,7 @@ CLEANFILES       += unistring/iconveh.h
 nobase_nodist_include_HEADERS += unistring/version.h
 
 # unistring/cdefs.h is not public, but is included by other header files.
-nobase_nodist_include_HEADERS += unistring/cdefs.h
-unistring/cdefs.h : unistring/cdefs.in.h $(UNUSED_PARAMETER_H)
-       @MKDIR_P@ unistring
-       rm -f $@-t $@
-       sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \
-           < $(srcdir)/unistring/cdefs.in.h \
-           > $@-t
-       mv $@-t $@
-BUILT_SOURCES    += unistring/cdefs.h
-MOSTLYCLEANFILES += unistring/cdefs.h-t
-CLEANFILES       += unistring/cdefs.h
-EXTRA_DIST       += unistring/cdefs.in.h
+nobase_include_HEADERS += unistring/cdefs.h
 
 # unistring/woe32dll.h is not public, but is included by other header files.
 nobase_nodist_include_HEADERS += unistring/woe32dll.h
diff --git a/lib/unistring/cdefs.h b/lib/unistring/cdefs.h
new file mode 100644
index 0000000..502da17
--- /dev/null
+++ b/lib/unistring/cdefs.h
@@ -0,0 +1,67 @@
+/* Common macro definitions for C include files.
+   Copyright (C) 2009 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of 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.
+
+   This program 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _UNISTRING_CDEFS_H
+#define _UNISTRING_CDEFS_H
+
+/* The definition of _GL_UNUSED_PARAMETER is copied here.  */
+/* A C macro for declaring that specific function parameters are not used.
+   Copyright (C) 2008-2020 Free Software Foundation, Inc.
+
+   This program 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.
+   This program 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
+   declarations for parameters that are not used.  This helps to reduce
+   warnings, such as from GCC -Wunused-parameter.  The syntax is as follows:
+       type param _GL_UNUSED_PARAMETER
+   or more generally
+       param_decl _GL_UNUSED_PARAMETER
+   For example:
+       int param _GL_UNUSED_PARAMETER
+       int *(*param)(void) _GL_UNUSED_PARAMETER
+   Other possible, but obscure and discouraged syntaxes:
+       int _GL_UNUSED_PARAMETER *(*param)(void)
+       _GL_UNUSED_PARAMETER int *(*param)(void)
+ */
+#ifndef _GL_UNUSED_PARAMETER
+# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+#  define _GL_UNUSED_PARAMETER __attribute__ ((__unused__))
+# else
+#  define _GL_UNUSED_PARAMETER
+# endif
+#endif
+
+#endif /* _UNISTRING_CDEFS_H */
diff --git a/lib/unistring/cdefs.in.h b/lib/unistring/cdefs.in.h
deleted file mode 100644
index 838f8c1..0000000
--- a/lib/unistring/cdefs.in.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Common macro definitions for C include files.
-   Copyright (C) 2009 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of 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.
-
-   This program 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
-
-#ifndef _UNISTRING_CDEFS_H
-#define _UNISTRING_CDEFS_H
-
-/* The definition of _GL_UNUSED_PARAMETER is copied here.  */
-
-#endif /* _UNISTRING_CDEFS_H */
diff --git a/tests/.gitignore b/tests/.gitignore
index e903908..1e0ecd3 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -305,3 +305,11 @@
 
 # Files generated by the autotools:
 /Makefile.in
+/test-iswdigit.c
+/test-iswdigit.sh
+/test-iswxdigit.c
+/test-iswxdigit.sh
+/test-mbrtowc-w32-6.sh
+/test-mbrtowc-w32-7.sh
+/test-wcrtomb-w32-6.sh
+/test-wcrtomb-w32-7.sh
-- 
2.26.2

Regards,
-- 
Daiki Ueno

reply via email to

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