buildrootschalter/package/pkg-config/pkg-config-0.25-add-with-sysroot.patch
Peter Korsgaard 02d605cd55 pkg-config: rework --with-sysroot patch so it doesn't break target build
We don't currently autoreconf pkg-config for the target as we don't need
--with-sysroot support, which means PKG_CONFIG_SYSROOT=NULL wasn't
passed, breaking the build.

Fix it by reworking the patch to only pass this if --with-sysroot is given,
and handle the not set case in main.c.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-30 11:05:50 +01:00

79 lines
2.2 KiB
Diff

[PATCH] Add compiled in default sysroot
Similar to the --with-pc-path option. It works just like the existing
PKG_CONFIG_SYSROOT_DIR environment variable, but compiled in.
The environment variable overrides this default setting if set.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
Makefile.am | 6 +++++-
configure.in | 6 ++++++
main.c | 9 +++++++--
3 files changed, 18 insertions(+), 3 deletions(-)
Index: pkg-config-0.25/Makefile.am
===================================================================
--- pkg-config-0.25.orig/Makefile.am
+++ pkg-config-0.25/Makefile.am
@@ -28,8 +28,12 @@ EXTRA_DIST = $(m4_DATA) $(man_MANS) READ
bin_PROGRAMS = pkg-config
AM_CFLAGS=@WARN_CFLAGS@
+if USE_SYSROOT
+sysroot_includes = -DPKG_CONFIG_SYSROOT="\"$(sysroot)\""
+endif
+
INCLUDES=-DPKG_CONFIG_PC_PATH="\"$(pc_path)\"" $(included_glib_includes) \
- $(popt_includes)
+ $(popt_includes) $(sysroot_includes)
pkg_config_SOURCES= \
pkg.h \
Index: pkg-config-0.25/configure.in
===================================================================
--- pkg-config-0.25.orig/configure.in
+++ pkg-config-0.25/configure.in
@@ -32,6 +32,12 @@ fi
PKG_CONFIG_FIND_PC_PATH
+AC_ARG_WITH(sysroot,
+ [ --with-sysroot Use sysroot <dir> by default ],
+ [ sysroot="$withval" ])
+
+AC_SUBST([sysroot])
+AM_CONDITIONAL(USE_SYSROOT, test "x$sysroot" != "x")
#
# Code taken from gtk+-2.0's configure.in.
#
Index: pkg-config-0.25/main.c
===================================================================
--- pkg-config-0.25.orig/main.c
+++ pkg-config-0.25/main.c
@@ -36,10 +36,14 @@
#undef STRICT
#endif
+#ifndef PKG_CONFIG_SYSROOT
+#define PKG_CONFIG_SYSROOT NULL
+#endif
+
static int want_debug_spew = 0;
static int want_verbose_errors = 0;
static int want_stdout_errors = 0;
-char *pcsysrootdir = NULL;
+char *pcsysrootdir = PKG_CONFIG_SYSROOT;
void
debug_spew (const char *format, ...)
@@ -311,7 +315,8 @@ main (int argc, char **argv)
add_search_dirs(PKG_CONFIG_PC_PATH, G_SEARCHPATH_SEPARATOR_S);
}
- pcsysrootdir = getenv ("PKG_CONFIG_SYSROOT_DIR");
+ if (getenv ("PKG_CONFIG_SYSROOT_DIR"))
+ pcsysrootdir = getenv ("PKG_CONFIG_SYSROOT_DIR");
if (pcsysrootdir)
{
define_global_variable ("pc_sysrootdir", pcsysrootdir);