buildroot/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch
Bernd Kuhls 3e74c1312d package/pkgconf: variable pkgdatadir also needs sysroot prefixing, wayland patch III
Needed when wayland support is enabled in xserver_xorg-server.

This patch fixes the final build error:

Making all in xwayland
make[3]: Entering directory '/home/buildroot/br5/output/build/xserver_xorg-server-1.19.0/hw/xwayland'
make[3]: *** No rule to make target '/usr/share/wayland-protocols/unstable/relative-pointer/relative-pointer-unstable-v1.xml', needed by 'relative-pointer-unstable-v1-client-protocol.h'.  Stop.

when trying to build
http://autobuild.buildroot.net/results/cf0/cf026e9b18e86b9890341612050f4d166a7b822d/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-29 23:06:33 +01:00

65 lines
2.4 KiB
Diff

From aa6bbc09e68426592faf722630fe92b6ede75bc8 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Mon, 2 Nov 2015 18:38:00 -0300
Subject: [PATCH] Fix all-variables sysroot prefix problem
According to the pkg-config specifications (or rather documentation)
only the -L/-I directory entries should be sysroot-prefixed.
We also need to prefix the mapdir/sdkdir variables since they're used by
xorg and expected that way.
Also allow prefixing for includedir and libdir since in some silly cases
the directories may be requested barebones via pkg-config
--variable=includedir libfool for example.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Added pkgdatadir to the list of to-be-prefixed variables.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
main.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/main.c b/main.c
index 6947126..ce5e18f 100644
--- a/main.c
+++ b/main.c
@@ -313,9 +313,13 @@ print_variable(pkg_t *pkg, void *data, unsigned int flags)
memset(req->buf, 0, sizeof(req->buf));
if (*var == '/' && (flags & PKGF_MUNGE_SYSROOT_PREFIX) &&
- (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))))
- strlcat(req->buf, sysroot_dir, sizeof(req->buf));
-
+ (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))) &&
+ (!strcmp(req->variable, "includedir") || \
+ !strcmp(req->variable, "libdir") || \
+ !strcmp(req->variable, "mapdir") || \
+ !strcmp(req->variable, "pkgdatadir") || \
+ !strcmp(req->variable, "sdkdir")))
+ strlcat(req->buf, sysroot_dir, sizeof(req->buf));
strlcat(req->buf, var, sizeof(req->buf));
return;
}
@@ -323,8 +327,13 @@ print_variable(pkg_t *pkg, void *data, unsigned int flags)
strlcat(req->buf, " ", sizeof(req->buf));
if (*var == '/' && (flags & PKGF_MUNGE_SYSROOT_PREFIX) &&
- (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))))
- strlcat(req->buf, sysroot_dir, sizeof(req->buf));
+ (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))) &&
+ (!strcmp(req->variable, "includedir") || \
+ !strcmp(req->variable, "libdir") || \
+ !strcmp(req->variable, "mapdir") || \
+ !strcmp(req->variable, "pkgdatadir") || \
+ !strcmp(req->variable, "sdkdir")))
+ strlcat(req->buf, sysroot_dir, sizeof(req->buf));
strlcat(req->buf, var, sizeof(req->buf));
}
--
2.4.10