Patchwork remove cross prefix from pkg-config command

login
register
mail settings
Submitter Stuart Yoder
Date Aug. 2, 2011, 8:21 p.m.
Message ID <1312316473-22591-1-git-send-email-stuart.yoder@freescale.com>
Download mbox | patch
Permalink /patch/107996/
State New
Headers show

Comments

Stuart Yoder - Aug. 2, 2011, 8:21 p.m.
From: Stuart Yoder <stuart.yoder@freescale.com>

the host pkg-config tool should be used with the location to
pkg-config *.pc files being specified via the PKG_CONFIG_PATH

Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
---

 The Freescale cross build environment is multilib which
 means there are special library paths for different
 cpu types.  pkg-config installed along with the 
 other cross tools does not work...it has no clue how
 to find the right libraries.   So using cross-prefix
 does no good.  Only thing I can get to work is 
 explicitly setting PKG_CONFIG_PATH before running
 configure.

 Not sure how other cross build envionments work, but
 it seems like the above method should be sufficiently
 general.

 configure |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Stefan Weil - Aug. 2, 2011, 9:01 p.m.
Am 02.08.2011 22:21, schrieb Stuart yoder:
> From: Stuart Yoder <stuart.yoder@freescale.com>
>
> the host pkg-config tool should be used with the location to
> pkg-config *.pc files being specified via the PKG_CONFIG_PATH
>
> Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
> ---
>
> The Freescale cross build environment is multilib which
> means there are special library paths for different
> cpu types. pkg-config installed along with the
> other cross tools does not work...it has no clue how
> to find the right libraries. So using cross-prefix
> does no good. Only thing I can get to work is
> explicitly setting PKG_CONFIG_PATH before running
> configure.
>
> Not sure how other cross build envionments work, but
> it seems like the above method should be sufficiently
> general.
>
> configure | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)

I run cross builds for arm, mips, powerpc and mingw.
All of them use the cross prefix. When running make,
I neither want to specify a special PATH nor a
PKG_CONFIG_PATH. All I need is something like
"make -C bin/arm" (each cross target has its own
directory with the binaries).

The general idea of your patch is ok, but maybe you
can modify it so the cross prefix is used if there
is no PKG_CONFIG_PATH set?

Regards,
Stefan Weil
Paolo Bonzini - Aug. 3, 2011, 6:41 a.m.
On 08/02/2011 11:01 PM, Stefan Weil wrote:
>
> I run cross builds for arm, mips, powerpc and mingw.
> All of them use the cross prefix. When running make,
> I neither want to specify a special PATH nor a
> PKG_CONFIG_PATH. All I need is something like
> "make -C bin/arm" (each cross target has its own
> directory with the binaries).
>
> The general idea of your patch is ok, but maybe you
> can modify it so the cross prefix is used if there
> is no PKG_CONFIG_PATH set?

No, the PKG_CONFIG_PATH can be used by the user to add paths in his home 
directory.

The right fix is to do something like

-pkg_config="${cross_prefix}${PKG_CONFIG-pkg-config}"
+pkg_config=${PKG_CONFIG-"${cross_prefix}pkg-config"}

and likewise for all other tools.  Then Stuart can use 
pkg_config=pkg-config.  Stuart, can you do that?

Paolo
Yoder Stuart-B08248 - Aug. 3, 2011, 2:03 p.m.
> -----Original Message-----
> From: Paolo Bonzini [mailto:paolo.bonzini@gmail.com] On Behalf Of Paolo Bonzini
> Sent: Wednesday, August 03, 2011 1:41 AM
> To: Stefan Weil
> Cc: Yoder Stuart-B08248; qemu-devel@nongnu.org
> Subject: Re: [PATCH] remove cross prefix from pkg-config command
> 
> On 08/02/2011 11:01 PM, Stefan Weil wrote:
> >
> > I run cross builds for arm, mips, powerpc and mingw.
> > All of them use the cross prefix. When running make, I neither want to
> > specify a special PATH nor a PKG_CONFIG_PATH. All I need is something
> > like "make -C bin/arm" (each cross target has its own directory with
> > the binaries).
> >
> > The general idea of your patch is ok, but maybe you can modify it so
> > the cross prefix is used if there is no PKG_CONFIG_PATH set?
> 
> No, the PKG_CONFIG_PATH can be used by the user to add paths in his home directory.
> 
> The right fix is to do something like
> 
> -pkg_config="${cross_prefix}${PKG_CONFIG-pkg-config}"
> +pkg_config=${PKG_CONFIG-"${cross_prefix}pkg-config"}
> 
> and likewise for all other tools.  Then Stuart can use pkg_config=pkg-config.  Stuart, can you
> do that?

That works...will re-submit.

Stuart

Patch

diff --git a/configure b/configure
index 38e3724..59f6e09 100755
--- a/configure
+++ b/configure
@@ -223,7 +223,7 @@  objcopy="${cross_prefix}${OBJCOPY-objcopy}"
 ld="${cross_prefix}${LD-ld}"
 strip="${cross_prefix}${STRIP-strip}"
 windres="${cross_prefix}${WINDRES-windres}"
-pkg_config="${cross_prefix}${PKG_CONFIG-pkg-config}"
+pkg_config="${PKG_CONFIG-pkg-config}"
 sdl_config="${cross_prefix}${SDL_CONFIG-sdl-config}"
 
 # default flags for all hosts