From 463d6e68a8f42423169e4359cc5c8636f6c92589 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 24 Jul 2020 17:28:11 +0300 Subject: Release version 1.6.3+4 Fix GCC 10 -Wformat warning Canonicalize license in manifest Add glue buildfile Fix typo in .gitattributes --- libpkgconf/libpkgconf/libpkgconf.h | 12 +++++- libpkgconf/libpkgconf/stdinc.h | 80 ++++++++++++++++++++++++++++++++++++- libpkgconf/libpkgconf/stdinc.h.orig | 1 + 3 files changed, 90 insertions(+), 3 deletions(-) mode change 120000 => 100644 libpkgconf/libpkgconf/stdinc.h create mode 120000 libpkgconf/libpkgconf/stdinc.h.orig (limited to 'libpkgconf/libpkgconf') diff --git a/libpkgconf/libpkgconf/libpkgconf.h b/libpkgconf/libpkgconf/libpkgconf.h index 6f4c8b5..a7d9f9d 100644 --- a/libpkgconf/libpkgconf/libpkgconf.h +++ b/libpkgconf/libpkgconf/libpkgconf.h @@ -257,9 +257,17 @@ PKGCONF_API pkgconf_cross_personality_t *pkgconf_cross_personality_find(const ch #define PKGCONF_PKG_ERRF_PACKAGE_CONFLICT 0x4 #define PKGCONF_PKG_ERRF_DEPGRAPH_BREAK 0x8 +/* Note that MinGW's printf() format semantics have changed starting GCC 10 + * (see stdinc.h for details). + */ #if defined(__GNUC__) || defined(__INTEL_COMPILER) -#define PRINTFLIKE(fmtarg, firstvararg) \ - __attribute__((__format__ (__printf__, fmtarg, firstvararg))) +# if defined (_WIN32) && defined(__GNUC__) && __GNUC__ >= 10 +# define PRINTFLIKE(fmtarg, firstvararg) \ + __attribute__((__format__ (gnu_printf, fmtarg, firstvararg))) +# else +# define PRINTFLIKE(fmtarg, firstvararg) \ + __attribute__((__format__ (__printf__, fmtarg, firstvararg))) +#endif #define DEPRECATED \ __attribute__((deprecated)) #else diff --git a/libpkgconf/libpkgconf/stdinc.h b/libpkgconf/libpkgconf/stdinc.h deleted file mode 120000 index a0d601c..0000000 --- a/libpkgconf/libpkgconf/stdinc.h +++ /dev/null @@ -1 +0,0 @@ -../../upstream/libpkgconf/stdinc.h \ No newline at end of file diff --git a/libpkgconf/libpkgconf/stdinc.h b/libpkgconf/libpkgconf/stdinc.h new file mode 100644 index 0000000..361f27e --- /dev/null +++ b/libpkgconf/libpkgconf/stdinc.h @@ -0,0 +1,79 @@ +/* + * stdinc.h + * pull in standard headers (including portability hacks) + * + * Copyright (c) 2012 pkgconf authors (see AUTHORS). + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * This software is provided 'as is' and without any warranty, express or + * implied. In no event shall the authors be liable for any damages arising + * from the use of this software. + */ + +#ifndef LIBPKGCONF_STDINC_H +#define LIBPKGCONF_STDINC_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN +# include +# include +# define PATH_DEV_NULL "nul" + +/* Note that MinGW's printf() format semantics have changed starting GCC 10. + * In particular, GCC 10 complains about MSVC's 'I64' length modifier but now + * accepts the standard (C99) 'z' modifier. + */ +# if defined(__GNUC__) && __GNUC__ >= 10 +# define SIZE_FMT_SPECIFIER "%zu" +# else +# ifdef _WIN64 +# define SIZE_FMT_SPECIFIER "%I64u" +# else +# define SIZE_FMT_SPECIFIER "%u" +# endif +# endif + +# ifndef ssize_t +# ifndef __MINGW32__ +# include +# else +# include +# endif +# define ssize_t SSIZE_T +# endif +# ifndef __MINGW32__ +# include "win-dirent.h" +# else +# include +# endif +# define PKGCONF_ITEM_SIZE (_MAX_PATH + 1024) +#else +# define PATH_DEV_NULL "/dev/null" +# define SIZE_FMT_SPECIFIER "%zu" +# ifdef __HAIKU__ +# include +# endif +# include +# include +# include +# ifdef PATH_MAX +# define PKGCONF_ITEM_SIZE (PATH_MAX + 1024) +# else +# define PKGCONF_ITEM_SIZE (4096 + 1024) +# endif +#endif + +#endif diff --git a/libpkgconf/libpkgconf/stdinc.h.orig b/libpkgconf/libpkgconf/stdinc.h.orig new file mode 120000 index 0000000..a0d601c --- /dev/null +++ b/libpkgconf/libpkgconf/stdinc.h.orig @@ -0,0 +1 @@ +../../upstream/libpkgconf/stdinc.h \ No newline at end of file -- cgit v1.1