mirror of
https://git.yoctoproject.org/poky
synced 2026-03-06 23:39:40 +01:00
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2741 311d38ba-8fff-0310-9ca6-ca027cbcb966
103 lines
3.3 KiB
Diff
103 lines
3.3 KiB
Diff
Add support for PKG_CONFIG_SYSROOT_DIR to pkgconfig
|
|
|
|
---
|
|
main.c | 5 ++++-
|
|
pkg-config.1 | 9 +++++++++
|
|
pkg.c | 14 +++++++++++++-
|
|
pkg.h | 3 +++
|
|
4 files changed, 29 insertions(+), 2 deletions(-)
|
|
|
|
Index: pkg-config-0.22/main.c
|
|
===================================================================
|
|
--- pkg-config-0.22.orig/main.c 2007-09-14 10:20:15.000000000 +0100
|
|
+++ pkg-config-0.22/main.c 2007-09-14 10:22:41.000000000 +0100
|
|
@@ -46,6 +46,8 @@
|
|
static int want_debug_spew = 0;
|
|
static int want_verbose_errors = 0;
|
|
static int want_stdout_errors = 0;
|
|
+char *pcsysrootdir = NULL;
|
|
+
|
|
|
|
void
|
|
debug_spew (const char *format, ...)
|
|
@@ -196,7 +198,7 @@ main (int argc, char **argv)
|
|
GString *str;
|
|
GSList *packages = NULL;
|
|
char *search_path;
|
|
- char *pcbuilddir;
|
|
+ char *pcbuilddir;
|
|
const char *pkglibdir;
|
|
char **search_dirs;
|
|
char **iter;
|
|
@@ -345,6 +347,7 @@ main (int argc, char **argv)
|
|
}
|
|
}
|
|
#endif
|
|
+ pcsysrootdir = getenv ("PKG_CONFIG_SYSROOT_DIR");
|
|
|
|
pcbuilddir = getenv ("PKG_CONFIG_TOP_BUILD_DIR");
|
|
if (pcbuilddir)
|
|
Index: pkg-config-0.22/pkg.c
|
|
===================================================================
|
|
--- pkg-config-0.22.orig/pkg.c 2007-09-14 10:20:15.000000000 +0100
|
|
+++ pkg-config-0.22/pkg.c 2007-09-14 10:22:41.000000000 +0100
|
|
@@ -479,11 +479,23 @@ string_list_to_string (GSList *list)
|
|
GSList *tmp;
|
|
GString *str = g_string_new ("");
|
|
char *retval;
|
|
+ int offset=0;
|
|
|
|
tmp = list;
|
|
while (tmp != NULL)
|
|
{
|
|
- g_string_append (str, tmp->data);
|
|
+ if (pcsysrootdir != NULL)
|
|
+ {
|
|
+ if (!strncmp(tmp->data,"-I",2) ||
|
|
+ !strncmp(tmp->data,"-L",2))
|
|
+ {
|
|
+ offset=2;
|
|
+ g_string_append_c (str,((char*)tmp->data)[0]);
|
|
+ g_string_append_c (str,((char*)tmp->data)[1]);
|
|
+ g_string_append (str,pcsysrootdir);
|
|
+ }
|
|
+ }
|
|
+ g_string_append (str, tmp->data+offset);
|
|
g_string_append_c (str, ' ');
|
|
|
|
tmp = g_slist_next (tmp);
|
|
Index: pkg-config-0.22/pkg-config.1
|
|
===================================================================
|
|
--- pkg-config-0.22.orig/pkg-config.1 2007-09-14 10:20:15.000000000 +0100
|
|
+++ pkg-config-0.22/pkg-config.1 2007-09-14 10:23:08.000000000 +0100
|
|
@@ -260,6 +260,15 @@ Don't strip -I/usr/include out of cflags
|
|
Don't strip -L/usr/lib out of libs
|
|
|
|
.TP
|
|
+.I "PKG_CONFIG_SYSROOT_DIR"
|
|
+Modify -I and -L to use the directories located in target sysroot.
|
|
+this option is usefull when crosscompiling package that use pkg-config
|
|
+to determine CFLAGS anf LDFLAGS. -I and -L are modified to point to
|
|
+the new system root. this means that a -I/usr/include/libfoo will
|
|
+become -I/var/target/usr/include/libfoo with a PKG_CONFIG_SYSROOT_DIR
|
|
+equal to /var/target (same rule apply to -L)
|
|
+
|
|
+.TP
|
|
.I "PKG_CONFIG_LIBDIR"
|
|
Replaces the default \fIpkg-config\fP search directory.
|
|
|
|
Index: pkg-config-0.22/pkg.h
|
|
===================================================================
|
|
--- pkg-config-0.22.orig/pkg.h 2007-09-14 10:20:15.000000000 +0100
|
|
+++ pkg-config-0.22/pkg.h 2007-09-14 10:22:41.000000000 +0100
|
|
@@ -123,6 +123,9 @@ void disable_private_libs(void);
|
|
/* If TRUE, do not automatically prefer uninstalled versions */
|
|
extern gboolean disable_uninstalled;
|
|
|
|
+/* string that contain environment */
|
|
+extern char* pcsysrootdir;
|
|
+
|
|
#ifdef G_OS_WIN32
|
|
/* If TRUE, do not automatically define "prefix" while
|
|
* parsing each .pc file */
|