aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pkgconf/pkgconf/0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/pkgconf/pkgconf/0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch')
-rw-r--r--meta/recipes-devtools/pkgconf/pkgconf/0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch224
1 files changed, 224 insertions, 0 deletions
diff --git a/meta/recipes-devtools/pkgconf/pkgconf/0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch b/meta/recipes-devtools/pkgconf/pkgconf/0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch
new file mode 100644
index 0000000000..3805ad3ebd
--- /dev/null
+++ b/meta/recipes-devtools/pkgconf/pkgconf/0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch
@@ -0,0 +1,224 @@
+From 4d7b4d7c8e9966c593f472355607204c6c80fecb Mon Sep 17 00:00:00 2001
+From: Dan Kegel <dank@kegel.com>
+Date: Sun, 4 Jun 2017 19:19:55 -0700
+Subject: [PATCH] Minimal tweaks to compile with Visual C 2015
+
+Upstream-Status: Backport
+
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ getopt_long.c | 2 ++
+ libpkgconf/bsdstubs.c | 1 +
+ libpkgconf/libpkgconf.h | 2 +-
+ libpkgconf/path.c | 10 +++++-----
+ libpkgconf/pkg.c | 28 +++++++++++++++++++---------
+ libpkgconf/stdinc.h | 9 +++++++--
+ 6 files changed, 35 insertions(+), 17 deletions(-)
+
+diff --git a/getopt_long.c b/getopt_long.c
+index afeb68d..5ce9bfd 100644
+--- a/getopt_long.c
++++ b/getopt_long.c
+@@ -62,7 +62,9 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifndef _WIN32
+ #include <unistd.h>
++#endif
+
+ #define PKGCONF_HACK_LOGICAL_OR_ALL_VALUES
+
+diff --git a/libpkgconf/bsdstubs.c b/libpkgconf/bsdstubs.c
+index 8f70ff3..2c000ac 100644
+--- a/libpkgconf/bsdstubs.c
++++ b/libpkgconf/bsdstubs.c
+@@ -17,6 +17,7 @@
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <string.h>
+
+diff --git a/libpkgconf/libpkgconf.h b/libpkgconf/libpkgconf.h
+index 404bf0c..551d85d 100644
+--- a/libpkgconf/libpkgconf.h
++++ b/libpkgconf/libpkgconf.h
+@@ -310,7 +310,7 @@ void pkgconf_audit_log_dependency(pkgconf_client_t *client, const pkgconf_pkg_t
+ /* path.c */
+ void pkgconf_path_add(const char *text, pkgconf_list_t *dirlist, bool filter);
+ size_t pkgconf_path_split(const char *text, pkgconf_list_t *dirlist, bool filter);
+-size_t pkgconf_path_build_from_environ(const char *environ, const char *fallback, pkgconf_list_t *dirlist, bool filter);
++size_t pkgconf_path_build_from_environ(const char *envvarname, const char *fallback, pkgconf_list_t *dirlist, bool filter);
+ bool pkgconf_path_match_list(const char *path, const pkgconf_list_t *dirlist);
+ void pkgconf_path_free(pkgconf_list_t *dirlist);
+ bool pkgconf_path_relocate(char *buf, size_t buflen);
+diff --git a/libpkgconf/path.c b/libpkgconf/path.c
+index dddb3bf..59e003e 100644
+--- a/libpkgconf/path.c
++++ b/libpkgconf/path.c
+@@ -20,7 +20,7 @@
+ # include <sys/cygwin.h>
+ #endif
+
+-#ifdef HAVE_SYS_STAT_H
++#if defined(HAVE_SYS_STAT_H) && ! defined(_WIN32)
+ # include <sys/stat.h>
+ # define PKGCONF_CACHE_INODES
+ #endif
+@@ -156,12 +156,12 @@ pkgconf_path_split(const char *text, pkgconf_list_t *dirlist, bool filter)
+ /*
+ * !doc
+ *
+- * .. c:function:: size_t pkgconf_path_build_from_environ(const char *environ, const char *fallback, pkgconf_list_t *dirlist)
++ * .. c:function:: size_t pkgconf_path_build_from_environ(const char *envvarname, const char *fallback, pkgconf_list_t *dirlist)
+ *
+ * Adds the paths specified in an environment variable to a path list. If the environment variable is not set,
+ * an optional default set of paths is added.
+ *
+- * :param char* environ: The environment variable to look up.
++ * :param char* envvarname: The environment variable to look up.
+ * :param char* fallback: The fallback paths to use if the environment variable is not set.
+ * :param pkgconf_list_t* dirlist: The path list to add the path nodes to.
+ * :param bool filter: Whether to perform duplicate filtering.
+@@ -169,11 +169,11 @@ pkgconf_path_split(const char *text, pkgconf_list_t *dirlist, bool filter)
+ * :rtype: size_t
+ */
+ size_t
+-pkgconf_path_build_from_environ(const char *environ, const char *fallback, pkgconf_list_t *dirlist, bool filter)
++pkgconf_path_build_from_environ(const char *envvarname, const char *fallback, pkgconf_list_t *dirlist, bool filter)
+ {
+ const char *data;
+
+- data = getenv(environ);
++ data = getenv(envvarname);
+ if (data != NULL)
+ return pkgconf_path_split(data, dirlist, filter);
+
+diff --git a/libpkgconf/pkg.c b/libpkgconf/pkg.c
+index 7aebd61..5dacae3 100644
+--- a/libpkgconf/pkg.c
++++ b/libpkgconf/pkg.c
+@@ -30,6 +30,8 @@
+ # define PKG_CONFIG_REG_KEY "Software\\pkgconfig\\PKG_CONFIG_PATH"
+ # undef PKG_DEFAULT_PATH
+ # define PKG_DEFAULT_PATH "../lib/pkgconfig;../share/pkgconfig"
++#define strncasecmp _strnicmp
++#define strcasecmp _stricmp
+ #endif
+
+ #define PKG_CONFIG_EXT ".pc"
+@@ -134,21 +136,21 @@ static int pkgconf_pkg_parser_keyword_pair_cmp(const void *key, const void *ptr)
+ static void
+ pkgconf_pkg_parser_tuple_func(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, const ptrdiff_t offset, char *value)
+ {
+- char **dest = ((void *) pkg + offset);
++ char **dest = (char **)((char *) pkg + offset);
+ *dest = pkgconf_tuple_parse(client, &pkg->vars, value);
+ }
+
+ static void
+ pkgconf_pkg_parser_fragment_func(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, const ptrdiff_t offset, char *value)
+ {
+- pkgconf_list_t *dest = ((void *) pkg + offset);
++ pkgconf_list_t *dest = (pkgconf_list_t *)((char *) pkg + offset);
+ pkgconf_fragment_parse(client, dest, &pkg->vars, value);
+ }
+
+ static void
+ pkgconf_pkg_parser_dependency_func(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, const ptrdiff_t offset, char *value)
+ {
+- pkgconf_list_t *dest = ((void *) pkg + offset);
++ pkgconf_list_t *dest = (pkgconf_list_t *)((char *) pkg + offset);
+ pkgconf_dependency_parse(client, pkg, dest, value);
+ }
+
+@@ -238,7 +240,7 @@ pkgconf_pkg_validate(const pkgconf_client_t *client, const pkgconf_pkg_t *pkg)
+
+ for (i = 0; i < PKGCONF_ARRAY_SIZE(pkgconf_pkg_validations); i++)
+ {
+- char **p = ((void *) pkg + pkgconf_pkg_validations[i].offset);
++ char **p = (char **)((char *) pkg + pkgconf_pkg_validations[i].offset);
+
+ if (*p != NULL)
+ continue;
+@@ -587,7 +589,7 @@ pkgconf_scan_all(pkgconf_client_t *client, void *data, pkgconf_pkg_iteration_fun
+
+ #ifdef _WIN32
+ static pkgconf_pkg_t *
+-pkgconf_pkg_find_in_registry_key(const pkgconf_client_t *client, HKEY hkey, const char *name)
++pkgconf_pkg_find_in_registry_key(pkgconf_client_t *client, HKEY hkey, const char *name)
+ {
+ pkgconf_pkg_t *pkg = NULL;
+
+@@ -1048,8 +1050,12 @@ typedef struct {
+
+ static const pkgconf_pkg_provides_vermatch_rule_t pkgconf_pkg_provides_vermatch_rules[] = {
+ [PKGCONF_CMP_ANY] = {
+- .rulecmp = {},
+- .depcmp = {},
++ .rulecmp = {
++ [PKGCONF_CMP_ANY] = pkgconf_pkg_comparator_none,
++ },
++ .depcmp = {
++ [PKGCONF_CMP_ANY] = pkgconf_pkg_comparator_none,
++ },
+ },
+ [PKGCONF_CMP_LESS_THAN] = {
+ .rulecmp = {
+@@ -1121,7 +1127,9 @@ static const pkgconf_pkg_provides_vermatch_rule_t pkgconf_pkg_provides_vermatch_
+ [PKGCONF_CMP_EQUAL] = pkgconf_pkg_comparator_eq,
+ [PKGCONF_CMP_NOT_EQUAL] = pkgconf_pkg_comparator_ne
+ },
+- .depcmp = {},
++ .depcmp = {
++ [PKGCONF_CMP_ANY] = pkgconf_pkg_comparator_none,
++ },
+ },
+ [PKGCONF_CMP_NOT_EQUAL] = {
+ .rulecmp = {
+@@ -1133,7 +1141,9 @@ static const pkgconf_pkg_provides_vermatch_rule_t pkgconf_pkg_provides_vermatch_
+ [PKGCONF_CMP_EQUAL] = pkgconf_pkg_comparator_ne,
+ [PKGCONF_CMP_NOT_EQUAL] = pkgconf_pkg_comparator_eq
+ },
+- .depcmp = {},
++ .depcmp = {
++ [PKGCONF_CMP_ANY] = pkgconf_pkg_comparator_none,
++ },
+ },
+ };
+
+diff --git a/libpkgconf/stdinc.h b/libpkgconf/stdinc.h
+index 58cc6c7..ac7e53c 100644
+--- a/libpkgconf/stdinc.h
++++ b/libpkgconf/stdinc.h
+@@ -24,9 +24,7 @@
+ #include <stdbool.h>
+ #include <stdarg.h>
+ #include <string.h>
+-#include <dirent.h>
+ #include <sys/types.h>
+-#include <unistd.h>
+ #include <stdint.h>
+
+ #ifdef _WIN32
+@@ -34,8 +32,15 @@
+ # include <windows.h>
+ # include <malloc.h>
+ # define PATH_DEV_NULL "nul"
++# ifndef ssize_t
++# include <BaseTsd.h>
++# define ssize_t SSIZE_T
++# endif
++# include "win-dirent.h"
+ #else
+ # define PATH_DEV_NULL "/dev/null"
++# include <dirent.h>
++# include <unistd.h>
+ #endif
+
+ #endif
+--
+2.4.0
+