From: Peter Korsgaard Date: Fri, 17 Apr 2009 15:55:16 +0000 (-0000) Subject: pkg-config: fix target package X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=23795ec71f546c4d89b911f67d539393d92059ce;p=buildroot.git pkg-config: fix target package As reported by Sven Neumann on the list. --- diff --git a/package/Config.in b/package/Config.in index 004894bcd5..4189af009d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -43,7 +43,7 @@ source "package/libtool/Config.in" source "package/m4/Config.in" source "package/mpatrol/Config.in" source "package/oprofile/Config.in" -source "package/pkgconfig/Config.in" +source "package/pkg-config/Config.in" source "package/readline/Config.in" source "package/valgrind/Config.in" source "package/pcre/Config.in" diff --git a/package/pkg-config/Config.in b/package/pkg-config/Config.in new file mode 100644 index 0000000000..8ec8055272 --- /dev/null +++ b/package/pkg-config/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PKG_CONFIG + bool "pkg-config" + select BR2_PACKAGE_LIBGLIB2 + help + pkg-config is a system for managing library compile/link + flags that works with automake and autoconf. It replaces + the ubiquitous *-config scripts you may have seen with a + single tool. + + http://www.freedesktop.org/software/pkgconfig/ diff --git a/package/pkg-config/pkg-config-0.23-fix-sysroot.patch b/package/pkg-config/pkg-config-0.23-fix-sysroot.patch new file mode 100644 index 0000000000..36538112b2 --- /dev/null +++ b/package/pkg-config/pkg-config-0.23-fix-sysroot.patch @@ -0,0 +1,34 @@ +[PATCH] fix PKG_CONFIG_SYSROOT_DIR handling + +With PKG_CONFIG_SYSROOT_DIR enabled, everything else than -L and -I words +gets stripped away. + +Signed-off-by: Peter Korsgaard +--- + pkg.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +Index: pkg-config-0.23/pkg.c +=================================================================== +--- pkg-config-0.23.orig/pkg.c ++++ pkg-config-0.23/pkg.c +@@ -472,17 +472,13 @@ + while (tmp != NULL) + { + char *tmpstr = (char*) tmp->data; +- if (pcsysrootdir != NULL) ++ if (pcsysrootdir != NULL && tmpstr[0] == '-' && ++ (tmpstr[1] == 'I' || tmpstr[1] == 'L')) + { +- if (tmpstr[0] == '-' && +- (tmpstr[1] == 'I' || +- tmpstr[1] == 'L')) +- { + g_string_append_c (str, '-'); + g_string_append_c (str, tmpstr[1]); + g_string_append (str, pcsysrootdir); + g_string_append (str, tmpstr+2); +- } + } + else + { diff --git a/package/pkg-config/pkg-config.mk b/package/pkg-config/pkg-config.mk new file mode 100644 index 0000000000..5b88bf9225 --- /dev/null +++ b/package/pkg-config/pkg-config.mk @@ -0,0 +1,65 @@ +############################################################# +# +# pkgconfig +# +############################################################# +PKG_CONFIG_VERSION = 0.23 +PKG_CONFIG_SOURCE = pkg-config-$(PKG_CONFIG_VERSION).tar.gz +PKG_CONFIG_SITE = http://pkgconfig.freedesktop.org/releases/ + +ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff +PKG_CONFIG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install +endif + +PKG_CONFIG_DEPENDENCIES = uclibc libglib2 + +PKG_CONFIG_CONF_OPT = --with-installed-glib + +$(eval $(call AUTOTARGETS,package,pkg-config)) + +# pkg-config for the host +PKG_CONFIG_HOST_DIR:=$(BUILD_DIR)/pkg-config-$(PKG_CONFIG_VERSION)-host +PKG_CONFIG_HOST_BINARY:=$(HOST_DIR)/usr/bin/pkg-config + +$(DL_DIR)/$(PKG_CONFIG_SOURCE): + $(call DOWNLOAD,$(PKG_CONFIG_SITE),$(PKG_CONFIG_SOURCE)) + +$(STAMP_DIR)/host_pkgconfig_unpacked: $(DL_DIR)/$(PKG_CONFIG_SOURCE) + mkdir -p $(PKG_CONFIG_HOST_DIR) + $(INFLATE$(suffix $(PKG_CONFIG_SOURCE))) $< | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(PKG_CONFIG_HOST_DIR) $(TAR_OPTIONS) - + toolchain/patch-kernel.sh $(PKG_CONFIG_HOST_DIR) package/pkg-config/ \*.patch + touch $@ + +$(STAMP_DIR)/host_pkgconfig_configured: $(STAMP_DIR)/host_pkgconfig_unpacked + (cd $(PKG_CONFIG_HOST_DIR); rm -rf config.cache; \ + $(HOST_CONFIGURE_OPTS) \ + CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + ./configure \ + --prefix="$(HOST_DIR)/usr" \ + --sysconfdir="$(HOST_DIR)/etc" \ + --with-pc-path="$(STAGING_DIR)/usr/lib/pkgconfig" \ + --disable-static \ + ) + touch $@ + +$(STAMP_DIR)/host_pkgconfig_compiled: $(STAMP_DIR)/host_pkgconfig_configured + $(MAKE) -C $(PKG_CONFIG_HOST_DIR) + touch $@ + +$(STAMP_DIR)/host_pkgconfig_installed: $(STAMP_DIR)/host_pkgconfig_compiled + $(MAKE) -C $(PKG_CONFIG_HOST_DIR) install + install -D -m 0644 $(HOST_DIR)/usr/share/aclocal/pkg.m4 \ + $(STAGING_DIR)/usr/share/aclocal/pkg.m4 + touch $@ + +host-pkgconfig: $(STAMP_DIR)/host_pkgconfig_installed + +host-pkgconfig-clean: + rm -f $(addprefix $(STAMP_DIR)/host_pkgconfig_,unpacked configured compiled installed) + -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) uninstall + -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) clean + +host-pkgconfig-dirclean: + rm -rf $(PKG_CONFIG_HOST_DIR) diff --git a/package/pkgconfig/Config.in b/package/pkgconfig/Config.in deleted file mode 100644 index 8ec8055272..0000000000 --- a/package/pkgconfig/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PKG_CONFIG - bool "pkg-config" - select BR2_PACKAGE_LIBGLIB2 - help - pkg-config is a system for managing library compile/link - flags that works with automake and autoconf. It replaces - the ubiquitous *-config scripts you may have seen with a - single tool. - - http://www.freedesktop.org/software/pkgconfig/ diff --git a/package/pkgconfig/pkg-config-0.23-fix-sysroot.patch b/package/pkgconfig/pkg-config-0.23-fix-sysroot.patch deleted file mode 100644 index 36538112b2..0000000000 --- a/package/pkgconfig/pkg-config-0.23-fix-sysroot.patch +++ /dev/null @@ -1,34 +0,0 @@ -[PATCH] fix PKG_CONFIG_SYSROOT_DIR handling - -With PKG_CONFIG_SYSROOT_DIR enabled, everything else than -L and -I words -gets stripped away. - -Signed-off-by: Peter Korsgaard ---- - pkg.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -Index: pkg-config-0.23/pkg.c -=================================================================== ---- pkg-config-0.23.orig/pkg.c -+++ pkg-config-0.23/pkg.c -@@ -472,17 +472,13 @@ - while (tmp != NULL) - { - char *tmpstr = (char*) tmp->data; -- if (pcsysrootdir != NULL) -+ if (pcsysrootdir != NULL && tmpstr[0] == '-' && -+ (tmpstr[1] == 'I' || tmpstr[1] == 'L')) - { -- if (tmpstr[0] == '-' && -- (tmpstr[1] == 'I' || -- tmpstr[1] == 'L')) -- { - g_string_append_c (str, '-'); - g_string_append_c (str, tmpstr[1]); - g_string_append (str, pcsysrootdir); - g_string_append (str, tmpstr+2); -- } - } - else - { diff --git a/package/pkgconfig/pkgconfig.mk b/package/pkgconfig/pkgconfig.mk deleted file mode 100644 index 34df017613..0000000000 --- a/package/pkgconfig/pkgconfig.mk +++ /dev/null @@ -1,65 +0,0 @@ -############################################################# -# -# pkgconfig -# -############################################################# -PKG_CONFIG_VERSION = 0.23 -PKG_CONFIG_SOURCE = pkg-config-$(PKG_CONFIG_VERSION).tar.gz -PKG_CONFIG_SITE = http://pkgconfig.freedesktop.org/releases/ - -ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff -PKG_CONFIG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install -endif - -PKG_CONFIG_DEPENDENCIES = uclibc libglib2 - -PKG_CONFIG_CONF_OPT = --with-installed-glib - -$(eval $(call AUTOTARGETS,package,pkgconfig)) - -# pkg-config for the host -PKG_CONFIG_HOST_DIR:=$(BUILD_DIR)/pkg-config-$(PKG_CONFIG_VERSION)-host -PKG_CONFIG_HOST_BINARY:=$(HOST_DIR)/usr/bin/pkg-config - -$(DL_DIR)/$(PKG_CONFIG_SOURCE): - $(call DOWNLOAD,$(PKG_CONFIG_SITE),$(PKG_CONFIG_SOURCE)) - -$(STAMP_DIR)/host_pkgconfig_unpacked: $(DL_DIR)/$(PKG_CONFIG_SOURCE) - mkdir -p $(PKG_CONFIG_HOST_DIR) - $(INFLATE$(suffix $(PKG_CONFIG_SOURCE))) $< | \ - $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(PKG_CONFIG_HOST_DIR) $(TAR_OPTIONS) - - toolchain/patch-kernel.sh $(PKG_CONFIG_HOST_DIR) package/pkgconfig/ \*.patch - touch $@ - -$(STAMP_DIR)/host_pkgconfig_configured: $(STAMP_DIR)/host_pkgconfig_unpacked - (cd $(PKG_CONFIG_HOST_DIR); rm -rf config.cache; \ - $(HOST_CONFIGURE_OPTS) \ - CFLAGS="$(HOST_CFLAGS)" \ - LDFLAGS="$(HOST_LDFLAGS)" \ - ./configure \ - --prefix="$(HOST_DIR)/usr" \ - --sysconfdir="$(HOST_DIR)/etc" \ - --with-pc-path="$(STAGING_DIR)/usr/lib/pkgconfig" \ - --disable-static \ - ) - touch $@ - -$(STAMP_DIR)/host_pkgconfig_compiled: $(STAMP_DIR)/host_pkgconfig_configured - $(MAKE) -C $(PKG_CONFIG_HOST_DIR) - touch $@ - -$(STAMP_DIR)/host_pkgconfig_installed: $(STAMP_DIR)/host_pkgconfig_compiled - $(MAKE) -C $(PKG_CONFIG_HOST_DIR) install - install -D -m 0644 $(HOST_DIR)/usr/share/aclocal/pkg.m4 \ - $(STAGING_DIR)/usr/share/aclocal/pkg.m4 - touch $@ - -host-pkgconfig: $(STAMP_DIR)/host_pkgconfig_installed - -host-pkgconfig-clean: - rm -f $(addprefix $(STAMP_DIR)/host_pkgconfig_,unpacked configured compiled installed) - -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) uninstall - -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) clean - -host-pkgconfig-dirclean: - rm -rf $(PKG_CONFIG_HOST_DIR)